Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0c97306b authored by Justin Weir's avatar Justin Weir
Browse files

Add overridable background color for the shade

Bug: 316465230
Test: manually verified with blue before going back to black
Flag: NONE
Change-Id: I7fea41c2e7efcb2be63ab2936e968de98c61f6d2
parent b51a8072
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -29,6 +29,9 @@
    <color name="status_bar_icons_hover_color_light">#38FFFFFF</color> <!-- 22% white -->
    <color name="status_bar_icons_hover_color_light">#38FFFFFF</color> <!-- 22% white -->
    <color name="status_bar_icons_hover_color_dark">#38000000</color> <!-- 22% black -->
    <color name="status_bar_icons_hover_color_dark">#38000000</color> <!-- 22% black -->


    <!-- The dark background color behind the shade -->
    <color name="shade_scrim_background_dark">@*android:color/black</color>

    <!-- The color of the background in the separated list of the Global Actions menu -->
    <!-- The color of the background in the separated list of the Global Actions menu -->
    <color name="global_actions_separated_background">#F5F5F5</color>
    <color name="global_actions_separated_background">#F5F5F5</color>


+29 −27
Original line number Original line Diff line number Diff line
@@ -20,6 +20,7 @@ import android.graphics.Color;
import android.os.Trace;
import android.os.Trace;


import com.android.systemui.dock.DockManager;
import com.android.systemui.dock.DockManager;
import com.android.systemui.res.R;
import com.android.systemui.scrim.ScrimView;
import com.android.systemui.scrim.ScrimView;
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
import com.android.systemui.statusbar.notification.stack.StackStateAnimator;


@@ -39,8 +40,8 @@ public enum ScrimState {
    OFF {
    OFF {
        @Override
        @Override
        public void prepare(ScrimState previousState) {
        public void prepare(ScrimState previousState) {
            mFrontTint = Color.BLACK;
            mFrontTint = mBackgroundColor;
            mBehindTint = Color.BLACK;
            mBehindTint = mBackgroundColor;


            mFrontAlpha = 1f;
            mFrontAlpha = 1f;
            mBehindAlpha = 1f;
            mBehindAlpha = 1f;
@@ -74,15 +75,15 @@ public enum ScrimState {
            } else {
            } else {
                mAnimationDuration = ScrimController.ANIMATION_DURATION;
                mAnimationDuration = ScrimController.ANIMATION_DURATION;
            }
            }
            mFrontTint = Color.BLACK;
            mFrontTint = mBackgroundColor;
            mBehindTint = Color.BLACK;
            mBehindTint = mBackgroundColor;
            mNotifTint = mClipQsScrim ? Color.BLACK : Color.TRANSPARENT;
            mNotifTint = mClipQsScrim ? mBackgroundColor : Color.TRANSPARENT;


            mFrontAlpha = 0;
            mFrontAlpha = 0;
            mBehindAlpha = mClipQsScrim ? 1 : mScrimBehindAlphaKeyguard;
            mBehindAlpha = mClipQsScrim ? 1 : mScrimBehindAlphaKeyguard;
            mNotifAlpha = mClipQsScrim ? mScrimBehindAlphaKeyguard : 0;
            mNotifAlpha = mClipQsScrim ? mScrimBehindAlphaKeyguard : 0;
            if (mClipQsScrim) {
            if (mClipQsScrim) {
                updateScrimColor(mScrimBehind, 1f /* alpha */, Color.BLACK);
                updateScrimColor(mScrimBehind, 1f /* alpha */, mBackgroundColor);
            }
            }
        }
        }
    },
    },
@@ -93,10 +94,10 @@ public enum ScrimState {
            // notif scrim alpha values are determined by ScrimController#applyState
            // notif scrim alpha values are determined by ScrimController#applyState
            // based on the shade expansion
            // based on the shade expansion


            mFrontTint = Color.BLACK;
            mFrontTint = mBackgroundColor;
            mFrontAlpha = .66f;
            mFrontAlpha = .66f;


            mBehindTint = Color.BLACK;
            mBehindTint = mBackgroundColor;
            mBehindAlpha = 1f;
            mBehindAlpha = 1f;
        }
        }
    },
    },
