tree 75c3a591ea3156261582f6e80dcd0a21dadbb15e
parent 3198b9b632410e8793fa97c6458ac227f3c71824
author Brandon McAnsh <brandon.mcansh@gmail.com> 1437766845 -0400
committer Jan Altensen <info@stricted.net> 1584712592 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEWJOEktXbErT7RbKKPkW7lfetM9oFAl50y5AACgkQPkW7lfet
 M9pxLw//S6zFlLRfkhJdw5J0Nhh4XnihJdaIBbTocRM+MYmFZS5/9iVXtIj/HTSR
 yc5P6JDg/ouAVuhKjcPDvjbiE6RIcts8AEJteX0QS5hVJSLEag+83FP72+jRU+tS
 quiF9WwSg0kkNkeXW4oKeha+YPMfUkTJcbUMmcs37x4GVkEAaESYxemaexljuoF3
 CM/zPGOBe760BCZFWF89oxwUMUprnpYQndx6KQkIuAwZdQKvHdd8LN1qagNlSO0m
 jff7PTsV4Fxv9KPs2FjiaQAeQS2eFbQycJynFE8ZlET7CAR65pK9Ne6RRoHIzTNM
 NtpswJpZnxkP4/Gl4fTwhuGfStMIa0sfZ5ziAO342X/UCFYePZmI9TFcVOxBRWAF
 kcbctvL1bnq+7AjB7FHup26n7m0BvZUKb9fwofxwK8bsCGImjQRaV6v90r8hmrvU
 E3LOp6Qz81hcMpJA5s3b2Lfz7ywrwSHlUNkm47cfPxC58SYM6vDuSJVrU8H+KEza
 PyTEBRVt7aFTLou2i2483EheWpsFrsB/EfiMnEepR/Dx64J/FqETtvok4APq4uH8
 iQQA4gWcTW+mGoDbO5qb4XKVWYe7tsSPjSMnXt+ajiFOa8VRSCqW8xGzeSYE9kib
 djW0wzs8K0pkeu0Bj7Ju+1OSDP88J/cM4NCP037Ighb6X7m2x3U=
 =MiaC
 -----END PGP SIGNATURE-----

samsung: doze: Prevent a pm wakeup with a timestamp in the future

Prevents:

java.lang.IllegalArgumentException: event time must not be in the future
at android.os.Parcel.readException(Parcel.java:1550)
        at android.os.Parcel.readException(Parcel.java:1499)
        at android.os.IPowerManager$Stub$Proxy.wakeUp(IPowerManager.java:550)
        at android.os.PowerManager.wakeUp(PowerManager.java:666)
        at com.cyanogenmod.settings.device.SamsungDozeService$SamsungProximitySensor.shouldPulse(SamsungDozeService.java:95)
        at com.cyanogenmod.settings.device.SamsungDozeService$SamsungProximitySensor.onSensorChanged(SamsungDozeService.java:75)
        at android.hardware.SystemSensorManager$SensorEventQueue.dispatchSensorEvent(SystemSensorManager.java:405)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:143)
        at android.os.Looper.loop(Looper.java:122)
        at android.app.ActivityThread.main(ActivityThread.java:5289)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)

Change-Id: I8ed248271d67216e531b124bf27101fa538f1195
Signed-off-by: Brandon McAnsh <brandon.mcansh@gmail.com>
