summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorMichael Chan <mchan@android.com>2009-05-18 11:24:50 -0700
committerMichael Chan <mchan@android.com>2009-05-19 09:51:33 -0700
commite10de97205449ddeaaeb8f2922909c1f4cc62b86 (patch)
tree928c492f39ce0998bf00595dbf9e2a25865a71ba /services
parent72f3aa3762c630e5e4afd731f51e62c821c69c09 (diff)
downloadframeworks_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.java18
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;