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

Commit f2ddeaaf authored by Christian Göllner's avatar Christian Göllner Committed by Android (Google) Code Review
Browse files

Merge changes I08342269,I398baa6d into tm-dev

* changes:
  QSFragmentTest: add test for shade expansion and alpha interpolation
  Bouncer: Refine qs and notification alpha anim.
parents 5a79258c 2c6eec29
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -600,7 +600,7 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
        } else if (progress > 0 && view.getVisibility() != View.VISIBLE) {
        } else if (progress > 0 && view.getVisibility() != View.VISIBLE) {
            view.setVisibility((View.VISIBLE));
            view.setVisibility((View.VISIBLE));
        }
        }
        float alpha = (mState == StatusBarState.KEYGUARD || mState == StatusBarState.SHADE_LOCKED)
        float alpha = mQSPanelController.bouncerInTransit()
                ? BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(progress)
                ? BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(progress)
                : ShadeInterpolation.getContentAlpha(progress);
                : ShadeInterpolation.getContentAlpha(progress);
        view.setAlpha(alpha);
        view.setAlpha(alpha);
+14 −1
Original line number Original line Diff line number Diff line
@@ -43,6 +43,7 @@ import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.settings.brightness.BrightnessController;
import com.android.systemui.settings.brightness.BrightnessController;
import com.android.systemui.settings.brightness.BrightnessMirrorHandler;
import com.android.systemui.settings.brightness.BrightnessMirrorHandler;
import com.android.systemui.settings.brightness.BrightnessSliderController;
import com.android.systemui.settings.brightness.BrightnessSliderController;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.statusbar.policy.BrightnessMirrorController;
import com.android.systemui.tuner.TunerService;
import com.android.systemui.tuner.TunerService;


@@ -65,6 +66,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    private final BrightnessSliderController mBrightnessSliderController;
    private final BrightnessSliderController mBrightnessSliderController;
    private final BrightnessMirrorHandler mBrightnessMirrorHandler;
    private final BrightnessMirrorHandler mBrightnessMirrorHandler;
    private final FeatureFlags mFeatureFlags;
    private final FeatureFlags mFeatureFlags;
    private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;


    private boolean mGridContentVisible = true;
    private boolean mGridContentVisible = true;


@@ -101,7 +103,8 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
            DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
            DumpManager dumpManager, MetricsLogger metricsLogger, UiEventLogger uiEventLogger,
            QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
            QSLogger qsLogger, BrightnessController.Factory brightnessControllerFactory,
            BrightnessSliderController.Factory brightnessSliderFactory,
            BrightnessSliderController.Factory brightnessSliderFactory,
            FalsingManager falsingManager, FeatureFlags featureFlags) {
            FalsingManager falsingManager, FeatureFlags featureFlags,
            StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
        super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
        super(view, qstileHost, qsCustomizerController, usingMediaPlayer, mediaHost,
                metricsLogger, uiEventLogger, qsLogger, dumpManager);
                metricsLogger, uiEventLogger, qsLogger, dumpManager);
        mQSFgsManagerFooter = qsFgsManagerFooter;
        mQSFgsManagerFooter = qsFgsManagerFooter;
@@ -117,6 +120,7 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
        mBrightnessController = brightnessControllerFactory.create(mBrightnessSliderController);
        mBrightnessController = brightnessControllerFactory.create(mBrightnessSliderController);
        mBrightnessMirrorHandler = new BrightnessMirrorHandler(mBrightnessController);
        mBrightnessMirrorHandler = new BrightnessMirrorHandler(mBrightnessController);
        mFeatureFlags = featureFlags;
        mFeatureFlags = featureFlags;
        mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
        view.setUseNewFooter(featureFlags.isEnabled(Flags.NEW_FOOTER));
        view.setUseNewFooter(featureFlags.isEnabled(Flags.NEW_FOOTER));
    }
    }


