summaryrefslogtreecommitdiffstats
path: root/policy/src
diff options
context:
space:
mode:
authortiger_huang <tiger_huang@htc.com>2014-10-23 20:24:19 +0800
committerTiger Huang <tiger_huang@htc.com>2014-11-19 11:53:39 +0000
commitc58d756f877b6b63da28be67ac9d9d451721ec72 (patch)
tree09ba206fc9042d59693efb249bbf94079389669f /policy/src
parent2bf3800b10e1cc9a291527fc83efc986ba83aa37 (diff)
downloadframeworks_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.java1
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);