1
- 0.62
+ 32dp
110dp
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java
index 6023b7f6f4f7e..c811fdd2fe2ae 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/ScrimView.java
@@ -26,17 +26,18 @@ import android.graphics.PorterDuff;
import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffColorFilter;
import android.graphics.drawable.Drawable;
-import android.os.Handler;
import android.os.Looper;
import android.util.AttributeSet;
import android.view.View;
+import androidx.annotation.DimenRes;
import androidx.core.graphics.ColorUtils;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.colorextraction.ColorExtractor;
import com.android.internal.colorextraction.drawable.ScrimDrawable;
+import com.android.systemui.R;
import java.util.concurrent.Executor;
@@ -47,6 +48,10 @@ import java.util.concurrent.Executor;
* need to be careful to synchronize when necessary.
*/
public class ScrimView extends View {
+
+ @DimenRes
+ private static final int CORNER_RADIUS = R.dimen.notification_scrim_corner_radius;
+
private final Object mColorLock = new Object();
@GuardedBy("mColorLock")
@@ -260,4 +265,27 @@ public class ScrimView extends View {
mExecutor.execute(r);
}
}
+
+ /**
+ * Make bottom edge concave so overlap between layers is not visible for alphas between 0 and 1
+ * @return height of concavity
+ */
+ public float enableBottomEdgeConcave() {
+ if (mDrawable instanceof ScrimDrawable) {
+ float radius = getResources().getDimensionPixelSize(CORNER_RADIUS);
+ ((ScrimDrawable) mDrawable).setBottomEdgeConcave(radius);
+ return radius;
+ }
+ return 0;
+ }
+
+ /**
+ * Enable view to have rounded corners with radius of {@link #CORNER_RADIUS}
+ */
+ public void enableRoundedCorners() {
+ if (mDrawable instanceof ScrimDrawable) {
+ int radius = getResources().getDimensionPixelSize(CORNER_RADIUS);
+ ((ScrimDrawable) mDrawable).setRoundedCorners(radius);
+ }
+ }
}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
index d3da0bce0a155..1b9355fcb2c47 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
@@ -1991,10 +1991,22 @@ public class NotificationPanelViewController extends PanelViewController {
float qsExpansionFraction = getQsExpansionFraction();
mQs.setQsExpansion(qsExpansionFraction, getHeaderTranslation());
mMediaHierarchyManager.setQsExpansion(qsExpansionFraction);
- mScrimController.setQsExpansion(qsExpansionFraction);
+ mScrimController.setQsPosition(qsExpansionFraction,
+ calculateQsBottomPosition(qsExpansionFraction));
mNotificationStackScrollLayoutController.setQsExpansionFraction(qsExpansionFraction);
}
+ private int calculateQsBottomPosition(float qsExpansionFraction) {
+ int qsBottomY = (int) getHeaderTranslation() + mQs.getQsMinExpansionHeight();
+ if (qsExpansionFraction != 0.0) {
+ qsBottomY = (int) MathUtils.lerp(
+ qsBottomY, mQs.getDesiredHeight(), qsExpansionFraction);
+ }
+ // to account for shade overshooting animation, see setSectionPadding method
+ if (mSectionPadding > 0) qsBottomY += mSectionPadding;
+ return qsBottomY;
+ }
+
private String determineAccessibilityPaneTitle() {
if (mQs != null && mQs.isCustomizing()) {
return mResources.getString(R.string.accessibility_desc_quick_settings_edit);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
index 270a0f8c5d5ec..681f450428ee3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -24,7 +24,6 @@ import android.animation.ValueAnimator;
import android.annotation.IntDef;
import android.app.AlarmManager;
import android.graphics.Color;
-import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.Trace;
import android.util.Log;
@@ -49,7 +48,6 @@ import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dock.DockManager;
-import com.android.systemui.statusbar.BlurUtils;
import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.ScrimView;
import com.android.systemui.statusbar.notification.stack.ViewState;
@@ -142,6 +140,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
private ScrimState mState = ScrimState.UNINITIALIZED;
private ScrimView mScrimInFront;
+ private ScrimView mNotificationsScrim;
private ScrimView mScrimBehind;
@Nullable
private ScrimView mScrimForBubble;
@@ -156,7 +155,6 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
private final KeyguardVisibilityCallback mKeyguardVisibilityCallback;
private final Handler mHandler;
private final Executor mMainExecutor;
- private final BlurUtils mBlurUtils;
private GradientColors mColors;
private boolean mNeedsDrawableColorUpdate;
@@ -180,6 +178,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
private float mInFrontAlpha = NOT_INITIALIZED;
private float mBehindAlpha = NOT_INITIALIZED;
+ private float mNotificationsAlpha = NOT_INITIALIZED;
private float mBubbleAlpha = NOT_INITIALIZED;
private int mInFrontTint;
@@ -209,12 +208,11 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
AlarmManager alarmManager, KeyguardStateController keyguardStateController,
DelayedWakeLock.Builder delayedWakeLockBuilder, Handler handler,
KeyguardUpdateMonitor keyguardUpdateMonitor, DockManager dockManager,
- BlurUtils blurUtils, ConfigurationController configurationController,
+ ConfigurationController configurationController,
FeatureFlags featureFlags, @Main Executor mainExecutor) {
mScrimStateListener = lightBarController::setScrimState;
mDefaultScrimAlpha = featureFlags.isShadeOpaque() ? BUSY_SCRIM_ALPHA : GAR_SCRIM_ALPHA;
ScrimState.BUBBLE_EXPANDED.setBubbleAlpha(BUBBLE_SCRIM_ALPHA);
- mBlurUtils = blurUtils;
mKeyguardStateController = keyguardStateController;
mDarkenWhileDragging = !mKeyguardStateController.canDismissLockScreen();
@@ -259,13 +257,16 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
/**
* Attach the controller to the supplied views.
*/
- public void attachViews(
- ScrimView scrimBehind, ScrimView scrimInFront, @Nullable ScrimView scrimForBubble) {
- mScrimBehind = scrimBehind;
+ public void attachViews(ScrimView behindScrim, ScrimView notificationsScrim,
+ ScrimView scrimInFront, @Nullable ScrimView scrimForBubble) {
+ mNotificationsScrim = notificationsScrim;
+ mScrimBehind = behindScrim;
mScrimInFront = scrimInFront;
mScrimForBubble = scrimForBubble;
updateThemeColors();
+ mNotificationsScrim.enableRoundedCorners();
+
if (mScrimBehindChangeRunnable != null) {
mScrimBehind.setChangeRunnable(mScrimBehindChangeRunnable, mMainExecutor);
mScrimBehindChangeRunnable = null;
@@ -280,6 +281,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
}
mScrimBehind.setDefaultFocusHighlightEnabled(false);
+ mNotificationsScrim.setDefaultFocusHighlightEnabled(false);
mScrimInFront.setDefaultFocusHighlightEnabled(false);
if (mScrimForBubble != null) {
mScrimForBubble.setDefaultFocusHighlightEnabled(false);
@@ -344,6 +346,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
// We need to disable focus otherwise AOD would end up with a gray overlay.
mScrimInFront.setFocusable(!state.isLowPowerState());
mScrimBehind.setFocusable(!state.isLowPowerState());
+ mNotificationsScrim.setFocusable(!state.isLowPowerState());
// Cancel blanking transitions that were pending before we requested a new state
if (mPendingFrameCallback != null) {
@@ -484,18 +487,20 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
}
/**
- * Current state of the QuickSettings expansion when pulling it from the top.
+ * Current state of the QuickSettings when pulling it from the top.
*
- * @param fraction From 0 to 1 where 0 means collapsed and 1 expanded.
+ * @param expansionFraction From 0 to 1 where 0 means collapsed and 1 expanded.
+ * @param qsPanelBottomY absolute Y position of qs panel bottom
*/
- public void setQsExpansion(float fraction) {
- if (isNaN(fraction)) {
+ public void setQsPosition(float expansionFraction, int qsPanelBottomY) {
+ if (isNaN(expansionFraction)) {
return;
}
- if (mQsExpansion != fraction) {
- mQsExpansion = fraction;
+ shiftNotificationsScrim(qsPanelBottomY);
+ updateNotificationsScrimAlpha(qsPanelBottomY);
+ if (mQsExpansion != expansionFraction) {
+ mQsExpansion = expansionFraction;
Log.d(TAG, "set qs fraction");
-
boolean relevantState = (mState == ScrimState.SHADE_LOCKED
|| mState == ScrimState.KEYGUARD
|| mState == ScrimState.PULSING
@@ -507,6 +512,32 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
}
}
+ private void shiftNotificationsScrim(int qsPanelBottomY) {
+ if (qsPanelBottomY > 0) {
+ mNotificationsScrim.setTranslationY(qsPanelBottomY);
+ } else {
+ mNotificationsScrim.setTranslationY(0);
+ }
+ }
+
+ private void updateNotificationsScrimAlpha(int qsPanelBottomY) {
+ float newAlpha = 0;
+ if (qsPanelBottomY > 0) {
+ float interpolator = 0;
+ if (mState == ScrimState.UNLOCKED || mState == ScrimState.SHADE_LOCKED) {
+ interpolator = getInterpolatedFraction();
+ } else {
+ interpolator = mQsExpansion;
+ }
+ newAlpha = MathUtils.lerp(0, 1, interpolator);
+ }
+ if (newAlpha != mNotificationsAlpha) {
+ mNotificationsAlpha = newAlpha;
+ // update alpha without animating
+ mNotificationsScrim.setViewAlpha(newAlpha);
+ }
+ }
+
private void setOrAdaptCurrentAnimation(@Nullable View scrim) {
if (scrim == null) {
return;
@@ -575,6 +606,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
return;
}
setOrAdaptCurrentAnimation(mScrimBehind);
+ setOrAdaptCurrentAnimation(mNotificationsScrim);
setOrAdaptCurrentAnimation(mScrimInFront);
setOrAdaptCurrentAnimation(mScrimForBubble);
dispatchScrimState(mScrimBehind.getViewAlpha());
@@ -590,14 +622,6 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
}
}
- /**
- * Sets the given drawable as the background of the scrim that shows up behind the
- * notifications.
- */
- public void setScrimBehindDrawable(Drawable drawable) {
- mScrimBehind.setDrawable(drawable);
- }
-
/**
* Sets the front scrim opacity in AOD so it's not as bright.
*
@@ -667,10 +691,13 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
mNeedsDrawableColorUpdate = false;
// Only animate scrim color if the scrim view is actually visible
boolean animateScrimInFront = mScrimInFront.getViewAlpha() != 0 && !mBlankScreen;
- boolean animateScrimBehind = mScrimBehind.getViewAlpha() != 0 && !mBlankScreen;
+ boolean animateBehindScrim = mScrimBehind.getViewAlpha() != 0 && !mBlankScreen;
+ boolean animateScrimNotifications = mNotificationsScrim.getViewAlpha() != 0
+ && !mBlankScreen;
mScrimInFront.setColors(mColors, animateScrimInFront);
- mScrimBehind.setColors(mColors, animateScrimBehind);
+ mScrimBehind.setColors(mColors, animateScrimNotifications);
+ mNotificationsScrim.setColors(mColors, animateScrimNotifications);
dispatchScrimState(mScrimBehind.getViewAlpha());
}
@@ -687,6 +714,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
}
setScrimAlpha(mScrimInFront, mInFrontAlpha);
setScrimAlpha(mScrimBehind, mBehindAlpha);
+ setScrimAlpha(mNotificationsScrim, mNotificationsAlpha);
if (mScrimForBubble != null) {
boolean animateScrimForBubble = mScrimForBubble.getViewAlpha() != 0 && !mBlankScreen;
@@ -744,7 +772,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
if (scrim == mScrimInFront) {
return "front_scrim";
} else if (scrim == mScrimBehind) {
- return "back_scrim";
+ return "behind_scrim";
+ } else if (scrim == mNotificationsScrim) {
+ return "notifications_scrim";
} else if (scrim == mScrimForBubble) {
return "bubble_scrim";
}
@@ -817,6 +847,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
return mInFrontAlpha;
} else if (scrim == mScrimBehind) {
return mBehindAlpha;
+ } else if (scrim == mNotificationsScrim) {
+ return mNotificationsAlpha;
} else if (scrim == mScrimForBubble) {
return mBubbleAlpha;
} else {
@@ -829,6 +861,8 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
return mInFrontTint;
} else if (scrim == mScrimBehind) {
return mBehindTint;
+ } else if (scrim == mNotificationsScrim) {
+ return Color.TRANSPARENT;
} else if (scrim == mScrimForBubble) {
return mBubbleTint;
} else {
@@ -858,8 +892,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
}
if (isAnimating(mScrimBehind)
- || isAnimating(mScrimInFront)
- || isAnimating(mScrimForBubble)) {
+ || isAnimating(mNotificationsScrim)
+ || isAnimating(mScrimInFront)
+ || isAnimating(mScrimForBubble)) {
if (callback != null && callback != mCallback) {
// Since we only notify the callback that we're finished once everything has
// finished, we need to make sure that any changing callbacks are also invoked
@@ -884,7 +919,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
// At the end of the animation we need to remove the tint.
if (mState == ScrimState.UNLOCKED) {
mInFrontTint = Color.TRANSPARENT;
- mBehindTint = Color.TRANSPARENT;
+ mBehindTint = mState.getBehindTint();
mBubbleTint = Color.TRANSPARENT;
updateScrimColor(mScrimInFront, mInFrontAlpha, mInFrontTint);
updateScrimColor(mScrimBehind, mBehindAlpha, mBehindTint);
@@ -996,12 +1031,6 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
mScrimBehind.postOnAnimationDelayed(callback, 32 /* delayMillis */);
}
- public int getBackgroundColor() {
- int color = mColors.getMainColor();
- return Color.argb((int) (mScrimBehind.getViewAlpha() * Color.alpha(color)),
- Color.red(color), Color.green(color), Color.blue(color));
- }
-
public void setScrimBehindChangeRunnable(Runnable changeRunnable) {
// TODO: remove this. This is necessary because of an order-of-operations limitation.
// The fix is to move more of these class into @StatusBarScope
@@ -1047,7 +1076,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
pw.print(" tint=0x");
pw.println(Integer.toHexString(mScrimInFront.getTint()));
- pw.print(" backScrim:");
+ pw.print(" behindScrim:");
pw.print(" viewAlpha=");
pw.print(mScrimBehind.getViewAlpha());
pw.print(" alpha=");
@@ -1055,6 +1084,14 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump
pw.print(" tint=0x");
pw.println(Integer.toHexString(mScrimBehind.getTint()));
+ pw.print(" notificationsScrim:");
+ pw.print(" viewAlpha=");
+ pw.print(mNotificationsScrim.getViewAlpha());
+ pw.print(" alpha=");
+ pw.print(mNotificationsAlpha);
+ pw.print(" tint=0x");
+ pw.println(Integer.toHexString(mNotificationsScrim.getTint()));
+
pw.print(" bubbleScrim:");
pw.print(" viewAlpha=");
pw.print(mScrimForBubble.getViewAlpha());
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
index b82863e75fe68..a9774d850fd92 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
@@ -129,6 +129,13 @@ public enum ScrimState {
mBehindAlpha = mDefaultScrimAlpha;
mBubbleAlpha = 0f;
mFrontAlpha = 0f;
+ mBehindTint = Color.BLACK;
+ }
+
+ // to make sure correct color is returned before "prepare" is called
+ @Override
+ public int getBehindTint() {
+ return Color.BLACK;
}
},
@@ -228,7 +235,7 @@ public enum ScrimState {
mAnimateChange = !mLaunchingAffordanceWithPreview;
mFrontTint = Color.TRANSPARENT;
- mBehindTint = Color.TRANSPARENT;
+ mBehindTint = Color.BLACK;
mBubbleTint = Color.TRANSPARENT;
mBlankScreen = false;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
index d581c4b6f9b78..7c5759b4ee1d3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -1198,6 +1198,8 @@ public class StatusBar extends SystemUI implements DemoMode,
});
ScrimView scrimBehind = mNotificationShadeWindowView.findViewById(R.id.scrim_behind);
+ ScrimView notificationsScrim = mNotificationShadeWindowView
+ .findViewById(R.id.scrim_notifications);
ScrimView scrimInFront = mNotificationShadeWindowView.findViewById(R.id.scrim_in_front);
ScrimView scrimForBubble = mBubblesManagerOptional.isPresent()
? mBubblesManagerOptional.get().getScrimForBubble() : null;
@@ -1206,7 +1208,7 @@ public class StatusBar extends SystemUI implements DemoMode,
mNotificationShadeWindowController.setScrimsVisibility(scrimsVisible);
mLockscreenLockIconController.onScrimVisibilityChanged(scrimsVisible);
});
- mScrimController.attachViews(scrimBehind, scrimInFront, scrimForBubble);
+ mScrimController.attachViews(scrimBehind, notificationsScrim, scrimInFront, scrimForBubble);
mLightRevealScrim = mNotificationShadeWindowView.findViewById(R.id.light_reveal_scrim);
mChargingRippleAnimationController.setViewHost(mNotificationShadeWindowView);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
index 116e1b98debdf..123e4ef446b93 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java
@@ -49,7 +49,6 @@ import com.android.keyguard.KeyguardUpdateMonitor;
import com.android.systemui.DejankUtils;
import com.android.systemui.SysuiTestCase;
import com.android.systemui.dock.DockManager;
-import com.android.systemui.statusbar.BlurUtils;
import com.android.systemui.statusbar.FeatureFlags;
import com.android.systemui.statusbar.ScrimView;
import com.android.systemui.statusbar.policy.ConfigurationController;
@@ -79,6 +78,7 @@ public class ScrimControllerTest extends SysuiTestCase {
private ScrimController mScrimController;
private ScrimView mScrimBehind;
+ private ScrimView mNotificationsScrim;
private ScrimView mScrimInFront;
private ScrimView mScrimForBubble;
private ScrimState mScrimState;
@@ -104,8 +104,6 @@ public class ScrimControllerTest extends SysuiTestCase {
@Mock
private DockManager mDockManager;
@Mock
- private BlurUtils mBlurUtils;
- @Mock
private ConfigurationController mConfigurationController;
@Mock
private FeatureFlags mFeatureFlags;
@@ -163,6 +161,7 @@ public class ScrimControllerTest extends SysuiTestCase {
mScrimController.onPreDraw();
// Force finish all animations.
mLooper.processAllMessages();
+ endAnimation(mNotificationsScrim);
endAnimation(mScrimBehind);
endAnimation(mScrimInFront);
endAnimation(mScrimForBubble);
@@ -189,6 +188,7 @@ public class ScrimControllerTest extends SysuiTestCase {
mScrimBehind = spy(new ScrimView(getContext()));
mScrimInFront = new ScrimView(getContext());
mScrimForBubble = new ScrimView(getContext());
+ mNotificationsScrim = new ScrimView(getContext());
mAlwaysOnEnabled = true;
mLooper = TestableLooper.get(this);
DejankUtils.setImmediate(true);
@@ -201,7 +201,6 @@ public class ScrimControllerTest extends SysuiTestCase {
when(mDozeParamenters.getAlwaysOn()).thenAnswer(invocation -> mAlwaysOnEnabled);
when(mDozeParamenters.getDisplayNeedsBlanking()).thenReturn(true);
- when(mBlurUtils.supportsBlursOnWindows()).thenReturn(true);
doAnswer((Answer) invocation -> {
mScrimState = invocation.getArgument(0);
@@ -222,10 +221,11 @@ public class ScrimControllerTest extends SysuiTestCase {
mScrimController = new ScrimController(mLightBarController,
mDozeParamenters, mAlarmManager, mKeyguardStateController, mDelayedWakeLockBuilder,
new FakeHandler(mLooper.getLooper()), mKeyguardUpdateMonitor,
- mDockManager, mBlurUtils, mConfigurationController, mFeatureFlags,
+ mDockManager, mConfigurationController, mFeatureFlags,
new FakeExecutor(new FakeSystemClock()));
mScrimController.setScrimVisibleListener(visible -> mScrimVisibility = visible);
- mScrimController.attachViews(mScrimBehind, mScrimInFront, mScrimForBubble);
+ mScrimController.attachViews(mScrimBehind, mNotificationsScrim, mScrimInFront,
+ mScrimForBubble);
mScrimController.setAnimatorListener(mAnimatorListener);
mScrimController.setHasBackdrop(false);
@@ -264,7 +264,7 @@ public class ScrimControllerTest extends SysuiTestCase {
TRANSPARENT /* bubble */);
assertScrimTint(false /* front */,
- false /* behind */,
+ true /* behind */,
false /* bubble */);
}
@@ -516,7 +516,7 @@ public class ScrimControllerTest extends SysuiTestCase {
TRANSPARENT /* bubble */);
assertScrimTint(false /* front */,
- false /* behind */,
+ true /* behind */,
false /* bubble */);
// Back scrim should be visible after start dragging
@@ -586,7 +586,7 @@ public class ScrimControllerTest extends SysuiTestCase {
@Test
public void qsExpansion() {
reset(mScrimBehind);
- mScrimController.setQsExpansion(1f);
+ mScrimController.setQsPosition(1f, 999 /* value doesn't matter */);
finishAnimationsImmediately();
assertScrimAlpha(TRANSPARENT, OPAQUE, TRANSPARENT);
@@ -636,7 +636,7 @@ public class ScrimControllerTest extends SysuiTestCase {
// Make sure at the very end of the animation, we're reset to transparent
assertScrimTint(false /* front */,
- false /* behind */,
+ true /* behind */,
false /* bubble */);
}
@@ -947,7 +947,9 @@ public class ScrimControllerTest extends SysuiTestCase {
if (scrim == mScrimInFront) {
return "front";
} else if (scrim == mScrimBehind) {
- return "back";
+ return "behind";
+ } else if (scrim == mNotificationsScrim) {
+ return "notifications";
} else if (scrim == mScrimForBubble) {
return "bubble";
}