Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +10 −3 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ import com.android.systemui.scene.shared.flag.SceneContainerFlag; import com.android.systemui.scene.shared.model.Scenes; import com.android.systemui.scrim.ScrimView; import com.android.systemui.shade.ShadeViewController; import com.android.systemui.shade.shared.flag.DualShade; import com.android.systemui.shade.domain.interactor.ShadeModeInteractor; import com.android.systemui.shade.transition.LargeScreenShadeInterpolator; import com.android.systemui.statusbar.notification.stack.ViewState; import com.android.systemui.statusbar.policy.ConfigurationController; Loading Loading @@ -218,6 +218,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump private final KeyguardUnlockAnimationController mKeyguardUnlockAnimationController; private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager; private final KeyguardInteractor mKeyguardInteractor; private final ShadeModeInteractor mShadeModeInteractor; private GradientColors mColors; private boolean mNeedsDrawableColorUpdate; Loading Loading @@ -338,6 +339,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump AlternateBouncerToGoneTransitionViewModel alternateBouncerToGoneTransitionViewModel, KeyguardTransitionInteractor keyguardTransitionInteractor, KeyguardInteractor keyguardInteractor, ShadeModeInteractor shadeModeInteractor, @Main CoroutineDispatcher mainDispatcher, LargeScreenShadeInterpolator largeScreenShadeInterpolator, BlurConfig blurConfig) { Loading Loading @@ -387,6 +389,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump mAlternateBouncerToGoneTransitionViewModel = alternateBouncerToGoneTransitionViewModel; mKeyguardTransitionInteractor = keyguardTransitionInteractor; mKeyguardInteractor = keyguardInteractor; mShadeModeInteractor = shadeModeInteractor; mMainDispatcher = mainDispatcher; } Loading Loading @@ -428,6 +431,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump mViewsAttached = true; } private boolean isDualShade() { return SceneContainerFlag.isEnabled() && mShadeModeInteractor.isDualShade(); } private void hydrateStateInternally(ScrimView behindScrim) { if (SceneContainerFlag.isEnabled()) { return; Loading Loading @@ -956,7 +963,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump if (!mScreenOffAnimationController.shouldExpandNotifications() && !mAnimatingPanelExpansionOnUnlock && !occluding) { if (mTransparentScrimBackground || DualShade.isEnabled()) { if (mTransparentScrimBackground || isDualShade()) { mBehindAlpha = 0; mNotificationsAlpha = 0; } else if (mClipsQsScrim) { Loading Loading @@ -1015,7 +1022,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump behindAlpha = 0f; } mInFrontAlpha = mState.getFrontAlpha(); if (DualShade.isEnabled() && mState == ScrimState.SHADE_LOCKED) { if (isDualShade() && mState == ScrimState.SHADE_LOCKED) { mBehindAlpha = 0; mNotificationsTint = Color.TRANSPARENT; mNotificationsAlpha = 0; Loading packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java +10 −6 Original line number Diff line number Diff line Loading @@ -46,7 +46,6 @@ import android.animation.Animator; import android.content.Context; import android.graphics.Color; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.testing.TestableLooper; import android.testing.ViewUtils; import android.util.MathUtils; Loading Loading @@ -78,7 +77,7 @@ import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToGoneTransition import com.android.systemui.kosmos.KosmosJavaAdapter; import com.android.systemui.scene.shared.flag.SceneContainerFlag; import com.android.systemui.scrim.ScrimView; import com.android.systemui.shade.shared.flag.DualShade; import com.android.systemui.shade.domain.interactor.ShadeModeInteractor; import com.android.systemui.shade.transition.LargeScreenShadeInterpolator; import com.android.systemui.shade.transition.LinearLargeScreenShadeInterpolator; import com.android.systemui.statusbar.policy.FakeConfigurationController; Loading Loading @@ -156,6 +155,7 @@ public class ScrimControllerTest extends SysuiTestCase { private final FakeKeyguardTransitionRepository mKeyguardTransitionRepository = mKosmos.getKeyguardTransitionRepository(); @Mock private KeyguardInteractor mKeyguardInteractor; @Mock private ShadeModeInteractor mShadeModeInteractor; // TODO(b/204991468): Use a real PanelExpansionStateManager object once this bug is fixed. (The // event-dispatch-on-registration pattern caused some of these unit tests to fail.) Loading Loading @@ -272,6 +272,8 @@ public class ScrimControllerTest extends SysuiTestCase { when(mAlternateBouncerToGoneTransitionViewModel.getScrimAlpha()) .thenReturn(emptyFlow()); when(mShadeModeInteractor.isDualShade()).thenReturn(false); mScrimController = new ScrimController( mLightBarController, mDozeParameters, Loading @@ -290,6 +292,7 @@ public class ScrimControllerTest extends SysuiTestCase { mAlternateBouncerToGoneTransitionViewModel, mKeyguardTransitionInteractor, mKeyguardInteractor, mShadeModeInteractor, mKosmos.getTestDispatcher(), mLinearLargeScreenShadeInterpolator, new BlurConfig(0.0f, 0.0f)); Loading Loading @@ -356,8 +359,8 @@ public class ScrimControllerTest extends SysuiTestCase { @Test @EnableSceneContainer @DisableFlags(DualShade.FLAG_NAME) public void transitionToShadeLocked_sceneContainer_dualShadeOff() { when(mShadeModeInteractor.isDualShade()).thenReturn(false); mScrimController.transitionTo(SHADE_LOCKED); mScrimController.setQsPosition(1f, 0); finishAnimationsImmediately(); Loading @@ -376,8 +379,8 @@ public class ScrimControllerTest extends SysuiTestCase { @Test @EnableSceneContainer @EnableFlags(DualShade.FLAG_NAME) public void transitionToShadeLocked_sceneContainer_dualShadeOn() { when(mShadeModeInteractor.isDualShade()).thenReturn(true); mScrimController.transitionTo(SHADE_LOCKED); mScrimController.setQsPosition(1f, 0); finishAnimationsImmediately(); Loading Loading @@ -956,8 +959,8 @@ public class ScrimControllerTest extends SysuiTestCase { @Test @EnableSceneContainer @DisableFlags(DualShade.FLAG_NAME) public void transitionToUnlocked_sceneContainer_dualShadeOff() { when(mShadeModeInteractor.isDualShade()).thenReturn(false); mScrimController.setRawPanelExpansionFraction(0f); mScrimController.transitionTo(ScrimState.UNLOCKED); finishAnimationsImmediately(); Loading Loading @@ -985,8 +988,8 @@ public class ScrimControllerTest extends SysuiTestCase { @Test @EnableSceneContainer @EnableFlags(DualShade.FLAG_NAME) public void transitionToUnlocked_sceneContainer_dualShadeOn() { when(mShadeModeInteractor.isDualShade()).thenReturn(true); mScrimController.setRawPanelExpansionFraction(0f); mScrimController.transitionTo(ScrimState.UNLOCKED); finishAnimationsImmediately(); Loading Loading @@ -1256,6 +1259,7 @@ public class ScrimControllerTest extends SysuiTestCase { mAlternateBouncerToGoneTransitionViewModel, mKeyguardTransitionInteractor, mKeyguardInteractor, mShadeModeInteractor, mKosmos.getTestDispatcher(), mLinearLargeScreenShadeInterpolator, new BlurConfig(0.0f, 0.0f)); Loading packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/KosmosJavaAdapter.kt +2 −0 Original line number Diff line number Diff line Loading @@ -178,7 +178,9 @@ class KosmosJavaAdapter() { val scrimStartable by lazy { kosmos.scrimStartable } val sceneContainerOcclusionInteractor by lazy { kosmos.sceneContainerOcclusionInteractor } val msdlPlayer by lazy { kosmos.fakeMSDLPlayer } val shadeModeInteractor by lazy { kosmos.shadeModeInteractor } val bouncerHapticHelper by lazy { kosmos.bouncerHapticPlayer } val glanceableHubToLockscreenTransitionViewModel by lazy { Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java +10 −3 Original line number Diff line number Diff line Loading @@ -74,7 +74,7 @@ import com.android.systemui.scene.shared.flag.SceneContainerFlag; import com.android.systemui.scene.shared.model.Scenes; import com.android.systemui.scrim.ScrimView; import com.android.systemui.shade.ShadeViewController; import com.android.systemui.shade.shared.flag.DualShade; import com.android.systemui.shade.domain.interactor.ShadeModeInteractor; import com.android.systemui.shade.transition.LargeScreenShadeInterpolator; import com.android.systemui.statusbar.notification.stack.ViewState; import com.android.systemui.statusbar.policy.ConfigurationController; Loading Loading @@ -218,6 +218,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump private final KeyguardUnlockAnimationController mKeyguardUnlockAnimationController; private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager; private final KeyguardInteractor mKeyguardInteractor; private final ShadeModeInteractor mShadeModeInteractor; private GradientColors mColors; private boolean mNeedsDrawableColorUpdate; Loading Loading @@ -338,6 +339,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump AlternateBouncerToGoneTransitionViewModel alternateBouncerToGoneTransitionViewModel, KeyguardTransitionInteractor keyguardTransitionInteractor, KeyguardInteractor keyguardInteractor, ShadeModeInteractor shadeModeInteractor, @Main CoroutineDispatcher mainDispatcher, LargeScreenShadeInterpolator largeScreenShadeInterpolator, BlurConfig blurConfig) { Loading Loading @@ -387,6 +389,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump mAlternateBouncerToGoneTransitionViewModel = alternateBouncerToGoneTransitionViewModel; mKeyguardTransitionInteractor = keyguardTransitionInteractor; mKeyguardInteractor = keyguardInteractor; mShadeModeInteractor = shadeModeInteractor; mMainDispatcher = mainDispatcher; } Loading Loading @@ -428,6 +431,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump mViewsAttached = true; } private boolean isDualShade() { return SceneContainerFlag.isEnabled() && mShadeModeInteractor.isDualShade(); } private void hydrateStateInternally(ScrimView behindScrim) { if (SceneContainerFlag.isEnabled()) { return; Loading Loading @@ -956,7 +963,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump if (!mScreenOffAnimationController.shouldExpandNotifications() && !mAnimatingPanelExpansionOnUnlock && !occluding) { if (mTransparentScrimBackground || DualShade.isEnabled()) { if (mTransparentScrimBackground || isDualShade()) { mBehindAlpha = 0; mNotificationsAlpha = 0; } else if (mClipsQsScrim) { Loading Loading @@ -1015,7 +1022,7 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener, Dump behindAlpha = 0f; } mInFrontAlpha = mState.getFrontAlpha(); if (DualShade.isEnabled() && mState == ScrimState.SHADE_LOCKED) { if (isDualShade() && mState == ScrimState.SHADE_LOCKED) { mBehindAlpha = 0; mNotificationsTint = Color.TRANSPARENT; mNotificationsAlpha = 0; Loading
packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/ScrimControllerTest.java +10 −6 Original line number Diff line number Diff line Loading @@ -46,7 +46,6 @@ import android.animation.Animator; import android.content.Context; import android.graphics.Color; import android.platform.test.annotations.DisableFlags; import android.platform.test.annotations.EnableFlags; import android.testing.TestableLooper; import android.testing.ViewUtils; import android.util.MathUtils; Loading Loading @@ -78,7 +77,7 @@ import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToGoneTransition import com.android.systemui.kosmos.KosmosJavaAdapter; import com.android.systemui.scene.shared.flag.SceneContainerFlag; import com.android.systemui.scrim.ScrimView; import com.android.systemui.shade.shared.flag.DualShade; import com.android.systemui.shade.domain.interactor.ShadeModeInteractor; import com.android.systemui.shade.transition.LargeScreenShadeInterpolator; import com.android.systemui.shade.transition.LinearLargeScreenShadeInterpolator; import com.android.systemui.statusbar.policy.FakeConfigurationController; Loading Loading @@ -156,6 +155,7 @@ public class ScrimControllerTest extends SysuiTestCase { private final FakeKeyguardTransitionRepository mKeyguardTransitionRepository = mKosmos.getKeyguardTransitionRepository(); @Mock private KeyguardInteractor mKeyguardInteractor; @Mock private ShadeModeInteractor mShadeModeInteractor; // TODO(b/204991468): Use a real PanelExpansionStateManager object once this bug is fixed. (The // event-dispatch-on-registration pattern caused some of these unit tests to fail.) Loading Loading @@ -272,6 +272,8 @@ public class ScrimControllerTest extends SysuiTestCase { when(mAlternateBouncerToGoneTransitionViewModel.getScrimAlpha()) .thenReturn(emptyFlow()); when(mShadeModeInteractor.isDualShade()).thenReturn(false); mScrimController = new ScrimController( mLightBarController, mDozeParameters, Loading @@ -290,6 +292,7 @@ public class ScrimControllerTest extends SysuiTestCase { mAlternateBouncerToGoneTransitionViewModel, mKeyguardTransitionInteractor, mKeyguardInteractor, mShadeModeInteractor, mKosmos.getTestDispatcher(), mLinearLargeScreenShadeInterpolator, new BlurConfig(0.0f, 0.0f)); Loading Loading @@ -356,8 +359,8 @@ public class ScrimControllerTest extends SysuiTestCase { @Test @EnableSceneContainer @DisableFlags(DualShade.FLAG_NAME) public void transitionToShadeLocked_sceneContainer_dualShadeOff() { when(mShadeModeInteractor.isDualShade()).thenReturn(false); mScrimController.transitionTo(SHADE_LOCKED); mScrimController.setQsPosition(1f, 0); finishAnimationsImmediately(); Loading @@ -376,8 +379,8 @@ public class ScrimControllerTest extends SysuiTestCase { @Test @EnableSceneContainer @EnableFlags(DualShade.FLAG_NAME) public void transitionToShadeLocked_sceneContainer_dualShadeOn() { when(mShadeModeInteractor.isDualShade()).thenReturn(true); mScrimController.transitionTo(SHADE_LOCKED); mScrimController.setQsPosition(1f, 0); finishAnimationsImmediately(); Loading Loading @@ -956,8 +959,8 @@ public class ScrimControllerTest extends SysuiTestCase { @Test @EnableSceneContainer @DisableFlags(DualShade.FLAG_NAME) public void transitionToUnlocked_sceneContainer_dualShadeOff() { when(mShadeModeInteractor.isDualShade()).thenReturn(false); mScrimController.setRawPanelExpansionFraction(0f); mScrimController.transitionTo(ScrimState.UNLOCKED); finishAnimationsImmediately(); Loading Loading @@ -985,8 +988,8 @@ public class ScrimControllerTest extends SysuiTestCase { @Test @EnableSceneContainer @EnableFlags(DualShade.FLAG_NAME) public void transitionToUnlocked_sceneContainer_dualShadeOn() { when(mShadeModeInteractor.isDualShade()).thenReturn(true); mScrimController.setRawPanelExpansionFraction(0f); mScrimController.transitionTo(ScrimState.UNLOCKED); finishAnimationsImmediately(); Loading Loading @@ -1256,6 +1259,7 @@ public class ScrimControllerTest extends SysuiTestCase { mAlternateBouncerToGoneTransitionViewModel, mKeyguardTransitionInteractor, mKeyguardInteractor, mShadeModeInteractor, mKosmos.getTestDispatcher(), mLinearLargeScreenShadeInterpolator, new BlurConfig(0.0f, 0.0f)); Loading
packages/SystemUI/tests/utils/src/com/android/systemui/kosmos/KosmosJavaAdapter.kt +2 −0 Original line number Diff line number Diff line Loading @@ -178,7 +178,9 @@ class KosmosJavaAdapter() { val scrimStartable by lazy { kosmos.scrimStartable } val sceneContainerOcclusionInteractor by lazy { kosmos.sceneContainerOcclusionInteractor } val msdlPlayer by lazy { kosmos.fakeMSDLPlayer } val shadeModeInteractor by lazy { kosmos.shadeModeInteractor } val bouncerHapticHelper by lazy { kosmos.bouncerHapticPlayer } val glanceableHubToLockscreenTransitionViewModel by lazy { Loading