diff options
author | Brandon McAnsh <brandon.mcansh@gmail.com> | 2015-07-24 15:40:45 -0400 |
---|---|---|
committer | Jan Altensen <info@stricted.net> | 2020-03-20 14:56:32 +0100 |
commit | 73c756d2b4c91b67895c2a11d658a8bf4a0bf25f (patch) | |
tree | 75c3a591ea3156261582f6e80dcd0a21dadbb15e | |
parent | 3198b9b632410e8793fa97c6458ac227f3c71824 (diff) | |
download | android_hardware_samsung-73c756d2b4c91b67895c2a11d658a8bf4a0bf25f.tar.gz android_hardware_samsung-73c756d2b4c91b67895c2a11d658a8bf4a0bf25f.tar.bz2 android_hardware_samsung-73c756d2b4c91b67895c2a11d658a8bf4a0bf25f.zip |
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>
-rw-r--r-- | doze/src/com/cyanogenmod/settings/device/SamsungDozeService.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/doze/src/com/cyanogenmod/settings/device/SamsungDozeService.java b/doze/src/com/cyanogenmod/settings/device/SamsungDozeService.java index 424fbce..f8a175e 100644 --- a/doze/src/com/cyanogenmod/settings/device/SamsungDozeService.java +++ b/doze/src/com/cyanogenmod/settings/device/SamsungDozeService.java @@ -32,6 +32,7 @@ import android.preference.PreferenceManager; import android.provider.Settings; import android.util.Log; +import java.lang.System; import java.util.ArrayList; import java.util.concurrent.TimeUnit; import java.util.List; @@ -87,6 +88,11 @@ public class SamsungDozeService extends Service { } private boolean shouldPulse(long timestamp) { + // Never pulse if the timestamp is from the future + if (timestamp > System.nanoTime()) { + return false; + } + long delta = timestamp - mInPocketTime; if (mHandwaveGestureEnabled && mPocketGestureEnabled) { |