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

Commit 6c703de6 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "New scrim values for shade and dialogs" into rvc-dev am: 967c3dc8

Change-Id: Ib249c70f039280ffb3c501e184689dfbd4db9c49
parents 7dd4eb10 967c3dc8
Loading
Loading
Loading
Loading
+10 −4
Original line number Diff line number Diff line
@@ -99,6 +99,7 @@ import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.GlobalActions.GlobalActionsManager;
import com.android.systemui.plugins.GlobalActionsPanelPlugin;
import com.android.systemui.statusbar.BlurUtils;
import com.android.systemui.statusbar.NotificationShadeDepthController;
import com.android.systemui.statusbar.phone.NotificationShadeWindowController;
import com.android.systemui.statusbar.phone.ScrimController;
@@ -163,6 +164,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
    private final TelecomManager mTelecomManager;
    private final MetricsLogger mMetricsLogger;
    private final NotificationShadeDepthController mDepthController;
    private final BlurUtils mBlurUtils;

    private ArrayList<Action> mItems;
    private ActionsDialog mDialog;
@@ -208,7 +210,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
            TrustManager trustManager, IActivityManager iActivityManager,
            @Nullable TelecomManager telecomManager, MetricsLogger metricsLogger,
            NotificationShadeDepthController depthController, SysuiColorExtractor colorExtractor,
            IStatusBarService statusBarService,
            IStatusBarService statusBarService, BlurUtils blurUtils,
            NotificationShadeWindowController notificationShadeWindowController,
            ControlsUiController controlsUiController, IWindowManager iWindowManager,
            @Background Executor backgroundExecutor,
@@ -237,6 +239,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
        mIWindowManager = iWindowManager;
        mBackgroundExecutor = backgroundExecutor;
        mControlsListingController = controlsListingController;
        mBlurUtils = blurUtils;

        // receive broadcasts
        IntentFilter filter = new IntentFilter();
@@ -439,7 +442,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
        ActionsDialog dialog = new ActionsDialog(mContext, mAdapter, panelViewController,
                mDepthController, mSysuiColorExtractor, mStatusBarService,
                mNotificationShadeWindowController,
                shouldShowControls() ? mControlsUiController : null);
                shouldShowControls() ? mControlsUiController : null, mBlurUtils);
        dialog.setCanceledOnTouchOutside(false); // Handled by the custom class.
        dialog.setKeyguardShowing(mKeyguardShowing);

@@ -1571,6 +1574,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
        private boolean mHadTopUi;
        private final NotificationShadeWindowController mNotificationShadeWindowController;
        private final NotificationShadeDepthController mDepthController;
        private final BlurUtils mBlurUtils;

        private ControlsUiController mControlsUiController;
        private ViewGroup mControlsView;
@@ -1580,7 +1584,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
                NotificationShadeDepthController depthController,
                SysuiColorExtractor sysuiColorExtractor, IStatusBarService statusBarService,
                NotificationShadeWindowController notificationShadeWindowController,
                ControlsUiController controlsUiController) {
                ControlsUiController controlsUiController, BlurUtils blurUtils) {
            super(context, com.android.systemui.R.style.Theme_SystemUI_Dialog_GlobalActions);
            mContext = context;
            mAdapter = adapter;
@@ -1589,6 +1593,7 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
            mStatusBarService = statusBarService;
            mNotificationShadeWindowController = notificationShadeWindowController;
            mControlsUiController = controlsUiController;
            mBlurUtils = blurUtils;

            // Window initialization
            Window window = getWindow();
@@ -1697,7 +1702,8 @@ public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
            }
            if (mBackgroundDrawable == null) {
                mBackgroundDrawable = new ScrimDrawable();
                mScrimAlpha = ScrimController.BUSY_SCRIM_ALPHA;
                mScrimAlpha = mBlurUtils.supportsBlursOnWindows()
                        ? ScrimController.BLUR_SCRIM_ALPHA : ScrimController.BUSY_SCRIM_ALPHA;
            }
            getWindow().setBackgroundDrawable(mBackgroundDrawable);
        }
