Merge "[Status Bar Refactor] Move PanelBar#updateScrimFraction into ScrimController."
This commit is contained in:
commit
638a07e506
@ -3489,9 +3489,9 @@ public class NotificationPanelViewController extends PanelViewController {
|
|||||||
* cases, such as if there's a heads-up notification.
|
* cases, such as if there's a heads-up notification.
|
||||||
*/
|
*/
|
||||||
public void setPanelScrimMinFraction(float minFraction) {
|
public void setPanelScrimMinFraction(float minFraction) {
|
||||||
mBar.onPanelMinFractionChanged(minFraction);
|
|
||||||
mMinFraction = minFraction;
|
mMinFraction = minFraction;
|
||||||
mDepthController.setPanelPullDownMinFraction(mMinFraction);
|
mDepthController.setPanelPullDownMinFraction(mMinFraction);
|
||||||
|
mScrimController.setPanelScrimMinFraction(mMinFraction);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void clearNotificationEffects() {
|
public void clearNotificationEffects() {
|
||||||
|
@ -145,11 +145,6 @@ public abstract class PanelBar extends FrameLayout {
|
|||||||
return mPanel == null || mPanel.getView().dispatchTouchEvent(event);
|
return mPanel == null || mPanel.getView().dispatchTouchEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Percentage of panel expansion offset, caused by pulling down on a heads-up.
|
|
||||||
*/
|
|
||||||
abstract void onPanelMinFractionChanged(float minFraction);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param frac the fraction from the expansion in [0, 1]
|
* @param frac the fraction from the expansion in [0, 1]
|
||||||
* @param expanded whether the panel is currently expanded; this is independent from the
|
* @param expanded whether the panel is currently expanded; this is independent from the
|
||||||
|
@ -18,8 +18,6 @@ package com.android.systemui.statusbar.phone;
|
|||||||
|
|
||||||
import static com.android.systemui.ScreenDecorations.DisplayCutoutView.boundsFromDirection;
|
import static com.android.systemui.ScreenDecorations.DisplayCutoutView.boundsFromDirection;
|
||||||
|
|
||||||
import static java.lang.Float.isNaN;
|
|
||||||
|
|
||||||
import android.annotation.Nullable;
|
import android.annotation.Nullable;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
@ -57,7 +55,6 @@ public class PhoneStatusBarView extends PanelBar {
|
|||||||
StatusBar mBar;
|
StatusBar mBar;
|
||||||
|
|
||||||
private ScrimController mScrimController;
|
private ScrimController mScrimController;
|
||||||
private float mMinFraction;
|
|
||||||
private Runnable mHideExpandedRunnable = new Runnable() {
|
private Runnable mHideExpandedRunnable = new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
@ -267,21 +264,9 @@ public class PhoneStatusBarView extends PanelBar {
|
|||||||
return mBar.interceptTouchEvent(event) || super.onInterceptTouchEvent(event);
|
return mBar.interceptTouchEvent(event) || super.onInterceptTouchEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onPanelMinFractionChanged(float minFraction) {
|
|
||||||
if (isNaN(minFraction)) {
|
|
||||||
throw new IllegalArgumentException("minFraction cannot be NaN");
|
|
||||||
}
|
|
||||||
if (mMinFraction != minFraction) {
|
|
||||||
mMinFraction = minFraction;
|
|
||||||
updateScrimFraction();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void panelExpansionChanged(float frac, boolean expanded) {
|
public void panelExpansionChanged(float frac, boolean expanded) {
|
||||||
super.panelExpansionChanged(frac, expanded);
|
super.panelExpansionChanged(frac, expanded);
|
||||||
updateScrimFraction();
|
|
||||||
if ((frac == 0 || frac == 1)) {
|
if ((frac == 0 || frac == 1)) {
|
||||||
if (mPanelExpansionStateChangedListener != null) {
|
if (mPanelExpansionStateChangedListener != null) {
|
||||||
mPanelExpansionStateChangedListener.onPanelExpansionStateChanged();
|
mPanelExpansionStateChangedListener.onPanelExpansionStateChanged();
|
||||||
@ -302,15 +287,6 @@ public class PhoneStatusBarView extends PanelBar {
|
|||||||
mPanelEnabledProvider = panelEnabledProvider;
|
mPanelEnabledProvider = panelEnabledProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateScrimFraction() {
|
|
||||||
float scrimFraction = mPanelFraction;
|
|
||||||
if (mMinFraction < 1.0f) {
|
|
||||||
scrimFraction = Math.max((mPanelFraction - mMinFraction) / (1.0f - mMinFraction),
|
|
||||||
0);
|
|
||||||
}
|
|
||||||
mScrimController.setPanelExpansion(scrimFraction);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateResources() {
|
public void updateResources() {
|
||||||
mCutoutSideNudge = getResources().getDimensionPixelSize(
|
mCutoutSideNudge = getResources().getDimensionPixelSize(
|
||||||
R.dimen.display_cutout_margin_consumption);
|
R.dimen.display_cutout_margin_consumption);
|
||||||
|
@ -34,6 +34,7 @@ import android.view.ViewTreeObserver;
|
|||||||
import android.view.animation.DecelerateInterpolator;
|
import android.view.animation.DecelerateInterpolator;
|
||||||
import android.view.animation.Interpolator;
|
import android.view.animation.Interpolator;
|
||||||
|
|
||||||
|
import androidx.annotation.FloatRange;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
@ -183,8 +184,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
|
|||||||
private float mScrimBehindAlphaKeyguard = KEYGUARD_SCRIM_ALPHA;
|
private float mScrimBehindAlphaKeyguard = KEYGUARD_SCRIM_ALPHA;
|
||||||
private final float mDefaultScrimAlpha;
|
private final float mDefaultScrimAlpha;
|
||||||
|
|
||||||
// Assuming the shade is expanded during initialization
|
private float mRawPanelExpansionFraction;
|
||||||
private float mPanelExpansion = 1f;
|
private float mPanelScrimMinFraction;
|
||||||
|
// Calculated based on mRawPanelExpansionFraction and mPanelScrimMinFraction
|
||||||
|
private float mPanelExpansionFraction = 1f; // Assume shade is expanded during initialization
|
||||||
private float mQsExpansion;
|
private float mQsExpansion;
|
||||||
private boolean mQsBottomVisible;
|
private boolean mQsBottomVisible;
|
||||||
|
|
||||||
@ -483,14 +486,39 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
|
|||||||
*
|
*
|
||||||
* The expansion fraction is tied to the scrim opacity.
|
* The expansion fraction is tied to the scrim opacity.
|
||||||
*
|
*
|
||||||
* @param fraction From 0 to 1 where 0 means collapsed and 1 expanded.
|
* See {@link PanelBar#panelExpansionChanged}.
|
||||||
|
*
|
||||||
|
* @param rawPanelExpansionFraction From 0 to 1 where 0 means collapsed and 1 expanded.
|
||||||
*/
|
*/
|
||||||
public void setPanelExpansion(float fraction) {
|
public void setRawPanelExpansionFraction(
|
||||||
if (isNaN(fraction)) {
|
@FloatRange(from = 0.0, to = 1.0) float rawPanelExpansionFraction) {
|
||||||
throw new IllegalArgumentException("Fraction should not be NaN");
|
if (isNaN(rawPanelExpansionFraction)) {
|
||||||
|
throw new IllegalArgumentException("rawPanelExpansionFraction should not be NaN");
|
||||||
}
|
}
|
||||||
if (mPanelExpansion != fraction) {
|
mRawPanelExpansionFraction = rawPanelExpansionFraction;
|
||||||
mPanelExpansion = fraction;
|
calculateAndUpdatePanelExpansion();
|
||||||
|
}
|
||||||
|
|
||||||
|
/** See {@link NotificationPanelViewController#setPanelScrimMinFraction(float)}. */
|
||||||
|
public void setPanelScrimMinFraction(float minFraction) {
|
||||||
|
if (isNaN(minFraction)) {
|
||||||
|
throw new IllegalArgumentException("minFraction should not be NaN");
|
||||||
|
}
|
||||||
|
mPanelScrimMinFraction = minFraction;
|
||||||
|
calculateAndUpdatePanelExpansion();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void calculateAndUpdatePanelExpansion() {
|
||||||
|
float panelExpansionFraction = mRawPanelExpansionFraction;
|
||||||
|
if (mPanelScrimMinFraction < 1.0f) {
|
||||||
|
panelExpansionFraction = Math.max(
|
||||||
|
(mRawPanelExpansionFraction - mPanelScrimMinFraction)
|
||||||
|
/ (1.0f - mPanelScrimMinFraction),
|
||||||
|
0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mPanelExpansionFraction != panelExpansionFraction) {
|
||||||
|
mPanelExpansionFraction = panelExpansionFraction;
|
||||||
|
|
||||||
boolean relevantState = (mState == ScrimState.UNLOCKED
|
boolean relevantState = (mState == ScrimState.UNLOCKED
|
||||||
|| mState == ScrimState.KEYGUARD
|
|| mState == ScrimState.KEYGUARD
|
||||||
@ -892,7 +920,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
|
|||||||
}
|
}
|
||||||
|
|
||||||
private float getInterpolatedFraction() {
|
private float getInterpolatedFraction() {
|
||||||
return Interpolators.getNotificationScrimAlpha(mPanelExpansion, false /* notification */);
|
return Interpolators.getNotificationScrimAlpha(
|
||||||
|
mPanelExpansionFraction, false /* notification */);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setScrimAlpha(ScrimView scrim, float alpha) {
|
private void setScrimAlpha(ScrimView scrim, float alpha) {
|
||||||
@ -1228,8 +1257,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
|
|||||||
pw.println(mTracking);
|
pw.println(mTracking);
|
||||||
pw.print(" mDefaultScrimAlpha=");
|
pw.print(" mDefaultScrimAlpha=");
|
||||||
pw.println(mDefaultScrimAlpha);
|
pw.println(mDefaultScrimAlpha);
|
||||||
pw.print(" mExpansionFraction=");
|
pw.print(" mPanelExpansionFraction=");
|
||||||
pw.println(mPanelExpansion);
|
pw.println(mPanelExpansionFraction);
|
||||||
pw.print(" mExpansionAffectsAlpha=");
|
pw.print(" mExpansionAffectsAlpha=");
|
||||||
pw.println(mExpansionAffectsAlpha);
|
pw.println(mExpansionAffectsAlpha);
|
||||||
|
|
||||||
|
@ -899,6 +899,8 @@ public class StatusBar extends SystemUI implements
|
|||||||
lockscreenShadeTransitionController.setStatusbar(this);
|
lockscreenShadeTransitionController.setStatusbar(this);
|
||||||
|
|
||||||
mExpansionChangedListeners = new ArrayList<>();
|
mExpansionChangedListeners = new ArrayList<>();
|
||||||
|
addExpansionChangedListener(
|
||||||
|
(expansion, expanded) -> mScrimController.setRawPanelExpansionFraction(expansion));
|
||||||
|
|
||||||
mBubbleExpandListener =
|
mBubbleExpandListener =
|
||||||
(isExpanding, key) -> mContext.getMainExecutor().execute(() -> {
|
(isExpanding, key) -> mContext.getMainExecutor().execute(() -> {
|
||||||
@ -1404,6 +1406,12 @@ public class StatusBar extends SystemUI implements
|
|||||||
mDeviceProvisionedController.addCallback(mUserSetupObserver);
|
mDeviceProvisionedController.addCallback(mUserSetupObserver);
|
||||||
mUserSetupObserver.onUserSetupChanged();
|
mUserSetupObserver.onUserSetupChanged();
|
||||||
|
|
||||||
|
for (ExpansionChangedListener listener : mExpansionChangedListeners) {
|
||||||
|
// The initial expansion amount comes from mNotificationPanelViewController, so we
|
||||||
|
// should send the amount once we've fully set up that controller.
|
||||||
|
sendInitialExpansionAmount(listener);
|
||||||
|
}
|
||||||
|
|
||||||
// disable profiling bars, since they overlap and clutter the output on app windows
|
// disable profiling bars, since they overlap and clutter the output on app windows
|
||||||
ThreadedRenderer.overrideProperty("disableProfileBars", "true");
|
ThreadedRenderer.overrideProperty("disableProfileBars", "true");
|
||||||
|
|
||||||
@ -4233,9 +4241,11 @@ public class StatusBar extends SystemUI implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void sendInitialExpansionAmount(ExpansionChangedListener expansionChangedListener) {
|
private void sendInitialExpansionAmount(ExpansionChangedListener expansionChangedListener) {
|
||||||
expansionChangedListener.onExpansionChanged(
|
if (mNotificationPanelViewController != null) {
|
||||||
mNotificationPanelViewController.getExpandedFraction(),
|
expansionChangedListener.onExpansionChanged(
|
||||||
mNotificationPanelViewController.isExpanded());
|
mNotificationPanelViewController.getExpandedFraction(),
|
||||||
|
mNotificationPanelViewController.isExpanded());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeExpansionChangedListener(@NonNull ExpansionChangedListener listener) {
|
public void removeExpansionChangedListener(@NonNull ExpansionChangedListener listener) {
|
||||||
|
@ -623,7 +623,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void transitionToUnlocked() {
|
public void transitionToUnlocked() {
|
||||||
mScrimController.setPanelExpansion(0f);
|
mScrimController.setRawPanelExpansionFraction(0f);
|
||||||
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
assertScrimAlpha(Map.of(
|
assertScrimAlpha(Map.of(
|
||||||
@ -638,7 +638,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
));
|
));
|
||||||
|
|
||||||
// Back scrim should be visible after start dragging
|
// Back scrim should be visible after start dragging
|
||||||
mScrimController.setPanelExpansion(0.3f);
|
mScrimController.setRawPanelExpansionFraction(0.3f);
|
||||||
assertScrimAlpha(Map.of(
|
assertScrimAlpha(Map.of(
|
||||||
mScrimInFront, TRANSPARENT,
|
mScrimInFront, TRANSPARENT,
|
||||||
mNotificationsScrim, SEMI_TRANSPARENT,
|
mNotificationsScrim, SEMI_TRANSPARENT,
|
||||||
@ -663,20 +663,20 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void panelExpansion() {
|
public void panelExpansion() {
|
||||||
mScrimController.setPanelExpansion(0f);
|
mScrimController.setRawPanelExpansionFraction(0f);
|
||||||
mScrimController.setPanelExpansion(0.5f);
|
mScrimController.setRawPanelExpansionFraction(0.5f);
|
||||||
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
|
|
||||||
reset(mScrimBehind);
|
reset(mScrimBehind);
|
||||||
mScrimController.setPanelExpansion(0f);
|
mScrimController.setRawPanelExpansionFraction(0f);
|
||||||
mScrimController.setPanelExpansion(1.0f);
|
mScrimController.setRawPanelExpansionFraction(1.0f);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
|
|
||||||
assertEquals("Scrim alpha should change after setPanelExpansion",
|
assertEquals("Scrim alpha should change after setPanelExpansion",
|
||||||
mScrimBehindAlpha, mScrimBehind.getViewAlpha(), 0.01f);
|
mScrimBehindAlpha, mScrimBehind.getViewAlpha(), 0.01f);
|
||||||
|
|
||||||
mScrimController.setPanelExpansion(0f);
|
mScrimController.setRawPanelExpansionFraction(0f);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
|
|
||||||
assertEquals("Scrim alpha should change after setPanelExpansion",
|
assertEquals("Scrim alpha should change after setPanelExpansion",
|
||||||
@ -723,21 +723,21 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void panelExpansionAffectsAlpha() {
|
public void panelExpansionAffectsAlpha() {
|
||||||
mScrimController.setPanelExpansion(0f);
|
mScrimController.setRawPanelExpansionFraction(0f);
|
||||||
mScrimController.setPanelExpansion(0.5f);
|
mScrimController.setRawPanelExpansionFraction(0.5f);
|
||||||
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
|
|
||||||
final float scrimAlpha = mScrimBehind.getViewAlpha();
|
final float scrimAlpha = mScrimBehind.getViewAlpha();
|
||||||
reset(mScrimBehind);
|
reset(mScrimBehind);
|
||||||
mScrimController.setExpansionAffectsAlpha(false);
|
mScrimController.setExpansionAffectsAlpha(false);
|
||||||
mScrimController.setPanelExpansion(0.8f);
|
mScrimController.setRawPanelExpansionFraction(0.8f);
|
||||||
verifyZeroInteractions(mScrimBehind);
|
verifyZeroInteractions(mScrimBehind);
|
||||||
assertEquals("Scrim opacity shouldn't change when setExpansionAffectsAlpha "
|
assertEquals("Scrim opacity shouldn't change when setExpansionAffectsAlpha "
|
||||||
+ "is false", scrimAlpha, mScrimBehind.getViewAlpha(), 0.01f);
|
+ "is false", scrimAlpha, mScrimBehind.getViewAlpha(), 0.01f);
|
||||||
|
|
||||||
mScrimController.setExpansionAffectsAlpha(true);
|
mScrimController.setExpansionAffectsAlpha(true);
|
||||||
mScrimController.setPanelExpansion(0.1f);
|
mScrimController.setRawPanelExpansionFraction(0.1f);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
Assert.assertNotEquals("Scrim opacity should change when setExpansionAffectsAlpha "
|
Assert.assertNotEquals("Scrim opacity should change when setExpansionAffectsAlpha "
|
||||||
+ "is true", scrimAlpha, mScrimBehind.getViewAlpha(), 0.01f);
|
+ "is true", scrimAlpha, mScrimBehind.getViewAlpha(), 0.01f);
|
||||||
@ -747,7 +747,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
public void transitionToUnlockedFromOff() {
|
public void transitionToUnlockedFromOff() {
|
||||||
// Simulate unlock with fingerprint without AOD
|
// Simulate unlock with fingerprint without AOD
|
||||||
mScrimController.transitionTo(ScrimState.OFF);
|
mScrimController.transitionTo(ScrimState.OFF);
|
||||||
mScrimController.setPanelExpansion(0f);
|
mScrimController.setRawPanelExpansionFraction(0f);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
||||||
|
|
||||||
@ -769,7 +769,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
public void transitionToUnlockedFromAod() {
|
public void transitionToUnlockedFromAod() {
|
||||||
// Simulate unlock with fingerprint
|
// Simulate unlock with fingerprint
|
||||||
mScrimController.transitionTo(ScrimState.AOD);
|
mScrimController.transitionTo(ScrimState.AOD);
|
||||||
mScrimController.setPanelExpansion(0f);
|
mScrimController.setRawPanelExpansionFraction(0f);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
||||||
|
|
||||||
@ -948,7 +948,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void testConservesExpansionOpacityAfterTransition() {
|
public void testConservesExpansionOpacityAfterTransition() {
|
||||||
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
||||||
mScrimController.setPanelExpansion(0.5f);
|
mScrimController.setRawPanelExpansionFraction(0.5f);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
|
|
||||||
final float expandedAlpha = mScrimBehind.getViewAlpha();
|
final float expandedAlpha = mScrimBehind.getViewAlpha();
|
||||||
@ -1075,7 +1075,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void testScrimsOpaque_whenShadeFullyExpanded() {
|
public void testScrimsOpaque_whenShadeFullyExpanded() {
|
||||||
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
||||||
mScrimController.setPanelExpansion(1);
|
mScrimController.setRawPanelExpansionFraction(1);
|
||||||
// notifications scrim alpha change require calling setQsPosition
|
// notifications scrim alpha change require calling setQsPosition
|
||||||
mScrimController.setQsPosition(0, 300);
|
mScrimController.setQsPosition(0, 300);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
@ -1089,7 +1089,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void testScrimsVisible_whenShadeVisible() {
|
public void testScrimsVisible_whenShadeVisible() {
|
||||||
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
||||||
mScrimController.setPanelExpansion(0.3f);
|
mScrimController.setRawPanelExpansionFraction(0.3f);
|
||||||
// notifications scrim alpha change require calling setQsPosition
|
// notifications scrim alpha change require calling setQsPosition
|
||||||
mScrimController.setQsPosition(0, 300);
|
mScrimController.setQsPosition(0, 300);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
@ -1124,7 +1124,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
public void testScrimsVisible_whenShadeVisible_clippingQs() {
|
public void testScrimsVisible_whenShadeVisible_clippingQs() {
|
||||||
mScrimController.setClipsQsScrim(true);
|
mScrimController.setClipsQsScrim(true);
|
||||||
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
mScrimController.transitionTo(ScrimState.UNLOCKED);
|
||||||
mScrimController.setPanelExpansion(0.3f);
|
mScrimController.setRawPanelExpansionFraction(0.3f);
|
||||||
// notifications scrim alpha change require calling setQsPosition
|
// notifications scrim alpha change require calling setQsPosition
|
||||||
mScrimController.setQsPosition(0.5f, 300);
|
mScrimController.setQsPosition(0.5f, 300);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
@ -1150,7 +1150,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
public void testNotificationScrimTransparent_whenOnLockscreen() {
|
public void testNotificationScrimTransparent_whenOnLockscreen() {
|
||||||
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
||||||
// even if shade is not pulled down, panel has expansion of 1 on the lockscreen
|
// even if shade is not pulled down, panel has expansion of 1 on the lockscreen
|
||||||
mScrimController.setPanelExpansion(1);
|
mScrimController.setRawPanelExpansionFraction(1);
|
||||||
mScrimController.setQsPosition(0f, /*qs panel bottom*/ 0);
|
mScrimController.setQsPosition(0f, /*qs panel bottom*/ 0);
|
||||||
|
|
||||||
assertScrimAlpha(Map.of(
|
assertScrimAlpha(Map.of(
|
||||||
@ -1160,7 +1160,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testNotificationScrimVisible_afterOpeningShadeFromLockscreen() {
|
public void testNotificationScrimVisible_afterOpeningShadeFromLockscreen() {
|
||||||
mScrimController.setPanelExpansion(1);
|
mScrimController.setRawPanelExpansionFraction(1);
|
||||||
mScrimController.transitionTo(ScrimState.SHADE_LOCKED);
|
mScrimController.transitionTo(ScrimState.SHADE_LOCKED);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
|
|
||||||
@ -1203,11 +1203,11 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
@Test
|
@Test
|
||||||
public void testNotificationTransparency_followsTransitionToFullShade() {
|
public void testNotificationTransparency_followsTransitionToFullShade() {
|
||||||
mScrimController.transitionTo(ScrimState.SHADE_LOCKED);
|
mScrimController.transitionTo(ScrimState.SHADE_LOCKED);
|
||||||
mScrimController.setPanelExpansion(1.0f);
|
mScrimController.setRawPanelExpansionFraction(1.0f);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
float shadeLockedAlpha = mNotificationsScrim.getViewAlpha();
|
float shadeLockedAlpha = mNotificationsScrim.getViewAlpha();
|
||||||
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
mScrimController.transitionTo(ScrimState.KEYGUARD);
|
||||||
mScrimController.setPanelExpansion(1.0f);
|
mScrimController.setRawPanelExpansionFraction(1.0f);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
float keyguardAlpha = mNotificationsScrim.getViewAlpha();
|
float keyguardAlpha = mNotificationsScrim.getViewAlpha();
|
||||||
|
|
||||||
@ -1227,7 +1227,7 @@ public class ScrimControllerTest extends SysuiTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void assertAlphaAfterExpansion(ScrimView scrim, float expectedAlpha, float expansion) {
|
private void assertAlphaAfterExpansion(ScrimView scrim, float expectedAlpha, float expansion) {
|
||||||
mScrimController.setPanelExpansion(expansion);
|
mScrimController.setRawPanelExpansionFraction(expansion);
|
||||||
finishAnimationsImmediately();
|
finishAnimationsImmediately();
|
||||||
// alpha is not changing linearly thus 0.2 of leeway when asserting
|
// alpha is not changing linearly thus 0.2 of leeway when asserting
|
||||||
assertEquals(expectedAlpha, mNotificationsScrim.getViewAlpha(), 0.2);
|
assertEquals(expectedAlpha, mNotificationsScrim.getViewAlpha(), 0.2);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user