@@ -110,7 +111,7 @@ public enum ScrimState {
            mBehindTint = previousState.mBehindTint;
            mBehindTint = previousState.mBehindTint;
            mBehindAlpha = previousState.mBehindAlpha;
            mBehindAlpha = previousState.mBehindAlpha;


            mFrontTint = Color.BLACK;
            mFrontTint = mBackgroundColor;
            mFrontAlpha = .66f;
            mFrontAlpha = .66f;
        }
        }
    },
    },
@@ -122,7 +123,7 @@ public enum ScrimState {
        @Override
        @Override
        public void prepare(ScrimState previousState) {
        public void prepare(ScrimState previousState) {
            mBehindAlpha = mClipQsScrim ? 1 : mDefaultScrimAlpha;
            mBehindAlpha = mClipQsScrim ? 1 : mDefaultScrimAlpha;
            mBehindTint = mClipQsScrim ? Color.BLACK : mSurfaceColor;
            mBehindTint = mClipQsScrim ? mBackgroundColor : mSurfaceColor;
            mNotifAlpha = mClipQsScrim ? mDefaultScrimAlpha : 0;
            mNotifAlpha = mClipQsScrim ? mDefaultScrimAlpha : 0;
            mNotifTint = Color.TRANSPARENT;
            mNotifTint = Color.TRANSPARENT;
            mFrontAlpha = 0f;
            mFrontAlpha = 0f;
@@ -154,10 +155,10 @@ public enum ScrimState {
            mBehindAlpha = mClipQsScrim ? 1 : mDefaultScrimAlpha;
            mBehindAlpha = mClipQsScrim ? 1 : mDefaultScrimAlpha;
            mNotifAlpha = 1f;
            mNotifAlpha = 1f;
            mFrontAlpha = 0f;
            mFrontAlpha = 0f;
            mBehindTint = mClipQsScrim ? Color.TRANSPARENT : Color.BLACK;
            mBehindTint = mClipQsScrim ? Color.TRANSPARENT : mBackgroundColor;


            if (mClipQsScrim) {
            if (mClipQsScrim) {
                updateScrimColor(mScrimBehind, 1f /* alpha */, Color.BLACK);
                updateScrimColor(mScrimBehind, 1f /* alpha */, mBackgroundColor);
            }
            }
        }
        }
    },
    },