+1 −1
Original line number Diff line number Diff line
@@ -149,7 +149,7 @@ public class GlobalActionsImpl implements GlobalActions, CommandQueue.Callbacks
        }

        if (mBlurUtils.supportsBlursOnWindows()) {
            background.setAlpha((int) (ScrimController.BUSY_SCRIM_ALPHA * 255));
            background.setAlpha((int) (ScrimController.BLUR_SCRIM_ALPHA * 255));
            mBlurUtils.applyBlur(d.getWindow().getDecorView().getViewRootImpl(),
                        mBlurUtils.blurRadiusOfRatio(1));
        } else {
+6 −3
Original line number Diff line number Diff line
@@ -40,8 +40,10 @@ open class BlurUtils @Inject constructor(
) : Dumpable {
    private val minBlurRadius = resources.getDimensionPixelSize(R.dimen.min_window_blur_radius)
    private val maxBlurRadius = resources.getDimensionPixelSize(R.dimen.max_window_blur_radius)
    private val blurSysProp = SystemProperties
    private val blurSupportedSysProp = SystemProperties
            .getBoolean("ro.surface_flinger.supports_background_blur", false)
    private val blurDisabledSysProp = SystemProperties
            .getBoolean("persist.sys.sf.disable_blurs", false)

    init {
        dumpManager.registerDumpable(javaClass.name, this)
@@ -97,7 +99,7 @@ open class BlurUtils @Inject constructor(
     * @return {@code true} when supported.
     */
    open fun supportsBlursOnWindows(): Boolean {
        return blurSysProp && ActivityManager.isHighEndGfx()
        return blurSupportedSysProp && !blurDisabledSysProp && ActivityManager.isHighEndGfx()
    }

    override fun dump(fd: FileDescriptor, pw: PrintWriter, args: Array<out String>) {
@@ -106,7 +108,8 @@ open class BlurUtils @Inject constructor(
            it.increaseIndent()
            it.println("minBlurRadius: $minBlurRadius")
            it.println("maxBlurRadius: $maxBlurRadius")
            it.println("blurSysProp: $blurSysProp")
            it.println("blurSupportedSysProp: $blurSupportedSysProp")
            it.println("blurDisabledSysProp: $blurDisabledSysProp")
            it.println("supportsBlursOnWindows: ${supportsBlursOnWindows()}")
        }
    }
+16 −10
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import com.android.systemui.Dumpable;
import com.android.systemui.R;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dock.DockManager;
import com.android.systemui.statusbar.BlurUtils;
import com.android.systemui.statusbar.ScrimView;
import com.android.systemui.statusbar.notification.stack.ViewState;
import com.android.systemui.statusbar.policy.KeyguardStateController;
@@ -107,21 +108,21 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
    /**
     * Default alpha value for most scrims.
     */
    public static final float SCRIM_ALPHA = 0.2f;
    protected static final float KEYGUARD_SCRIM_ALPHA = 0.2f;
    /**
     * Scrim opacity when the phone is about to wake-up.
     */
    public static final float WAKE_SENSOR_SCRIM_ALPHA = 0.6f;
    /**
     * A scrim varies its opacity based on a busyness factor, for example
     * how many notifications are currently visible.
     * The default scrim under the shade and dialogs.
     * This should not be lower than 0.54, otherwise we won't pass GAR.
     */
    public static final float BUSY_SCRIM_ALPHA = 0.75f;

    /**
     * The most common scrim, the one under the keyguard.
     * Same as above, but when blur is supported.
     */
    protected static final float SCRIM_BEHIND_ALPHA_KEYGUARD = SCRIM_ALPHA;
    public static final float BLUR_SCRIM_ALPHA = 0.54f;

    static final int TAG_KEY_ANIM = R.id.scrim;
    private static final int TAG_START_ALPHA = R.id.scrim_alpha_start;
@@ -146,7 +147,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
    private GradientColors mColors;
    private boolean mNeedsDrawableColorUpdate;

    private float mScrimBehindAlphaKeyguard = SCRIM_BEHIND_ALPHA_KEYGUARD;
    private float mScrimBehindAlphaKeyguard = KEYGUARD_SCRIM_ALPHA;
    private final float mDefaultScrimAlpha;

    // Assuming the shade is expanded during initialization
    private float mExpansionFraction = 1f;
@@ -192,9 +194,11 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
            AlarmManager alarmManager, KeyguardStateController keyguardStateController,
            DelayedWakeLock.Builder delayedWakeLockBuilder, Handler handler,
            KeyguardUpdateMonitor keyguardUpdateMonitor, SysuiColorExtractor sysuiColorExtractor,
            DockManager dockManager) {
            DockManager dockManager, BlurUtils blurUtils) {

        mScrimStateListener = lightBarController::setScrimState;
        mDefaultScrimAlpha = blurUtils.supportsBlursOnWindows()
                ? BLUR_SCRIM_ALPHA : BUSY_SCRIM_ALPHA;

        mKeyguardStateController = keyguardStateController;
        mDarkenWhileDragging = !mKeyguardStateController.canDismissLockScreen();
@@ -236,6 +240,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
            states[i].init(mScrimInFront, mScrimBehind, mScrimForBubble, mDozeParameters,
                    mDockManager);
            states[i].setScrimBehindAlphaKeyguard(mScrimBehindAlphaKeyguard);
            states[i].setDefaultScrimAlpha(mDefaultScrimAlpha);
        }

        mScrimBehind.setDefaultFocusHighlightEnabled(false);
@@ -483,7 +488,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
            // Darken scrim as you pull down the shade when unlocked
            float behindFraction = getInterpolatedFraction();
            behindFraction = (float) Math.pow(behindFraction, 0.8f);
            mBehindAlpha = behindFraction * BUSY_SCRIM_ALPHA;
            mBehindAlpha = behindFraction * mDefaultScrimAlpha;
            mInFrontAlpha = 0;
        } else if (mState == ScrimState.KEYGUARD || mState == ScrimState.PULSING) {
            // Either darken of make the scrim transparent when you
@@ -491,7 +496,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
            float interpolatedFract = getInterpolatedFraction();
            float alphaBehind = mState.getBehindAlpha();
            if (mDarkenWhileDragging) {
                mBehindAlpha = MathUtils.lerp(BUSY_SCRIM_ALPHA, alphaBehind,
                mBehindAlpha = MathUtils.lerp(mDefaultScrimAlpha, alphaBehind,
                        interpolatedFract);
                mInFrontAlpha = mState.getFrontAlpha();
            } else {
@@ -967,7 +972,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo

        pw.print("  mTracking=");
        pw.println(mTracking);

        pw.print("  mDefaultScrimAlpha=");
        pw.println(mDefaultScrimAlpha);
        pw.print("  mExpansionFraction=");
        pw.println(mExpansionFraction);
    }
+10 −5
Original line number Diff line number Diff line
@@ -92,7 +92,7 @@ public enum ScrimState {
    BOUNCER {
        @Override
        public void prepare(ScrimState previousState) {
            mBehindAlpha = ScrimController.BUSY_SCRIM_ALPHA;
            mBehindAlpha = mDefaultScrimAlpha;
            mFrontAlpha = 0f;
            mBubbleAlpha = 0f;
        }
@@ -106,7 +106,7 @@ public enum ScrimState {
        public void prepare(ScrimState previousState) {
            mBehindAlpha = 0;
            mBubbleAlpha = 0f;
            mFrontAlpha = ScrimController.BUSY_SCRIM_ALPHA;
            mFrontAlpha = mDefaultScrimAlpha;
        }
    },

@@ -233,9 +233,9 @@ public enum ScrimState {
            mBehindTint = Color.TRANSPARENT;
            mBubbleTint = Color.TRANSPARENT;

            mFrontAlpha = ScrimController.TRANSPARENT;
            mBehindAlpha = ScrimController.BUSY_SCRIM_ALPHA;
            mBubbleAlpha = ScrimController.BUSY_SCRIM_ALPHA;
            mFrontAlpha = 0f;
            mBehindAlpha = mDefaultScrimAlpha;
            mBubbleAlpha = mDefaultScrimAlpha;

            mAnimationDuration = ScrimController.ANIMATION_DURATION;
            mBlankScreen = false;
@@ -255,6 +255,7 @@ public enum ScrimState {
    float mBubbleAlpha;

    float mScrimBehindAlphaKeyguard;
    float mDefaultScrimAlpha;
    ScrimView mScrimInFront;
    ScrimView mScrimBehind;
    ScrimView mScrimForBubble;
@@ -341,6 +342,10 @@ public enum ScrimState {
        mScrimBehindAlphaKeyguard = scrimBehindAlphaKeyguard;
    }

    public void setDefaultScrimAlpha(float defaultScrimAlpha) {
        mDefaultScrimAlpha = defaultScrimAlpha;
    }

    public void setWallpaperSupportsAmbientMode(boolean wallpaperSupportsAmbientMode) {
        mWallpaperSupportsAmbientMode = wallpaperSupportsAmbientMode;
    }
Loading