Do not run hint animation during aod=>ls transition
Also add additional tests for when hint animation should run.
Fixes: 228420035
Test: NotificationPanelViewControllerTest
Test: tap empty space on lockscreen during aod=ls transition
=> notification unfurl completes with no hint animation
tap again after unfurl has completed
=> hint animation runs fine
Change-Id: I1e34d17f692a88b708b0233f02229acbb5270fae
This commit is contained in:
@@ -3207,7 +3207,7 @@ public class NotificationPanelViewController extends PanelViewController {
|
||||
|
||||
@Override
|
||||
protected void startUnlockHintAnimation() {
|
||||
if (mPowerManager.isPowerSaveMode()) {
|
||||
if (mPowerManager.isPowerSaveMode() || mAmbientState.getDozeAmount() > 0f) {
|
||||
onUnlockHintStarted();
|
||||
onUnlockHintFinished();
|
||||
return;
|
||||
|
||||
@@ -80,6 +80,7 @@ import com.android.keyguard.dagger.KeyguardQsUserSwitchComponent;
|
||||
import com.android.keyguard.dagger.KeyguardStatusBarViewComponent;
|
||||
import com.android.keyguard.dagger.KeyguardStatusViewComponent;
|
||||
import com.android.keyguard.dagger.KeyguardUserSwitcherComponent;
|
||||
import com.android.systemui.DejankUtils;
|
||||
import com.android.systemui.R;
|
||||
import com.android.systemui.SysuiTestCase;
|
||||
import com.android.systemui.biometrics.AuthController;
|
||||
@@ -352,6 +353,7 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
|
||||
|
||||
mKeyguardStatusView = new KeyguardStatusView(mContext);
|
||||
mKeyguardStatusView.setId(R.id.keyguard_status_view);
|
||||
DejankUtils.setImmediate(true);
|
||||
|
||||
when(mAuthController.isUdfpsEnrolled(anyInt())).thenReturn(false);
|
||||
when(mHeadsUpCallback.getContext()).thenReturn(mContext);
|
||||
@@ -941,6 +943,29 @@ public class NotificationPanelViewControllerTest extends SysuiTestCase {
|
||||
verify(mScrimController).setExpansionAffectsAlpha(true);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnlockHintAnimation_runs_whenNotInPowerSaveMode_andDozeAmountIsZero() {
|
||||
when(mPowerManager.isPowerSaveMode()).thenReturn(false);
|
||||
when(mAmbientState.getDozeAmount()).thenReturn(0f);
|
||||
mNotificationPanelViewController.startUnlockHintAnimation();
|
||||
assertThat(mNotificationPanelViewController.mHintAnimationRunning).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnlockHintAnimation_doesNotRun_inPowerSaveMode() {
|
||||
when(mPowerManager.isPowerSaveMode()).thenReturn(true);
|
||||
mNotificationPanelViewController.startUnlockHintAnimation();
|
||||
assertThat(mNotificationPanelViewController.mHintAnimationRunning).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testUnlockHintAnimation_doesNotRun_whenDozeAmountNotZero() {
|
||||
when(mPowerManager.isPowerSaveMode()).thenReturn(false);
|
||||
when(mAmbientState.getDozeAmount()).thenReturn(0.5f);
|
||||
mNotificationPanelViewController.startUnlockHintAnimation();
|
||||
assertThat(mNotificationPanelViewController.mHintAnimationRunning).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setKeyguardStatusBarAlpha_setsAlphaOnKeyguardStatusBarController() {
|
||||
float statusBarAlpha = 0.5f;
|
||||
|
||||
Reference in New Issue
Block a user