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

Commit e9363d6d authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Use DockManager to check whether it's docking or not"

parents 8416bcf8 50c5da43
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -90,14 +90,6 @@ public class DozeScrimController implements StateListener {
        public void onCancelled() {
            pulseFinished();
        }

        /**
         * Whether to timeout wallpaper or not.
         */
        @Override
        public boolean shouldTimeoutWallpaper() {
            return mPulseReason == DozeEvent.PULSE_REASON_DOCKING;
        }
    };

    @Inject
+0 −7
Original line number Diff line number Diff line
@@ -233,10 +233,6 @@ public final class DozeServiceHost implements DozeHost {
            mScrimController.setWakeLockScreenSensorActive(true);
        }

        if (reason == DozeEvent.PULSE_REASON_DOCKING && mStatusBarWindow != null) {
            mStatusBarWindowViewController.suppressWakeUpGesture(true);
        }

        boolean passiveAuthInterrupt = reason == DozeEvent.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN
                        && mWakeLockScreenPerformsAuth;
        // Set the state to pulsing, so ScrimController will know what to do once we ask it to
@@ -257,9 +253,6 @@ public final class DozeServiceHost implements DozeHost {
                callback.onPulseFinished();
                mStatusBar.updateNotificationPanelTouchState();
                mScrimController.setWakeLockScreenSensorActive(false);
                if (mStatusBarWindow != null) {
                    mStatusBarWindowViewController.suppressWakeUpGesture(false);
                }
                setPulsing(false);
            }

+21 −13
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import com.android.systemui.Dumpable;
import com.android.systemui.R;
import com.android.systemui.colorextraction.SysuiColorExtractor;
import com.android.systemui.dagger.qualifiers.MainResources;
import com.android.systemui.dock.DockManager;
import com.android.systemui.statusbar.ScrimView;
import com.android.systemui.statusbar.notification.stack.ViewState;
import com.android.systemui.statusbar.policy.KeyguardStateController;
@@ -136,6 +137,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
    private final KeyguardStateController mKeyguardStateController;
    private final KeyguardUpdateMonitor mKeyguardUpdateMonitor;
    private final DozeParameters mDozeParameters;
    private final DockManager mDockManager;
    private final AlarmTimeout mTimeTicker;
    private final KeyguardVisibilityCallback mKeyguardVisibilityCallback;
    private final Handler mHandler;
