Merge "Don't call setKeyguardGoingAway on background thread" into rvc-dev am: 0bea141717
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/12013463 Change-Id: I665f1ba3659430eaf738db7779b238792f9e605e
This commit is contained in:
@@ -177,6 +177,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
||||
private static final int MSG_TIMEZONE_UPDATE = 339;
|
||||
private static final int MSG_USER_STOPPED = 340;
|
||||
private static final int MSG_USER_REMOVED = 341;
|
||||
private static final int MSG_KEYGUARD_GOING_AWAY = 342;
|
||||
|
||||
/** Biometric authentication state: Not listening. */
|
||||
private static final int BIOMETRIC_STATE_STOPPED = 0;
|
||||
@@ -532,7 +533,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates KeyguardUpdateMonitor's internal state to know if keyguard is goingAway
|
||||
* Updates KeyguardUpdateMonitor's internal state to know if keyguard is going away.
|
||||
*/
|
||||
public void setKeyguardGoingAway(boolean goingAway) {
|
||||
mKeyguardGoingAway = goingAway;
|
||||
@@ -1522,6 +1523,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
||||
mUserTrustIsUsuallyManaged.delete(userId);
|
||||
}
|
||||
|
||||
private void handleKeyguardGoingAway(boolean goingAway) {
|
||||
Assert.isMainThread();
|
||||
setKeyguardGoingAway(goingAway);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
protected void setStrongAuthTracker(@NonNull StrongAuthTracker tracker) {
|
||||
if (mStrongAuthTracker != null) {
|
||||
@@ -1662,6 +1668,9 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
||||
case MSG_TELEPHONY_CAPABLE:
|
||||
updateTelephonyCapable((boolean) msg.obj);
|
||||
break;
|
||||
case MSG_KEYGUARD_GOING_AWAY:
|
||||
handleKeyguardGoingAway((boolean) msg.obj);
|
||||
break;
|
||||
default:
|
||||
super.handleMessage(msg);
|
||||
break;
|
||||
@@ -2814,6 +2823,15 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
||||
mHandler.sendMessage(mHandler.obtainMessage(MSG_DREAMING_STATE_CHANGED, 0, 0));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a message to update the keyguard going away state on the main thread.
|
||||
*
|
||||
* @param goingAway Whether the keyguard is going away.
|
||||
*/
|
||||
public void dispatchKeyguardGoingAway(boolean goingAway) {
|
||||
mHandler.sendMessage(mHandler.obtainMessage(MSG_KEYGUARD_GOING_AWAY, goingAway));
|
||||
}
|
||||
|
||||
public boolean isDeviceInteractive() {
|
||||
return mDeviceInteractive;
|
||||
}
|
||||
|
||||
@@ -876,7 +876,7 @@ public class KeyguardViewMediator extends SystemUI implements Dumpable {
|
||||
// explicitly DO NOT want to call
|
||||
// mKeyguardViewControllerLazy.get().setKeyguardGoingAwayState(false)
|
||||
// here, since that will mess with the device lock state.
|
||||
mUpdateMonitor.setKeyguardGoingAway(false);
|
||||
mUpdateMonitor.dispatchKeyguardGoingAway(false);
|
||||
|
||||
// Lock immediately based on setting if secure (user has a pin/pattern/password).
|
||||
// This also "locks" the device when not secure to provide easy access to the
|
||||
|
||||
@@ -95,7 +95,7 @@ public class KeyguardViewMediatorTest extends SysuiTestCase {
|
||||
@Test
|
||||
public void testOnGoingToSleep_UpdatesKeyguardGoingAway() {
|
||||
mViewMediator.onStartedGoingToSleep(OFF_BECAUSE_OF_USER);
|
||||
verify(mUpdateMonitor).setKeyguardGoingAway(false);
|
||||
verify(mUpdateMonitor).dispatchKeyguardGoingAway(false);
|
||||
verify(mStatusBarKeyguardViewManager, never()).setKeyguardGoingAwayState(anyBoolean());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user