Loading policy/src/com/android/internal/policy/impl/BarController.java +14 −8 Original line number Diff line number Diff line Loading @@ -37,8 +37,9 @@ public class BarController { private static final boolean DEBUG = false; private static final int TRANSIENT_BAR_NONE = 0; private static final int TRANSIENT_BAR_SHOWING = 1; private static final int TRANSIENT_BAR_HIDING = 2; private static final int TRANSIENT_BAR_SHOW_REQUESTED = 1; private static final int TRANSIENT_BAR_SHOWING = 2; private static final int TRANSIENT_BAR_HIDING = 3; private static final int TRANSLUCENT_ANIMATION_DELAY_MS = 1000; Loading Loading @@ -73,13 +74,9 @@ public class BarController { mWin = win; } public boolean isHidden() { return mState == StatusBarManager.WINDOW_STATE_HIDDEN; } public void showTransient() { if (mWin != null) { setTransientBarState(TRANSIENT_BAR_SHOWING); setTransientBarState(TRANSIENT_BAR_SHOW_REQUESTED); } } Loading @@ -87,6 +84,10 @@ public class BarController { return mTransientBarState == TRANSIENT_BAR_SHOWING; } public boolean isTransientShowRequested() { return mTransientBarState == TRANSIENT_BAR_SHOW_REQUESTED; } public boolean wasRecentlyTranslucent() { return (SystemClock.uptimeMillis() - mLastTranslucent) < TRANSLUCENT_ANIMATION_DELAY_MS; } Loading Loading @@ -198,6 +199,9 @@ public class BarController { if (mTransientBarState == TRANSIENT_BAR_SHOWING) { if (DEBUG) Slog.d(mTag, "Not showing transient bar, already shown"); return false; } else if (mTransientBarState == TRANSIENT_BAR_SHOW_REQUESTED) { if (DEBUG) Slog.d(mTag, "Not showing transient bar, already requested"); return false; } else if (mWin == null) { if (DEBUG) Slog.d(mTag, "Not showing transient bar, bar doesn't exist"); return false; Loading @@ -211,12 +215,13 @@ public class BarController { public int updateVisibilityLw(boolean transientAllowed, int oldVis, int vis) { if (mWin == null) return vis; if (mTransientBarState == TRANSIENT_BAR_SHOWING) { // transient bar requested if (isTransientShowing() || isTransientShowRequested()) { // transient bar requested if (transientAllowed) { vis |= mTransientFlag; if ((oldVis & mTransientFlag) == 0) { vis |= mUnhideFlag; // tell sysui we're ready to unhide } setTransientBarState(TRANSIENT_BAR_SHOWING); // request accepted } else { setTransientBarState(TRANSIENT_BAR_NONE); // request denied } Loading Loading @@ -254,6 +259,7 @@ public class BarController { private static String transientBarStateToString(int state) { if (state == TRANSIENT_BAR_HIDING) return "TRANSIENT_BAR_HIDING"; if (state == TRANSIENT_BAR_SHOWING) return "TRANSIENT_BAR_SHOWING"; if (state == TRANSIENT_BAR_SHOW_REQUESTED) return "TRANSIENT_BAR_SHOW_REQUESTED"; if (state == TRANSIENT_BAR_NONE) return "TRANSIENT_BAR_NONE"; throw new IllegalArgumentException("Unknown state " + state); } Loading policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -5166,9 +5166,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { mNavigationBar != null && hideNavBarSysui && immersiveSticky; boolean denyTransientStatus = mStatusBarController.isTransientShowing() boolean denyTransientStatus = mStatusBarController.isTransientShowRequested() && !transientStatusBarAllowed && hideStatusBarSysui; boolean denyTransientNav = mNavigationBarController.isTransientShowing() boolean denyTransientNav = mNavigationBarController.isTransientShowRequested() && !transientNavBarAllowed; if (denyTransientStatus || denyTransientNav) { // clear the clearable flags instead Loading Loading
policy/src/com/android/internal/policy/impl/BarController.java +14 −8 Original line number Diff line number Diff line Loading @@ -37,8 +37,9 @@ public class BarController { private static final boolean DEBUG = false; private static final int TRANSIENT_BAR_NONE = 0; private static final int TRANSIENT_BAR_SHOWING = 1; private static final int TRANSIENT_BAR_HIDING = 2; private static final int TRANSIENT_BAR_SHOW_REQUESTED = 1; private static final int TRANSIENT_BAR_SHOWING = 2; private static final int TRANSIENT_BAR_HIDING = 3; private static final int TRANSLUCENT_ANIMATION_DELAY_MS = 1000; Loading Loading @@ -73,13 +74,9 @@ public class BarController { mWin = win; } public boolean isHidden() { return mState == StatusBarManager.WINDOW_STATE_HIDDEN; } public void showTransient() { if (mWin != null) { setTransientBarState(TRANSIENT_BAR_SHOWING); setTransientBarState(TRANSIENT_BAR_SHOW_REQUESTED); } } Loading @@ -87,6 +84,10 @@ public class BarController { return mTransientBarState == TRANSIENT_BAR_SHOWING; } public boolean isTransientShowRequested() { return mTransientBarState == TRANSIENT_BAR_SHOW_REQUESTED; } public boolean wasRecentlyTranslucent() { return (SystemClock.uptimeMillis() - mLastTranslucent) < TRANSLUCENT_ANIMATION_DELAY_MS; } Loading Loading @@ -198,6 +199,9 @@ public class BarController { if (mTransientBarState == TRANSIENT_BAR_SHOWING) { if (DEBUG) Slog.d(mTag, "Not showing transient bar, already shown"); return false; } else if (mTransientBarState == TRANSIENT_BAR_SHOW_REQUESTED) { if (DEBUG) Slog.d(mTag, "Not showing transient bar, already requested"); return false; } else if (mWin == null) { if (DEBUG) Slog.d(mTag, "Not showing transient bar, bar doesn't exist"); return false; Loading @@ -211,12 +215,13 @@ public class BarController { public int updateVisibilityLw(boolean transientAllowed, int oldVis, int vis) { if (mWin == null) return vis; if (mTransientBarState == TRANSIENT_BAR_SHOWING) { // transient bar requested if (isTransientShowing() || isTransientShowRequested()) { // transient bar requested if (transientAllowed) { vis |= mTransientFlag; if ((oldVis & mTransientFlag) == 0) { vis |= mUnhideFlag; // tell sysui we're ready to unhide } setTransientBarState(TRANSIENT_BAR_SHOWING); // request accepted } else { setTransientBarState(TRANSIENT_BAR_NONE); // request denied } Loading Loading @@ -254,6 +259,7 @@ public class BarController { private static String transientBarStateToString(int state) { if (state == TRANSIENT_BAR_HIDING) return "TRANSIENT_BAR_HIDING"; if (state == TRANSIENT_BAR_SHOWING) return "TRANSIENT_BAR_SHOWING"; if (state == TRANSIENT_BAR_SHOW_REQUESTED) return "TRANSIENT_BAR_SHOW_REQUESTED"; if (state == TRANSIENT_BAR_NONE) return "TRANSIENT_BAR_NONE"; throw new IllegalArgumentException("Unknown state " + state); } Loading
policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +2 −2 Original line number Diff line number Diff line Loading @@ -5166,9 +5166,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { mNavigationBar != null && hideNavBarSysui && immersiveSticky; boolean denyTransientStatus = mStatusBarController.isTransientShowing() boolean denyTransientStatus = mStatusBarController.isTransientShowRequested() && !transientStatusBarAllowed && hideStatusBarSysui; boolean denyTransientNav = mNavigationBarController.isTransientShowing() boolean denyTransientNav = mNavigationBarController.isTransientShowRequested() && !transientNavBarAllowed; if (denyTransientStatus || denyTransientNav) { // clear the clearable flags instead Loading