@@ -192,7 +194,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
            AlarmManager alarmManager, KeyguardStateController keyguardStateController,
            @MainResources Resources resources,
            DelayedWakeLock.Builder delayedWakeLockBuilder, Handler handler,
            KeyguardUpdateMonitor keyguardUpdateMonitor, SysuiColorExtractor sysuiColorExtractor) {
            KeyguardUpdateMonitor keyguardUpdateMonitor, SysuiColorExtractor sysuiColorExtractor,
            DockManager dockManager) {

        mScrimStateListener = lightBarController::setScrimState;

@@ -209,6 +212,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
        // to make sure that text on top of it is legible.
        mScrimBehindAlpha = mScrimBehindAlphaResValue;
        mDozeParameters = dozeParameters;
        mDockManager = dockManager;
        keyguardStateController.addCallback(new KeyguardStateController.Callback() {
            @Override
            public void onKeyguardFadingAwayChanged() {
@@ -234,7 +238,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo

        final ScrimState[] states = ScrimState.values();
        for (int i = 0; i < states.length; i++) {
            states[i].init(mScrimInFront, mScrimBehind, mScrimForBubble, mDozeParameters);
            states[i].init(mScrimInFront, mScrimBehind, mScrimForBubble, mDozeParameters,
                    mDockManager);
            states[i].setScrimBehindAlphaKeyguard(mScrimBehindAlphaKeyguard);
        }

@@ -359,11 +364,6 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
            return true;
        }

        if (mState == ScrimState.PULSING
                && mCallback != null && mCallback.shouldTimeoutWallpaper()) {
            return true;
        }

        return false;
    }

@@ -520,8 +520,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
     * device is dozing when the light sensor is on.
     */
    public void setAodFrontScrimAlpha(float alpha) {
        if (((mState == ScrimState.AOD && mDozeParameters.getAlwaysOn())
                || mState == ScrimState.PULSING) && mInFrontAlpha != alpha) {
        if (mInFrontAlpha != alpha && shouldUpdateFrontScrimAlpha()) {
            mInFrontAlpha = alpha;
            updateScrims();
        }
@@ -530,6 +529,19 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo
        mState.PULSING.setAodFrontScrimAlpha(alpha);
    }

    private boolean shouldUpdateFrontScrimAlpha() {
        if (mState == ScrimState.AOD
                && (mDozeParameters.getAlwaysOn() || mDockManager.isDocked())) {
            return true;
        }

        if (mState == ScrimState.PULSING) {
            return true;
        }

        return false;
    }

    /**
     * If the lock screen sensor is active.
     */
@@ -1022,10 +1034,6 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, OnCo

        default void onCancelled() {
        }
        /** Returns whether to timeout wallpaper or not. */
        default boolean shouldTimeoutWallpaper() {
            return false;
        }
    }

    /**
+6 −2
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.statusbar.phone;
import android.graphics.Color;
import android.os.Trace;

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

@@ -128,10 +129,11 @@ public enum ScrimState {
        @Override
        public void prepare(ScrimState previousState) {
            final boolean alwaysOnEnabled = mDozeParameters.getAlwaysOn();
            final boolean isDocked = mDockManager.isDocked();
            mBlankScreen = mDisplayRequiresBlanking;

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

            mBehindTint = Color.BLACK;
            mBehindAlpha = ScrimController.TRANSPARENT;
@@ -258,6 +260,7 @@ public enum ScrimState {
    ScrimView mScrimForBubble;

    DozeParameters mDozeParameters;
    DockManager mDockManager;
    boolean mDisplayRequiresBlanking;
    boolean mWallpaperSupportsAmbientMode;
    boolean mHasBackdrop;
@@ -267,12 +270,13 @@ public enum ScrimState {
    long mKeyguardFadingAwayDuration;

    public void init(ScrimView scrimInFront, ScrimView scrimBehind, ScrimView scrimForBubble,
            DozeParameters dozeParameters) {
            DozeParameters dozeParameters, DockManager dockManager) {
        mScrimInFront = scrimInFront;
        mScrimBehind = scrimBehind;
        mScrimForBubble = scrimForBubble;

        mDozeParameters = dozeParameters;
        mDockManager = dockManager;
        mDisplayRequiresBlanking = dozeParameters.getDisplayNeedsBlanking();
    }

+13 −11
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.view.ViewStub;
import com.android.internal.annotations.VisibleForTesting;
import com.android.systemui.ExpandHelper;
import com.android.systemui.R;
import com.android.systemui.dock.DockManager;
import com.android.systemui.doze.DozeLog;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -75,10 +76,10 @@ public class StatusBarWindowViewController {
    private PhoneStatusBarView mStatusBarView;
    private StatusBar mService;
    private DragDownHelper mDragDownHelper;
    private boolean mSuppressingWakeUpGesture;
    private boolean mDoubleTapEnabled;
    private boolean mSingleTapEnabled;
    private boolean mExpandingBelowNotch;
    private final DockManager mDockManager;

    private StatusBarWindowViewController(
            StatusBarWindowView view,
@@ -97,9 +98,11 @@ public class StatusBarWindowViewController {
            SysuiStatusBarStateController statusBarStateController,
            DozeLog dozeLog,
            DozeParameters dozeParameters,
            CommandQueue commandQueue) {
            CommandQueue commandQueue,
            DockManager dockManager) {
        mView = view;
        mFalsingManager = falsingManager;
        mDockManager = dockManager;

        // TODO: create controller for NotificationPanelView
        NotificationPanelView notificationPanelView = new NotificationPanelView(
@@ -158,7 +161,7 @@ public class StatusBarWindowViewController {
                new GestureDetector.SimpleOnGestureListener() {
                    @Override
                    public boolean onSingleTapConfirmed(MotionEvent e) {
                        if (mSingleTapEnabled && !mSuppressingWakeUpGesture) {
                        if (mSingleTapEnabled && !mDockManager.isDocked()) {
                            mService.wakeUpIfDozing(
                                    SystemClock.uptimeMillis(), mView, "SINGLE_TAP");
                            return true;
@@ -243,7 +246,7 @@ public class StatusBarWindowViewController {

            @Override
            public boolean shouldInterceptTouchEvent(MotionEvent ev) {
                if (mService.isDozing() && !mService.isPulsing()) {
                if (mService.isDozing() && !mService.isPulsing() && !mDockManager.isDocked()) {
                    // Capture all touch events in always-on.
                    return true;
                }
@@ -445,10 +448,6 @@ public class StatusBarWindowViewController {
        mDragDownHelper = dragDownHelper;
    }

    public void suppressWakeUpGesture(boolean suppress) {
        mSuppressingWakeUpGesture = suppress;
    }

    /**
     * When we're launching an affordance, like double pressing power to open camera.
     */
@@ -495,6 +494,7 @@ public class StatusBarWindowViewController {
        private final CommandQueue mCommandQueue;
        private final SuperStatusBarViewFactory mSuperStatusBarViewFactory;
        private final StatusBarWindowView mView;
        private final DockManager mDockManager;

        @Inject
        public Builder(
@@ -513,7 +513,8 @@ public class StatusBarWindowViewController {
                DozeLog dozeLog,
                DozeParameters dozeParameters,
                CommandQueue commandQueue,
                SuperStatusBarViewFactory superStatusBarViewFactory) {
                SuperStatusBarViewFactory superStatusBarViewFactory,
                DockManager dockManager) {
            mInjectionInflationController = injectionInflationController;
            mCoordinator = coordinator;
            mPulseExpansionHandler = pulseExpansionHandler;
@@ -530,8 +531,8 @@ public class StatusBarWindowViewController {
            mDozeParameters = dozeParameters;
            mCommandQueue = commandQueue;
            mSuperStatusBarViewFactory = superStatusBarViewFactory;

            mView = mSuperStatusBarViewFactory.getStatusBarWindowView();
            mDockManager = dockManager;
        }

        /**
@@ -563,7 +564,8 @@ public class StatusBarWindowViewController {
                    mStatusBarStateController,
                    mDozeLog,
                    mDozeParameters,
                    mCommandQueue);
                    mCommandQueue,
                    mDockManager);
        }
    }
}
Loading