diff options
author | Michael Chan <mchan@android.com> | 2009-05-18 11:24:50 -0700 |
---|---|---|
committer | Michael Chan <mchan@android.com> | 2009-05-19 09:51:33 -0700 |
commit | e10de97205449ddeaaeb8f2922909c1f4cc62b86 (patch) | |
tree | 928c492f39ce0998bf00595dbf9e2a25865a71ba /services | |
parent | 72f3aa3762c630e5e4afd731f51e62c821c69c09 (diff) | |
download | frameworks_base-e10de97205449ddeaaeb8f2922909c1f4cc62b86.zip frameworks_base-e10de97205449ddeaaeb8f2922909c1f4cc62b86.tar.gz frameworks_base-e10de97205449ddeaaeb8f2922909c1f4cc62b86.tar.bz2 |
Throttle one last user activity call to 1/sec that was missed last time
modified: services/java/com/android/server/WindowManagerService.java
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/WindowManagerService.java | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java index 1a0d00b..4561e1a 100644 --- a/services/java/com/android/server/WindowManagerService.java +++ b/services/java/com/android/server/WindowManagerService.java @@ -3721,7 +3721,7 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo private final void wakeupIfNeeded(WindowState targetWin, int eventType) { long curTime = SystemClock.uptimeMillis(); - if (eventType == LONG_TOUCH_EVENT || eventType == CHEEK_EVENT) { + if (eventType == TOUCH_EVENT || eventType == LONG_TOUCH_EVENT || eventType == CHEEK_EVENT) { if (mLastTouchEventType == eventType && (curTime - mLastUserActivityCallTime) < MIN_TIME_BETWEEN_USERACTIVITIES) { return; @@ -5194,7 +5194,21 @@ public class WindowManagerService extends IWindowManager.Stub implements Watchdo } catch (RemoteException e) { // Ignore } - mPowerManager.userActivity(curTime, false, eventType, false); + + if (eventType != TOUCH_EVENT + && eventType != LONG_TOUCH_EVENT + && eventType != CHEEK_EVENT) { + mPowerManager.userActivity(curTime, false, + eventType, false); + } else if (mLastTouchEventType != eventType + || (curTime - mLastUserActivityCallTime) + >= MIN_TIME_BETWEEN_USERACTIVITIES) { + mLastUserActivityCallTime = curTime; + mLastTouchEventType = eventType; + mPowerManager.userActivity(curTime, false, + eventType, false); + } + switch (ev.classType) { case RawInputEvent.CLASS_KEYBOARD: KeyEvent ke = (KeyEvent)ev.event; |