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

Commit d2783b35 authored by Aaron Liu's avatar Aaron Liu Committed by Automerger Merge Worker
Browse files

Merge "Bouncer: Remove overlap with shade and bouncer" into tm-dev am: fe4ffe11

parents b8f2d68f fe4ffe11
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.view.ViewTreeObserver;
import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting;

import com.android.keyguard.BouncerPanelExpansionCalculator;
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
import com.android.systemui.animation.ShadeInterpolation;
@@ -593,7 +594,9 @@ public class QSFragment extends LifecycleFragment implements QS, CommandQueue.Ca
        } else if (progress > 0 && view.getVisibility() != View.VISIBLE) {
            view.setVisibility((View.VISIBLE));
        }
        float alpha = ShadeInterpolation.getContentAlpha(progress);
        float alpha = (mState == StatusBarState.KEYGUARD || mState == StatusBarState.SHADE_LOCKED)
                ? BouncerPanelExpansionCalculator.getBackScrimScaledExpansion(progress)
                : ShadeInterpolation.getContentAlpha(progress);
        view.setAlpha(alpha);
    }

+5 −1
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ import android.view.animation.Interpolator;
import com.android.internal.jank.InteractionJankMonitor;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.util.LatencyTracker;
import com.android.keyguard.BouncerPanelExpansionCalculator;
import com.android.systemui.DejankUtils;
import com.android.systemui.R;
import com.android.systemui.animation.Interpolators;
@@ -796,7 +797,10 @@ public abstract class PanelViewController {
            }
            mExpandedFraction = Math.min(1f,
                    maxPanelHeight == 0 ? 0 : mExpandedHeight / maxPanelHeight);
            mAmbientState.setExpansionFraction(mExpandedFraction);
            mAmbientState.setExpansionFraction(mKeyguardStateController.isUnlocked()
                    ? mExpandedFraction
                    : BouncerPanelExpansionCalculator
                            .getBackScrimScaledExpansion(mExpandedFraction));
            onHeightUpdated(mExpandedHeight);
            updatePanelExpansionAndVisibility();
        });
+5 −8
Original line number Diff line number Diff line
@@ -875,14 +875,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
    private Pair<Integer, Float> calculateBackStateForState(ScrimState state) {
        // Either darken of make the scrim transparent when you
        // pull down the shade
        float interpolatedFract;

        if (state == ScrimState.KEYGUARD)  {
            interpolatedFract = BouncerPanelExpansionCalculator
                    .getBackScrimScaledExpansion(mPanelExpansionFraction);
        } else {
            interpolatedFract = getInterpolatedFraction();
        }
        float interpolatedFract = getInterpolatedFraction();

        float stateBehind = mClipsQsScrim ? state.getNotifAlpha() : state.getBehindAlpha();
        float behindAlpha;
@@ -1064,6 +1057,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
    }

    private float getInterpolatedFraction() {
        if (mState == ScrimState.KEYGUARD || mState == ScrimState.SHADE_LOCKED) {
            return BouncerPanelExpansionCalculator
                    .getBackScrimScaledExpansion(mPanelExpansionFraction);
        }
        return ShadeInterpolation.getNotificationScrimAlpha(mPanelExpansionFraction);
    }

+6 −5
Original line number Diff line number Diff line
@@ -1236,8 +1236,8 @@ public class ScrimControllerTest extends SysuiTestCase {
    public void testNotificationTransparency_followsPanelExpansionInShadeLockedState() {
        mScrimController.transitionTo(ScrimState.SHADE_LOCKED);

        assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.8f, /* expansion */ 0.8f);
        assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.47f, /* expansion */ 0.2f);
        assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 0.8f);
        assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0f, /* expansion */ 0.2f);
    }

    @Test
@@ -1250,15 +1250,16 @@ public class ScrimControllerTest extends SysuiTestCase {

        // Verify normal behavior after
        mScrimController.setUnocclusionAnimationRunning(false);
        assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f);
        assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.4f);
    }

    @Test
    public void testNotificationTransparency_inKeyguardState() {
        mScrimController.transitionTo(ScrimState.KEYGUARD);

        assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.2f, /* expansion */ 0.4f);
        assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 0.52f, /* expansion */ 0.2f);
        assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.8f);
        assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.4f);
        assertAlphaAfterExpansion(mNotificationsScrim, /* alpha */ 1f, /* expansion */ 0.2f);
    }

    @Test