Merge "Setup callbacks for ChipBar for ActiveUnlock" into tm-qpr-dev

This commit is contained in:
Beverly Tai
2022-11-11 22:07:33 +00:00
committed by Android (Google) Code Review
6 changed files with 39 additions and 39 deletions

View File

@@ -68,7 +68,7 @@ public class KeyguardHostViewController extends ViewController<KeyguardHostView>
private final KeyguardUpdateMonitorCallback mUpdateCallback =
new KeyguardUpdateMonitorCallback() {
@Override
public void onTrustGrantedWithFlags(int flags, int userId) {
public void onTrustGrantedWithFlags(int flags, int userId, String message) {
if (userId != KeyguardUpdateMonitor.getCurrentUser()) return;
boolean bouncerVisible = mView.isVisibleToUser();
boolean temporaryAndRenewable =

View File

@@ -486,19 +486,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
FACE_AUTH_TRIGGERED_TRUST_DISABLED);
}
mLogger.logTrustChanged(wasTrusted, enabled, userId);
for (int i = 0; i < mCallbacks.size(); i++) {
KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
if (cb != null) {
cb.onTrustChanged(userId);
if (enabled && flags != 0) {
cb.onTrustGrantedWithFlags(flags, userId);
}
}
}
String message = null;
if (KeyguardUpdateMonitor.getCurrentUser() == userId) {
CharSequence message = null;
final boolean userHasTrust = getUserHasTrust(userId);
if (userHasTrust && trustGrantedMessages != null) {
for (String msg : trustGrantedMessages) {
@@ -508,14 +497,17 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
}
}
}
if (message != null) {
mLogger.logShowTrustGrantedMessage(message.toString());
}
for (int i = 0; i < mCallbacks.size(); i++) {
KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
if (cb != null) {
cb.showTrustGrantedMessage(message);
}
mLogger.logTrustChanged(wasTrusted, enabled, userId);
if (message != null) {
mLogger.logShowTrustGrantedMessage(message.toString());
}
for (int i = 0; i < mCallbacks.size(); i++) {
KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get();
if (cb != null) {
cb.onTrustChanged(userId);
if (enabled) {
cb.onTrustGrantedWithFlags(flags, userId, message);
}
}
}

View File

@@ -174,14 +174,12 @@ public class KeyguardUpdateMonitorCallback {
public void onTrustManagedChanged(int userId) { }
/**
* Called after trust was granted with non-zero flags.
* Called after trust was granted.
* @param userId of the user that has been granted trust
* @param message optional message the trust agent has provided to show that should indicate
* why trust was granted.
*/
public void onTrustGrantedWithFlags(int flags, int userId) { }
/**
* Called when setting the trust granted message.
*/
public void showTrustGrantedMessage(@Nullable CharSequence message) { }
public void onTrustGrantedWithFlags(int flags, int userId, @Nullable String message) { }
/**
* Called when a biometric has been acquired.

View File

@@ -1179,16 +1179,14 @@ public class KeyguardIndicationController {
@Override
public void onTrustChanged(int userId) {
if (getCurrentUser() != userId) {
return;
}
if (!isCurrentUser(userId)) return;
updateDeviceEntryIndication(false);
}
@Override
public void showTrustGrantedMessage(CharSequence message) {
mTrustGrantedIndication = message;
updateDeviceEntryIndication(false);
public void onTrustGrantedWithFlags(int flags, int userId, @Nullable String message) {
if (!isCurrentUser(userId)) return;
showTrustGrantedMessage(flags, message);
}
@Override
@@ -1248,6 +1246,15 @@ public class KeyguardIndicationController {
}
}
private boolean isCurrentUser(int userId) {
return getCurrentUser() == userId;
}
void showTrustGrantedMessage(int flags, @Nullable CharSequence message) {
mTrustGrantedIndication = message;
updateDeviceEntryIndication(false);
}
private void handleFaceLockoutError(String errString) {
int followupMsgId = canUnlockWithFingerprint() ? R.string.keyguard_suggest_fingerprint
: R.string.keyguard_unlock;

View File

@@ -1314,7 +1314,10 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase {
Arrays.asList("Unlocked by wearable"));
// THEN the showTrustGrantedMessage should be called with the first message
verify(mTestCallback).showTrustGrantedMessage("Unlocked by wearable");
verify(mTestCallback).onTrustGrantedWithFlags(
eq(0),
eq(KeyguardUpdateMonitor.getCurrentUser()),
eq("Unlocked by wearable"));
}
@Test

View File

@@ -1064,7 +1064,7 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
// GIVEN a trust granted message but trust isn't granted
final String trustGrantedMsg = "testing trust granted message";
mController.getKeyguardCallback().showTrustGrantedMessage(trustGrantedMsg);
mController.getKeyguardCallback().onTrustGrantedWithFlags(0, 0, trustGrantedMsg);
verifyHideIndication(INDICATION_TYPE_TRUST);
@@ -1088,7 +1088,7 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
// WHEN the showTrustGranted method is called
final String trustGrantedMsg = "testing trust granted message";
mController.getKeyguardCallback().showTrustGrantedMessage(trustGrantedMsg);
mController.getKeyguardCallback().onTrustGrantedWithFlags(0, 0, trustGrantedMsg);
// THEN verify the trust granted message shows
verifyIndicationMessage(
@@ -1105,7 +1105,7 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
when(mKeyguardUpdateMonitor.getUserHasTrust(anyInt())).thenReturn(true);
// WHEN the showTrustGranted method is called with a null message
mController.getKeyguardCallback().showTrustGrantedMessage(null);
mController.getKeyguardCallback().onTrustGrantedWithFlags(0, 0, null);
// THEN verify the default trust granted message shows
verifyIndicationMessage(
@@ -1122,7 +1122,7 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
when(mKeyguardUpdateMonitor.getUserHasTrust(anyInt())).thenReturn(true);
// WHEN the showTrustGranted method is called with an EMPTY string
mController.getKeyguardCallback().showTrustGrantedMessage("");
mController.getKeyguardCallback().onTrustGrantedWithFlags(0, 0, "");
// THEN verify NO trust message is shown
verifyNoMessage(INDICATION_TYPE_TRUST);