@@ -184,11 +185,11 @@ public enum ScrimState {
            final boolean isDocked = mDockManager.isDocked();
            final boolean isDocked = mDockManager.isDocked();
            mBlankScreen = mDisplayRequiresBlanking;
            mBlankScreen = mDisplayRequiresBlanking;


            mFrontTint = Color.BLACK;
            mFrontTint = mBackgroundColor;
            mFrontAlpha = (alwaysOnEnabled || isDocked || quickPickupEnabled)
            mFrontAlpha = (alwaysOnEnabled || isDocked || quickPickupEnabled)
                    ? mAodFrontScrimAlpha : 1f;
                    ? mAodFrontScrimAlpha : 1f;


            mBehindTint = Color.BLACK;
            mBehindTint = mBackgroundColor;
            mBehindAlpha = ScrimController.TRANSPARENT;
            mBehindAlpha = ScrimController.TRANSPARENT;


            mAnimationDuration = ScrimController.ANIMATION_DURATION_LONG;
            mAnimationDuration = ScrimController.ANIMATION_DURATION_LONG;
@@ -222,8 +223,8 @@ public enum ScrimState {
        @Override
        @Override
        public void prepare(ScrimState previousState) {
        public void prepare(ScrimState previousState) {
            mFrontAlpha = mAodFrontScrimAlpha;
            mFrontAlpha = mAodFrontScrimAlpha;
            mBehindTint = Color.BLACK;
            mBehindTint = mBackgroundColor;
            mFrontTint = Color.BLACK;
            mFrontTint = mBackgroundColor;
            mBlankScreen = mDisplayRequiresBlanking;
            mBlankScreen = mDisplayRequiresBlanking;
            mAnimationDuration = mWakeLockScreenSensorActive
            mAnimationDuration = mWakeLockScreenSensorActive
                    ? ScrimController.ANIMATION_DURATION_LONG : ScrimController.ANIMATION_DURATION;
                    ? ScrimController.ANIMATION_DURATION_LONG : ScrimController.ANIMATION_DURATION;
@@ -245,7 +246,6 @@ public enum ScrimState {
            mBehindAlpha = mClipQsScrim ? 1 : 0;
            mBehindAlpha = mClipQsScrim ? 1 : 0;
            mNotifAlpha = 0;
            mNotifAlpha = 0;
            mFrontAlpha = 0;
            mFrontAlpha = 0;

            mAnimationDuration = mKeyguardFadingAway
            mAnimationDuration = mKeyguardFadingAway
                    ? mKeyguardFadingAwayDuration
                    ? mKeyguardFadingAwayDuration
                    : CentralSurfaces.FADE_KEYGUARD_DURATION;
                    : CentralSurfaces.FADE_KEYGUARD_DURATION;
@@ -259,22 +259,22 @@ public enum ScrimState {
                    && !fromAod;
                    && !fromAod;


            mFrontTint = Color.TRANSPARENT;
            mFrontTint = Color.TRANSPARENT;
            mBehindTint = Color.BLACK;
            mBehindTint = mBackgroundColor;
            mBlankScreen = false;
            mBlankScreen = false;


            if (mDisplayRequiresBlanking && previousState == ScrimState.AOD) {
            if (mDisplayRequiresBlanking && previousState == ScrimState.AOD) {
                // Set all scrims black, before they fade transparent.
                // Set all scrims black, before they fade transparent.
                updateScrimColor(mScrimInFront, 1f /* alpha */, Color.BLACK /* tint */);
                updateScrimColor(mScrimInFront, 1f /* alpha */, mBackgroundColor /* tint */);
                updateScrimColor(mScrimBehind, 1f /* alpha */, Color.BLACK /* tint */);
                updateScrimColor(mScrimBehind, 1f /* alpha */, mBackgroundColor /* tint */);


                // Scrims should still be black at the end of the transition.
                // Scrims should still be black at the end of the transition.
                mFrontTint = Color.BLACK;
                mFrontTint = mBackgroundColor;
                mBehindTint = Color.BLACK;
                mBehindTint = mBackgroundColor;
                mBlankScreen = true;
                mBlankScreen = true;
            }
            }


            if (mClipQsScrim) {
            if (mClipQsScrim) {
                updateScrimColor(mScrimBehind, 1f /* alpha */, Color.BLACK);
                updateScrimColor(mScrimBehind, 1f /* alpha */, mBackgroundColor);
            }
            }
        }
        }
    },
    },
@@ -283,8 +283,8 @@ public enum ScrimState {
        @Override
        @Override
        public void prepare(ScrimState previousState) {
        public void prepare(ScrimState previousState) {
            mFrontTint = Color.TRANSPARENT;
            mFrontTint = Color.TRANSPARENT;
            mBehindTint = Color.BLACK;
            mBehindTint = mBackgroundColor;
            mNotifTint = mClipQsScrim ? Color.BLACK : Color.TRANSPARENT;
            mNotifTint = mClipQsScrim ? mBackgroundColor : Color.TRANSPARENT;


            mFrontAlpha = 0;
            mFrontAlpha = 0;
            mBehindAlpha = mClipQsScrim ? 1 : 0;
            mBehindAlpha = mClipQsScrim ? 1 : 0;
@@ -293,7 +293,7 @@ public enum ScrimState {
            mBlankScreen = false;
            mBlankScreen = false;


            if (mClipQsScrim) {
            if (mClipQsScrim) {
                updateScrimColor(mScrimBehind, 1f /* alpha */, Color.BLACK);
                updateScrimColor(mScrimBehind, 1f /* alpha */, mBackgroundColor);
            }
            }
        }
        }
    };
    };
@@ -327,9 +327,11 @@ public enum ScrimState {
    boolean mKeyguardFadingAway;
    boolean mKeyguardFadingAway;
    long mKeyguardFadingAwayDuration;
    long mKeyguardFadingAwayDuration;
    boolean mClipQsScrim;
    boolean mClipQsScrim;
    int mBackgroundColor;


    public void init(ScrimView scrimInFront, ScrimView scrimBehind, DozeParameters dozeParameters,
    public void init(ScrimView scrimInFront, ScrimView scrimBehind, DozeParameters dozeParameters,
            DockManager dockManager) {
            DockManager dockManager) {
        mBackgroundColor = scrimBehind.getContext().getColor(R.color.shade_scrim_background_dark);
        mScrimInFront = scrimInFront;
        mScrimInFront = scrimInFront;
        mScrimBehind = scrimBehind;
        mScrimBehind = scrimBehind;