diff options
author | Jeff Brown <jeffbrown@google.com> | 2012-09-30 18:58:59 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2012-10-01 14:27:34 -0700 |
commit | 1e3b98d47df596d0c4eadbdf60143709f8465b28 (patch) | |
tree | ed63fa39f6d2db3b3a3fd9caf61174129198c6cc /services/java/com/android/server/wm/WindowManagerService.java | |
parent | 1f7a09b5df9f859781d9cfa0053fad44c72c2168 (diff) | |
download | frameworks_base-1e3b98d47df596d0c4eadbdf60143709f8465b28.zip frameworks_base-1e3b98d47df596d0c4eadbdf60143709f8465b28.tar.gz frameworks_base-1e3b98d47df596d0c4eadbdf60143709f8465b28.tar.bz2 |
New internal API to eliminate poke locks.
Added a new WindowManager.LayoutParams inputFeatures flag
to disable automatic user activity behavior when an input
event is sent to a window.
Added a new WindowManager.LayoutParams field userActivityTimeout.
Bug: 7165399
Change-Id: I204eafa37ef26aacc2c52a1ba1ecce1eebb0e0d9
Diffstat (limited to 'services/java/com/android/server/wm/WindowManagerService.java')
-rwxr-xr-x | services/java/com/android/server/wm/WindowManagerService.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index d530f47..3f7b67b 100755 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -598,6 +598,7 @@ public class WindowManagerService extends IWindowManager.Stub private boolean mSyswin = false; private float mScreenBrightness = -1; private float mButtonBrightness = -1; + private long mUserActivityTimeout = -1; private boolean mUpdateRotation = false; private static final int DISPLAY_CONTENT_UNKNOWN = 0; @@ -8775,6 +8776,11 @@ public class WindowManagerService extends IWindowManager.Stub && mInnerFields.mButtonBrightness < 0) { mInnerFields.mButtonBrightness = w.mAttrs.buttonBrightness; } + if (!mInnerFields.mSyswin && w.mAttrs.userActivityTimeout >= 0 + && mInnerFields.mUserActivityTimeout < 0) { + mInnerFields.mUserActivityTimeout = w.mAttrs.userActivityTimeout; + } + final int type = attrs.type; if (canBeSeen && (type == TYPE_SYSTEM_DIALOG @@ -8874,7 +8880,9 @@ public class WindowManagerService extends IWindowManager.Stub mInnerFields.mHoldScreen = null; mInnerFields.mScreenBrightness = -1; mInnerFields.mButtonBrightness = -1; + mInnerFields.mUserActivityTimeout = -1; mInnerFields.mDisplayHasContent = LayoutFields.DISPLAY_CONTENT_UNKNOWN; + mTransactionSequence++; final DisplayContent defaultDisplay = getDefaultDisplayContentLocked(); @@ -9349,6 +9357,8 @@ public class WindowManagerService extends IWindowManager.Stub mPowerManager.setButtonBrightnessOverrideFromWindowManager( toBrightnessOverride(mInnerFields.mButtonBrightness)); } + mPowerManager.setUserActivityTimeoutOverrideFromWindowManager( + mInnerFields.mUserActivityTimeout); } if (mTurnOnScreen) { |