Loading core/java/android/view/WindowManager.java +3 −3 Original line number Diff line number Diff line Loading @@ -1746,7 +1746,7 @@ public interface WindowManager extends ViewManager { * what the other flags are. * @hide */ public static final int PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND = 0x00020000; public static final int PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS = 0x00020000; /** * Flag to indicate that this window needs Sustained Performance Mode if Loading Loading @@ -1877,8 +1877,8 @@ public interface WindowManager extends ViewManager { equals = PRIVATE_FLAG_LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME, name = "LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME"), @ViewDebug.FlagToString( mask = PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND, equals = PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND, mask = PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS, equals = PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS, name = "FORCE_DRAW_STATUS_BAR_BACKGROUND"), @ViewDebug.FlagToString( mask = PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE, Loading core/java/com/android/internal/policy/DecorView.java +83 −25 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_DRAWN_APPLICATION; import static com.android.internal.policy.PhoneWindow.FEATURE_OPTIONS_PANEL; import android.animation.Animator; Loading @@ -53,6 +52,7 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Insets; import android.graphics.LinearGradient; import android.graphics.Outline; import android.graphics.Paint; Loading Loading @@ -205,8 +205,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind private final Interpolator mShowInterpolator; private final Interpolator mHideInterpolator; private final int mBarEnterExitDuration; final boolean mForceWindowDrawsStatusBarBackground; private final int mSemiTransparentStatusBarColor; final boolean mForceWindowDrawsBarBackgrounds; private final int mSemiTransparentBarColor; private final BackgroundFallback mBackgroundFallback = new BackgroundFallback(); Loading Loading @@ -242,6 +242,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind private boolean mWindowResizeCallbacksAdded = false; private Drawable.Callback mLastBackgroundDrawableCb = null; private BackdropFrameRenderer mBackdropFrameRenderer = null; private Drawable mOriginalBackgroundDrawable; private Drawable mLastOriginalBackgroundDrawable; private Drawable mResizingBackgroundDrawable; private Drawable mCaptionBackgroundDrawable; private Drawable mUserCaptionBackgroundDrawable; Loading @@ -257,6 +259,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind private final int mResizeShadowSize; private final Paint mVerticalResizeShadowPaint = new Paint(); private final Paint mHorizontalResizeShadowPaint = new Paint(); private Insets mBackgroundInsets = Insets.NONE; private Insets mLastBackgroundInsets = Insets.NONE; DecorView(Context context, int featureId, PhoneWindow window, WindowManager.LayoutParams params) { Loading @@ -270,10 +274,10 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind mBarEnterExitDuration = context.getResources().getInteger( R.integer.dock_enter_exit_duration); mForceWindowDrawsStatusBarBackground = context.getResources().getBoolean( mForceWindowDrawsBarBackgrounds = context.getResources().getBoolean( R.bool.config_forceWindowDrawsStatusBarBackground) && context.getApplicationInfo().targetSdkVersion >= N; mSemiTransparentStatusBarColor = context.getResources().getColor( mSemiTransparentBarColor = context.getResources().getColor( R.color.system_bar_background_semi_transparent, null /* theme */); updateAvailableWidth(); Loading Loading @@ -948,8 +952,9 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind } public void setWindowBackground(Drawable drawable) { if (getBackground() != drawable) { setBackgroundDrawable(drawable); if (mOriginalBackgroundDrawable != drawable) { mOriginalBackgroundDrawable = drawable; updateBackgroundDrawable(); if (drawable != null) { mResizingBackgroundDrawable = enforceNonTranslucentBackground(drawable, mWindow.isTranslucent() || mWindow.isShowingWallpaper()); Loading Loading @@ -1114,9 +1119,10 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind boolean navBarToLeftEdge = isNavBarToLeftEdge(mLastBottomInset, mLastLeftInset); int navBarSize = getNavBarSize(mLastBottomInset, mLastRightInset, mLastLeftInset); updateColorViewInt(mNavigationColorViewState, sysUiVisibility, mWindow.mNavigationBarColor, mWindow.mNavigationBarDividerColor, navBarSize, calculateNavigationBarColor(), mWindow.mNavigationBarDividerColor, navBarSize, navBarToRightEdge || navBarToLeftEdge, navBarToLeftEdge, 0 /* sideInset */, animate && !disallowAnimate, false /* force */); 0 /* sideInset */, animate && !disallowAnimate, mForceWindowDrawsBarBackgrounds); boolean statusBarNeedsRightInset = navBarToRightEdge && mNavigationColorViewState.present; Loading @@ -1128,24 +1134,34 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind calculateStatusBarColor(), 0, mLastTopInset, false /* matchVertical */, statusBarNeedsLeftInset, statusBarSideInset, animate && !disallowAnimate, mForceWindowDrawsStatusBarBackground); } mForceWindowDrawsBarBackgrounds); } // When we expand the window with FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS or // mForceWindowDrawsBarBackgrounds, we still need to ensure that the rest of the view // hierarchy doesn't notice it, unless they've explicitly asked for it. // // Note: We don't need to check for IN_SCREEN or INSET_DECOR because unlike the status bar, // these flags wouldn't make the window draw behind the navigation bar, unless // LAYOUT_HIDE_NAVIGATION was set. boolean forceConsumingNavBar = (mForceWindowDrawsBarBackgrounds && (attrs.flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) == 0 && (sysUiVisibility & SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) == 0 && (sysUiVisibility & SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0) || mLastShouldAlwaysConsumeSystemBars; // When we expand the window with FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS, we still need // to ensure that the rest of the view hierarchy doesn't notice it, unless they've // explicitly asked for it. boolean consumingNavBar = (attrs.flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0 ((attrs.flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0 && (sysUiVisibility & SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) == 0 && (sysUiVisibility & SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0 || mLastShouldAlwaysConsumeSystemBars; && (sysUiVisibility & SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0) || forceConsumingNavBar; // If we didn't request fullscreen layout, but we still got it because of the // mForceWindowDrawsStatusBarBackground flag, also consume top inset. // mForceWindowDrawsBarBackgrounds flag, also consume top inset. boolean consumingStatusBar = (sysUiVisibility & SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN) == 0 && (attrs.flags & FLAG_LAYOUT_IN_SCREEN) == 0 && (attrs.flags & FLAG_LAYOUT_INSET_DECOR) == 0 && mForceWindowDrawsStatusBarBackground && mForceWindowDrawsBarBackgrounds && mLastTopInset != 0 || mLastShouldAlwaysConsumeSystemBars; Loading Loading @@ -1176,21 +1192,63 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind } } if (forceConsumingNavBar) { mBackgroundInsets = Insets.of(mLastLeftInset, 0, mLastRightInset, mLastBottomInset); } else { mBackgroundInsets = Insets.NONE; } updateBackgroundDrawable(); if (insets != null) { insets = insets.consumeStableInsets(); } return insets; } /** * Updates the background drawable, applying padding to it in case we {@link #mBackgroundInsets} * are set. */ private void updateBackgroundDrawable() { if (mBackgroundInsets.equals(mLastBackgroundInsets) && mLastOriginalBackgroundDrawable == mOriginalBackgroundDrawable) { return; } if (mBackgroundInsets.equals(Insets.NONE)) { setBackground(mOriginalBackgroundDrawable); } else { setBackground(new InsetDrawable(mOriginalBackgroundDrawable, mBackgroundInsets.left, mBackgroundInsets.top, mBackgroundInsets.right, mBackgroundInsets.bottom) { /** * Return inner padding so we don't apply the padding again in * {@link DecorView#drawableChanged()} */ @Override public boolean getPadding(Rect padding) { return getDrawable().getPadding(padding); } }); } mLastBackgroundInsets = mBackgroundInsets; mLastOriginalBackgroundDrawable = mOriginalBackgroundDrawable; } private int calculateStatusBarColor() { return calculateStatusBarColor(mWindow.getAttributes().flags, mSemiTransparentStatusBarColor, mWindow.mStatusBarColor); return calculateBarColor(mWindow.getAttributes().flags, FLAG_TRANSLUCENT_STATUS, mSemiTransparentBarColor, mWindow.mStatusBarColor); } private int calculateNavigationBarColor() { return calculateBarColor(mWindow.getAttributes().flags, FLAG_TRANSLUCENT_NAVIGATION, mSemiTransparentBarColor, mWindow.mNavigationBarColor); } public static int calculateStatusBarColor(int flags, int semiTransparentStatusBarColor, int statusBarColor) { return (flags & FLAG_TRANSLUCENT_STATUS) != 0 ? semiTransparentStatusBarColor : (flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0 ? statusBarColor public static int calculateBarColor(int flags, int translucentFlag, int semiTransparentBarColor, int barColor) { return (flags & translucentFlag) != 0 ? semiTransparentBarColor : (flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0 ? barColor : Color.BLACK; } Loading core/java/com/android/internal/policy/PhoneWindow.java +3 −3 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATIO import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT; import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS; import android.annotation.NonNull; import android.annotation.UnsupportedAppUsage; Loading Loading @@ -2469,8 +2469,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { setFlags(FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS, FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS & ~getForcedWindowFlags()); } if (mDecor.mForceWindowDrawsStatusBarBackground) { params.privateFlags |= PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND; if (mDecor.mForceWindowDrawsBarBackgrounds) { params.privateFlags |= PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS; } } if (a.getBoolean(R.styleable.Window_windowLightStatusBar, false)) { Loading core/res/res/values/config.xml +0 −6 Original line number Diff line number Diff line Loading @@ -1302,12 +1302,6 @@ <!-- Disable lockscreen rotation by default --> <bool name="config_enableLockScreenRotation">false</bool> <!-- Enable lockscreen translucent decor by default --> <bool name="config_enableLockScreenTranslucentDecor">true</bool> <!-- Enable translucent decor by default --> <bool name="config_enableTranslucentDecor">true</bool> <!-- Is the device capable of hot swapping an UICC Card --> <bool name="config_hotswapCapable">false</bool> Loading core/res/res/values/symbols.xml +0 −2 Original line number Diff line number Diff line Loading @@ -1717,8 +1717,6 @@ <java-symbol type="bool" name="config_enableCarDockHomeLaunch" /> <java-symbol type="bool" name="config_enableLockBeforeUnlockScreen" /> <java-symbol type="bool" name="config_enableLockScreenRotation" /> <java-symbol type="bool" name="config_enableLockScreenTranslucentDecor" /> <java-symbol type="bool" name="config_enableTranslucentDecor" /> <java-symbol type="bool" name="config_forceShowSystemBars" /> <java-symbol type="bool" name="config_lidControlsScreenLock" /> <java-symbol type="bool" name="config_lidControlsSleep" /> Loading Loading
core/java/android/view/WindowManager.java +3 −3 Original line number Diff line number Diff line Loading @@ -1746,7 +1746,7 @@ public interface WindowManager extends ViewManager { * what the other flags are. * @hide */ public static final int PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND = 0x00020000; public static final int PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS = 0x00020000; /** * Flag to indicate that this window needs Sustained Performance Mode if Loading Loading @@ -1877,8 +1877,8 @@ public interface WindowManager extends ViewManager { equals = PRIVATE_FLAG_LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME, name = "LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME"), @ViewDebug.FlagToString( mask = PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND, equals = PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND, mask = PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS, equals = PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS, name = "FORCE_DRAW_STATUS_BAR_BACKGROUND"), @ViewDebug.FlagToString( mask = PRIVATE_FLAG_SUSTAINED_PERFORMANCE_MODE, Loading
core/java/com/android/internal/policy/DecorView.java +83 −25 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_BASE_APPLICATION; import static android.view.WindowManager.LayoutParams.TYPE_DRAWN_APPLICATION; import static com.android.internal.policy.PhoneWindow.FEATURE_OPTIONS_PANEL; import android.animation.Animator; Loading @@ -53,6 +52,7 @@ import android.content.res.Configuration; import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Insets; import android.graphics.LinearGradient; import android.graphics.Outline; import android.graphics.Paint; Loading Loading @@ -205,8 +205,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind private final Interpolator mShowInterpolator; private final Interpolator mHideInterpolator; private final int mBarEnterExitDuration; final boolean mForceWindowDrawsStatusBarBackground; private final int mSemiTransparentStatusBarColor; final boolean mForceWindowDrawsBarBackgrounds; private final int mSemiTransparentBarColor; private final BackgroundFallback mBackgroundFallback = new BackgroundFallback(); Loading Loading @@ -242,6 +242,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind private boolean mWindowResizeCallbacksAdded = false; private Drawable.Callback mLastBackgroundDrawableCb = null; private BackdropFrameRenderer mBackdropFrameRenderer = null; private Drawable mOriginalBackgroundDrawable; private Drawable mLastOriginalBackgroundDrawable; private Drawable mResizingBackgroundDrawable; private Drawable mCaptionBackgroundDrawable; private Drawable mUserCaptionBackgroundDrawable; Loading @@ -257,6 +259,8 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind private final int mResizeShadowSize; private final Paint mVerticalResizeShadowPaint = new Paint(); private final Paint mHorizontalResizeShadowPaint = new Paint(); private Insets mBackgroundInsets = Insets.NONE; private Insets mLastBackgroundInsets = Insets.NONE; DecorView(Context context, int featureId, PhoneWindow window, WindowManager.LayoutParams params) { Loading @@ -270,10 +274,10 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind mBarEnterExitDuration = context.getResources().getInteger( R.integer.dock_enter_exit_duration); mForceWindowDrawsStatusBarBackground = context.getResources().getBoolean( mForceWindowDrawsBarBackgrounds = context.getResources().getBoolean( R.bool.config_forceWindowDrawsStatusBarBackground) && context.getApplicationInfo().targetSdkVersion >= N; mSemiTransparentStatusBarColor = context.getResources().getColor( mSemiTransparentBarColor = context.getResources().getColor( R.color.system_bar_background_semi_transparent, null /* theme */); updateAvailableWidth(); Loading Loading @@ -948,8 +952,9 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind } public void setWindowBackground(Drawable drawable) { if (getBackground() != drawable) { setBackgroundDrawable(drawable); if (mOriginalBackgroundDrawable != drawable) { mOriginalBackgroundDrawable = drawable; updateBackgroundDrawable(); if (drawable != null) { mResizingBackgroundDrawable = enforceNonTranslucentBackground(drawable, mWindow.isTranslucent() || mWindow.isShowingWallpaper()); Loading Loading @@ -1114,9 +1119,10 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind boolean navBarToLeftEdge = isNavBarToLeftEdge(mLastBottomInset, mLastLeftInset); int navBarSize = getNavBarSize(mLastBottomInset, mLastRightInset, mLastLeftInset); updateColorViewInt(mNavigationColorViewState, sysUiVisibility, mWindow.mNavigationBarColor, mWindow.mNavigationBarDividerColor, navBarSize, calculateNavigationBarColor(), mWindow.mNavigationBarDividerColor, navBarSize, navBarToRightEdge || navBarToLeftEdge, navBarToLeftEdge, 0 /* sideInset */, animate && !disallowAnimate, false /* force */); 0 /* sideInset */, animate && !disallowAnimate, mForceWindowDrawsBarBackgrounds); boolean statusBarNeedsRightInset = navBarToRightEdge && mNavigationColorViewState.present; Loading @@ -1128,24 +1134,34 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind calculateStatusBarColor(), 0, mLastTopInset, false /* matchVertical */, statusBarNeedsLeftInset, statusBarSideInset, animate && !disallowAnimate, mForceWindowDrawsStatusBarBackground); } mForceWindowDrawsBarBackgrounds); } // When we expand the window with FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS or // mForceWindowDrawsBarBackgrounds, we still need to ensure that the rest of the view // hierarchy doesn't notice it, unless they've explicitly asked for it. // // Note: We don't need to check for IN_SCREEN or INSET_DECOR because unlike the status bar, // these flags wouldn't make the window draw behind the navigation bar, unless // LAYOUT_HIDE_NAVIGATION was set. boolean forceConsumingNavBar = (mForceWindowDrawsBarBackgrounds && (attrs.flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) == 0 && (sysUiVisibility & SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) == 0 && (sysUiVisibility & SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0) || mLastShouldAlwaysConsumeSystemBars; // When we expand the window with FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS, we still need // to ensure that the rest of the view hierarchy doesn't notice it, unless they've // explicitly asked for it. boolean consumingNavBar = (attrs.flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0 ((attrs.flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0 && (sysUiVisibility & SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION) == 0 && (sysUiVisibility & SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0 || mLastShouldAlwaysConsumeSystemBars; && (sysUiVisibility & SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0) || forceConsumingNavBar; // If we didn't request fullscreen layout, but we still got it because of the // mForceWindowDrawsStatusBarBackground flag, also consume top inset. // mForceWindowDrawsBarBackgrounds flag, also consume top inset. boolean consumingStatusBar = (sysUiVisibility & SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN) == 0 && (attrs.flags & FLAG_LAYOUT_IN_SCREEN) == 0 && (attrs.flags & FLAG_LAYOUT_INSET_DECOR) == 0 && mForceWindowDrawsStatusBarBackground && mForceWindowDrawsBarBackgrounds && mLastTopInset != 0 || mLastShouldAlwaysConsumeSystemBars; Loading Loading @@ -1176,21 +1192,63 @@ public class DecorView extends FrameLayout implements RootViewSurfaceTaker, Wind } } if (forceConsumingNavBar) { mBackgroundInsets = Insets.of(mLastLeftInset, 0, mLastRightInset, mLastBottomInset); } else { mBackgroundInsets = Insets.NONE; } updateBackgroundDrawable(); if (insets != null) { insets = insets.consumeStableInsets(); } return insets; } /** * Updates the background drawable, applying padding to it in case we {@link #mBackgroundInsets} * are set. */ private void updateBackgroundDrawable() { if (mBackgroundInsets.equals(mLastBackgroundInsets) && mLastOriginalBackgroundDrawable == mOriginalBackgroundDrawable) { return; } if (mBackgroundInsets.equals(Insets.NONE)) { setBackground(mOriginalBackgroundDrawable); } else { setBackground(new InsetDrawable(mOriginalBackgroundDrawable, mBackgroundInsets.left, mBackgroundInsets.top, mBackgroundInsets.right, mBackgroundInsets.bottom) { /** * Return inner padding so we don't apply the padding again in * {@link DecorView#drawableChanged()} */ @Override public boolean getPadding(Rect padding) { return getDrawable().getPadding(padding); } }); } mLastBackgroundInsets = mBackgroundInsets; mLastOriginalBackgroundDrawable = mOriginalBackgroundDrawable; } private int calculateStatusBarColor() { return calculateStatusBarColor(mWindow.getAttributes().flags, mSemiTransparentStatusBarColor, mWindow.mStatusBarColor); return calculateBarColor(mWindow.getAttributes().flags, FLAG_TRANSLUCENT_STATUS, mSemiTransparentBarColor, mWindow.mStatusBarColor); } private int calculateNavigationBarColor() { return calculateBarColor(mWindow.getAttributes().flags, FLAG_TRANSLUCENT_NAVIGATION, mSemiTransparentBarColor, mWindow.mNavigationBarColor); } public static int calculateStatusBarColor(int flags, int semiTransparentStatusBarColor, int statusBarColor) { return (flags & FLAG_TRANSLUCENT_STATUS) != 0 ? semiTransparentStatusBarColor : (flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0 ? statusBarColor public static int calculateBarColor(int flags, int translucentFlag, int semiTransparentBarColor, int barColor) { return (flags & translucentFlag) != 0 ? semiTransparentBarColor : (flags & FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS) != 0 ? barColor : Color.BLACK; } Loading
core/java/com/android/internal/policy/PhoneWindow.java +3 −3 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATIO import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT; import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND; import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS; import android.annotation.NonNull; import android.annotation.UnsupportedAppUsage; Loading Loading @@ -2469,8 +2469,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { setFlags(FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS, FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS & ~getForcedWindowFlags()); } if (mDecor.mForceWindowDrawsStatusBarBackground) { params.privateFlags |= PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND; if (mDecor.mForceWindowDrawsBarBackgrounds) { params.privateFlags |= PRIVATE_FLAG_FORCE_DRAW_BAR_BACKGROUNDS; } } if (a.getBoolean(R.styleable.Window_windowLightStatusBar, false)) { Loading
core/res/res/values/config.xml +0 −6 Original line number Diff line number Diff line Loading @@ -1302,12 +1302,6 @@ <!-- Disable lockscreen rotation by default --> <bool name="config_enableLockScreenRotation">false</bool> <!-- Enable lockscreen translucent decor by default --> <bool name="config_enableLockScreenTranslucentDecor">true</bool> <!-- Enable translucent decor by default --> <bool name="config_enableTranslucentDecor">true</bool> <!-- Is the device capable of hot swapping an UICC Card --> <bool name="config_hotswapCapable">false</bool> Loading
core/res/res/values/symbols.xml +0 −2 Original line number Diff line number Diff line Loading @@ -1717,8 +1717,6 @@ <java-symbol type="bool" name="config_enableCarDockHomeLaunch" /> <java-symbol type="bool" name="config_enableLockBeforeUnlockScreen" /> <java-symbol type="bool" name="config_enableLockScreenRotation" /> <java-symbol type="bool" name="config_enableLockScreenTranslucentDecor" /> <java-symbol type="bool" name="config_enableTranslucentDecor" /> <java-symbol type="bool" name="config_forceShowSystemBars" /> <java-symbol type="bool" name="config_lidControlsScreenLock" /> <java-symbol type="bool" name="config_lidControlsSleep" /> Loading