diff options
author | tiger_huang <tiger_huang@htc.com> | 2014-10-23 20:24:19 +0800 |
---|---|---|
committer | Tiger Huang <tiger_huang@htc.com> | 2014-11-19 11:53:39 +0000 |
commit | c58d756f877b6b63da28be67ac9d9d451721ec72 (patch) | |
tree | 09ba206fc9042d59693efb249bbf94079389669f /policy/src | |
parent | 2bf3800b10e1cc9a291527fc83efc986ba83aa37 (diff) | |
download | frameworks_base-c58d756f877b6b63da28be67ac9d9d451721ec72.zip frameworks_base-c58d756f877b6b63da28be67ac9d9d451721ec72.tar.gz frameworks_base-c58d756f877b6b63da28be67ac9d9d451721ec72.tar.bz2 |
Prevent wrong system ui visibility callback after the user swipe
If we return vis without clearing clearable flags, it will be set to
IStatusBarService in updateSystemUiVisibilityLw(), and then be
callbacked to WMS via statusBarVisibilityChanged(), and then be
dispatched to the client; which is wrong because WMS should dispatch
the new value to the client, not the old one.
https://code.google.com/p/android/issues/detail?id=79991
Change-Id: I2a06d1fbe66e854e639d86a39784f8c6a3303674
Diffstat (limited to 'policy/src')
-rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 07f5490..0dc66ba 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -5183,6 +5183,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (denyTransientStatus || denyTransientNav) { // clear the clearable flags instead clearClearableFlagsLw(); + vis &= ~View.SYSTEM_UI_CLEARABLE_FLAGS; } vis = mStatusBarController.updateVisibilityLw(transientStatusBarAllowed, oldVis, vis); |