@@ -281,5 +285,14 @@ public class QSPanelController extends QSPanelControllerBase<QSPanel> {
    void setPageMargin(int pageMargin) {
    void setPageMargin(int pageMargin) {
        mView.setPageMargin(pageMargin);
        mView.setPageMargin(pageMargin);
    }
    }

    /**
     * Determines if bouncer expansion is between 0 and 1 non-inclusive.
     *
     * @return if bouncer is in transit
     */
    public boolean bouncerInTransit() {
        return mStatusBarKeyguardViewManager.bouncerIsInTransit();
    }
}
}
+3 −4
Original line number Original line Diff line number Diff line
@@ -797,10 +797,9 @@ public abstract class PanelViewController {
            }
            }
            mExpandedFraction = Math.min(1f,
            mExpandedFraction = Math.min(1f,
                    maxPanelHeight == 0 ? 0 : mExpandedHeight / maxPanelHeight);
                    maxPanelHeight == 0 ? 0 : mExpandedHeight / maxPanelHeight);
            mAmbientState.setExpansionFraction(mKeyguardStateController.isUnlocked()
            mAmbientState.setExpansionFraction(mStatusBarKeyguardViewManager.bouncerIsInTransit()
                    ? mExpandedFraction
                    ? BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(mExpandedFraction)
                    : BouncerPanelExpansionCalculator
                    : mExpandedFraction);
                            .getBackScrimScaledExpansion(mExpandedFraction));
            onHeightUpdated(mExpandedHeight);
            onHeightUpdated(mExpandedHeight);
            updatePanelExpansionAndVisibility();
            updatePanelExpansionAndVisibility();
        });
        });
+5 −2
Original line number Original line Diff line number Diff line
@@ -204,6 +204,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
    private final Executor mMainExecutor;
    private final Executor mMainExecutor;
    private final ScreenOffAnimationController mScreenOffAnimationController;
    private final ScreenOffAnimationController mScreenOffAnimationController;
    private final KeyguardUnlockAnimationController mKeyguardUnlockAnimationController;
    private final KeyguardUnlockAnimationController mKeyguardUnlockAnimationController;
    private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;


    private GradientColors mColors;
    private GradientColors mColors;
    private boolean mNeedsDrawableColorUpdate;
    private boolean mNeedsDrawableColorUpdate;
@@ -266,7 +267,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
            ConfigurationController configurationController, @Main Executor mainExecutor,
            ConfigurationController configurationController, @Main Executor mainExecutor,
            ScreenOffAnimationController screenOffAnimationController,
            ScreenOffAnimationController screenOffAnimationController,
            PanelExpansionStateManager panelExpansionStateManager,
            PanelExpansionStateManager panelExpansionStateManager,
            KeyguardUnlockAnimationController keyguardUnlockAnimationController) {
            KeyguardUnlockAnimationController keyguardUnlockAnimationController,
            StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
        mScrimStateListener = lightBarController::setScrimState;
        mScrimStateListener = lightBarController::setScrimState;
        mDefaultScrimAlpha = BUSY_SCRIM_ALPHA;
        mDefaultScrimAlpha = BUSY_SCRIM_ALPHA;


@@ -292,6 +294,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
                        keyguardStateController.getKeyguardFadingAwayDuration());
                        keyguardStateController.getKeyguardFadingAwayDuration());
            }
            }
        });
        });
        mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
        configurationController.addCallback(new ConfigurationController.ConfigurationListener() {
        configurationController.addCallback(new ConfigurationController.ConfigurationListener() {
            @Override
            @Override
            public void onThemeChanged() {
            public void onThemeChanged() {
@@ -1057,7 +1060,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
    }
    }


    private float getInterpolatedFraction() {
    private float getInterpolatedFraction() {
        if (mState == ScrimState.KEYGUARD || mState == ScrimState.SHADE_LOCKED) {
        if (mStatusBarKeyguardViewManager.bouncerIsInTransit()) {
            return BouncerPanelExpansionCalculator
            return BouncerPanelExpansionCalculator
                    .getBackScrimScaledExpansion(mPanelExpansionFraction);
                    .getBackScrimScaledExpansion(mPanelExpansionFraction);
        }
        }
+9 −0
Original line number Original line Diff line number Diff line
@@ -1367,6 +1367,15 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb
        }
        }
    }
    }


    /**
     * Returns if bouncer expansion is between 0 and 1 non-inclusive.
     */
    public boolean bouncerIsInTransit() {
        if (mBouncer == null) return false;

        return mBouncer.inTransit();
    }

    /**
    /**
     * Delegate used to send show/reset events to an alternate authentication method instead of the
     * Delegate used to send show/reset events to an alternate authentication method instead of the
     * regular pin/pattern/password bouncer.
     * regular pin/pattern/password bouncer.
Loading