Merge "Don't show any trust granted message if passed an empty string" into tm-qpr-dev
This commit is contained in:
@@ -141,7 +141,9 @@ public class TrustAgentService extends Service {
|
|||||||
*
|
*
|
||||||
* Without this flag, the message passed to {@code grantTrust} is only used for debugging
|
* Without this flag, the message passed to {@code grantTrust} is only used for debugging
|
||||||
* purposes. With the flag, it may be displayed to the user as the reason why the device is
|
* purposes. With the flag, it may be displayed to the user as the reason why the device is
|
||||||
* unlocked.
|
* unlocked. If this flag isn't set OR the message is set to null, the device will display
|
||||||
|
* its own default message for trust granted. If the TrustAgent intentionally doesn't want to
|
||||||
|
* show any message, then it can set this flag AND set the message to an empty string.
|
||||||
*/
|
*/
|
||||||
public static final int FLAG_GRANT_TRUST_DISPLAY_MESSAGE = 1 << 3;
|
public static final int FLAG_GRANT_TRUST_DISPLAY_MESSAGE = 1 << 3;
|
||||||
|
|
||||||
|
|||||||
@@ -482,8 +482,8 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab
|
|||||||
final boolean userHasTrust = getUserHasTrust(userId);
|
final boolean userHasTrust = getUserHasTrust(userId);
|
||||||
if (userHasTrust && trustGrantedMessages != null) {
|
if (userHasTrust && trustGrantedMessages != null) {
|
||||||
for (String msg : trustGrantedMessages) {
|
for (String msg : trustGrantedMessages) {
|
||||||
if (!TextUtils.isEmpty(msg)) {
|
|
||||||
message = msg;
|
message = msg;
|
||||||
|
if (!TextUtils.isEmpty(message)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -692,11 +692,11 @@ public class KeyguardIndicationController {
|
|||||||
/**
|
/**
|
||||||
* Returns the indication text indicating that trust has been granted.
|
* Returns the indication text indicating that trust has been granted.
|
||||||
*
|
*
|
||||||
* @return {@code null} or an empty string if a trust indication text should not be shown.
|
* @return an empty string if a trust indication text should not be shown.
|
||||||
*/
|
*/
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
String getTrustGrantedIndication() {
|
String getTrustGrantedIndication() {
|
||||||
return TextUtils.isEmpty(mTrustGrantedIndication)
|
return mTrustGrantedIndication == null
|
||||||
? mContext.getString(R.string.keyguard_indication_trust_unlocked)
|
? mContext.getString(R.string.keyguard_indication_trust_unlocked)
|
||||||
: mTrustGrantedIndication.toString();
|
: mTrustGrantedIndication.toString();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1050,14 +1050,14 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void onTrustGrantedMessageDoesShowsOnTrustGranted() {
|
public void onTrustGrantedMessageShowsOnTrustGranted() {
|
||||||
createController();
|
createController();
|
||||||
mController.setVisible(true);
|
mController.setVisible(true);
|
||||||
|
|
||||||
// GIVEN trust is granted
|
// GIVEN trust is granted
|
||||||
when(mKeyguardUpdateMonitor.getUserHasTrust(anyInt())).thenReturn(true);
|
when(mKeyguardUpdateMonitor.getUserHasTrust(anyInt())).thenReturn(true);
|
||||||
|
|
||||||
// WHEN the showTrustGranted message is called
|
// WHEN the showTrustGranted method is called
|
||||||
final String trustGrantedMsg = "testing trust granted message";
|
final String trustGrantedMsg = "testing trust granted message";
|
||||||
mController.getKeyguardCallback().showTrustGrantedMessage(trustGrantedMsg);
|
mController.getKeyguardCallback().showTrustGrantedMessage(trustGrantedMsg);
|
||||||
|
|
||||||
@@ -1067,6 +1067,38 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
|
|||||||
trustGrantedMsg);
|
trustGrantedMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onTrustGrantedMessage_nullMessage_showsDefaultMessage() {
|
||||||
|
createController();
|
||||||
|
mController.setVisible(true);
|
||||||
|
|
||||||
|
// GIVEN trust is granted
|
||||||
|
when(mKeyguardUpdateMonitor.getUserHasTrust(anyInt())).thenReturn(true);
|
||||||
|
|
||||||
|
// WHEN the showTrustGranted method is called with a null message
|
||||||
|
mController.getKeyguardCallback().showTrustGrantedMessage(null);
|
||||||
|
|
||||||
|
// THEN verify the default trust granted message shows
|
||||||
|
verifyIndicationMessage(
|
||||||
|
INDICATION_TYPE_TRUST,
|
||||||
|
getContext().getString(R.string.keyguard_indication_trust_unlocked));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onTrustGrantedMessage_emptyString_showsNoMessage() {
|
||||||
|
createController();
|
||||||
|
mController.setVisible(true);
|
||||||
|
|
||||||
|
// GIVEN trust is granted
|
||||||
|
when(mKeyguardUpdateMonitor.getUserHasTrust(anyInt())).thenReturn(true);
|
||||||
|
|
||||||
|
// WHEN the showTrustGranted method is called with an EMPTY string
|
||||||
|
mController.getKeyguardCallback().showTrustGrantedMessage("");
|
||||||
|
|
||||||
|
// THEN verify NO trust message is shown
|
||||||
|
verifyNoMessage(INDICATION_TYPE_TRUST);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void coEx_faceSuccess_showsPressToOpen() {
|
public void coEx_faceSuccess_showsPressToOpen() {
|
||||||
// GIVEN bouncer isn't showing, can skip bouncer, udfps is supported, no a11y enabled
|
// GIVEN bouncer isn't showing, can skip bouncer, udfps is supported, no a11y enabled
|
||||||
|
|||||||
@@ -1211,7 +1211,7 @@ public class TrustManagerService extends SystemService {
|
|||||||
if (info.userId == userId
|
if (info.userId == userId
|
||||||
&& info.agent.isTrusted()
|
&& info.agent.isTrusted()
|
||||||
&& info.agent.shouldDisplayTrustGrantedMessage()
|
&& info.agent.shouldDisplayTrustGrantedMessage()
|
||||||
&& !TextUtils.isEmpty(info.agent.getMessage())) {
|
&& info.agent.getMessage() != null) {
|
||||||
trustGrantedMessages.add(info.agent.getMessage().toString());
|
trustGrantedMessages.add(info.agent.getMessage().toString());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user