diff --git a/packages/SystemUI/res/layout/status_bar.xml b/packages/SystemUI/res/layout/status_bar.xml index ed13ace30b31f..f3d0bee3ed4df 100644 --- a/packages/SystemUI/res/layout/status_bar.xml +++ b/packages/SystemUI/res/layout/status_bar.xml @@ -71,6 +71,7 @@ enable=" + enable); + int flags = StatusBarManager.DISABLE_NONE; + if (mShowing && !mHidden) { + // showing lockscreen exclusively; disable various extra + // statusbar components. + flags |= StatusBarManager.DISABLE_NAVIGATION; + flags |= StatusBarManager.DISABLE_CLOCK; } - mStatusBarManager.disable(enable ? - StatusBarManager.DISABLE_NONE : - ( StatusBarManager.DISABLE_EXPAND - | StatusBarManager.DISABLE_NAVIGATION - | StatusBarManager.DISABLE_CLOCK)); + if (mShowing && (isSecure() || !ENABLE_INSECURE_STATUS_BAR_EXPAND)) { + // showing secure lockscreen; disable expanding. + flags |= StatusBarManager.DISABLE_EXPAND; + } + + if (DEBUG) { + Log.d(TAG, + "adjustStatusBarLocked: mShowing=" + mShowing + " mHidden=" + mHidden + + " isSecure=" + isSecure() + " --> flags=" + flags); + } + + mStatusBarManager.disable(flags); } }