Merge "[Keyguard] Fix unlock animation for occluded LS." into tm-qpr-dev
This commit is contained in:
@@ -2532,8 +2532,13 @@ public class CentralSurfacesImpl extends CoreStartable implements
|
|||||||
callback.onActivityStarted(ActivityManager.START_CANCELED);
|
callback.onActivityStarted(ActivityManager.START_CANCELED);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
// Do not deferKeyguard when occluded because, when keyguard is occluded,
|
||||||
|
// we do not launch the activity until keyguard is done.
|
||||||
|
boolean occluded = mStatusBarKeyguardViewManager.isShowing()
|
||||||
|
&& mStatusBarKeyguardViewManager.isOccluded();
|
||||||
|
boolean deferred = !occluded;
|
||||||
executeRunnableDismissingKeyguard(runnable, cancelRunnable, dismissShadeDirectly,
|
executeRunnableDismissingKeyguard(runnable, cancelRunnable, dismissShadeDirectly,
|
||||||
willLaunchResolverActivity, true /* deferred */, animate);
|
willLaunchResolverActivity, deferred /* deferred */, animate);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ package com.android.systemui.statusbar.phone;
|
|||||||
import static android.app.NotificationManager.IMPORTANCE_HIGH;
|
import static android.app.NotificationManager.IMPORTANCE_HIGH;
|
||||||
import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
|
import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK;
|
||||||
|
|
||||||
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static junit.framework.Assert.assertFalse;
|
import static junit.framework.Assert.assertFalse;
|
||||||
import static junit.framework.Assert.assertTrue;
|
import static junit.framework.Assert.assertTrue;
|
||||||
import static junit.framework.TestCase.fail;
|
import static junit.framework.TestCase.fail;
|
||||||
@@ -44,6 +46,7 @@ import android.app.WallpaperManager;
|
|||||||
import android.app.trust.TrustManager;
|
import android.app.trust.TrustManager;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.hardware.devicestate.DeviceStateManager;
|
import android.hardware.devicestate.DeviceStateManager;
|
||||||
import android.hardware.display.AmbientDisplayConfiguration;
|
import android.hardware.display.AmbientDisplayConfiguration;
|
||||||
@@ -984,6 +987,22 @@ public class CentralSurfacesImplTest extends SysuiTestCase {
|
|||||||
verify(mStatusBarStateController, never()).setLeaveOpenOnKeyguardHide(true);
|
verify(mStatusBarStateController, never()).setLeaveOpenOnKeyguardHide(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void startActivityDismissingKeyguard_isShowingandIsOccluded() {
|
||||||
|
when(mStatusBarKeyguardViewManager.isShowing()).thenReturn(true);
|
||||||
|
when(mStatusBarKeyguardViewManager.isOccluded()).thenReturn(true);
|
||||||
|
mCentralSurfaces.startActivityDismissingKeyguard(
|
||||||
|
new Intent(),
|
||||||
|
/* onlyProvisioned = */false,
|
||||||
|
/* dismissShade = */false);
|
||||||
|
verify(mStatusBarKeyguardViewManager).addAfterKeyguardGoneRunnable(any(Runnable.class));
|
||||||
|
ArgumentCaptor<OnDismissAction> onDismissActionCaptor =
|
||||||
|
ArgumentCaptor.forClass(OnDismissAction.class);
|
||||||
|
verify(mStatusBarKeyguardViewManager)
|
||||||
|
.dismissWithAction(onDismissActionCaptor.capture(), any(Runnable.class), eq(true));
|
||||||
|
assertThat(onDismissActionCaptor.getValue().onDismiss()).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
private void setDeviceState(int state) {
|
private void setDeviceState(int state) {
|
||||||
ArgumentCaptor<DeviceStateManager.DeviceStateCallback> callbackCaptor =
|
ArgumentCaptor<DeviceStateManager.DeviceStateCallback> callbackCaptor =
|
||||||
ArgumentCaptor.forClass(DeviceStateManager.DeviceStateCallback.class);
|
ArgumentCaptor.forClass(DeviceStateManager.DeviceStateCallback.class);
|
||||||
|
|||||||
Reference in New Issue
Block a user