Merge "Show charging status in addition to trust granted" into rvc-dev am: a5a270378d
Change-Id: I94c1cb3bbe64e0ea9f97d40da815ae38b9db0abe
This commit is contained in:
@@ -1425,6 +1425,9 @@
|
||||
<!-- Indication on the keyguard that appears when the user disables trust agents until the next time they unlock manually. [CHAR LIMIT=NONE] -->
|
||||
<string name="keyguard_indication_trust_disabled">Device will stay locked until you manually unlock</string>
|
||||
|
||||
<!-- Indication on the keyguard that appears when trust agents unlocks the device and device is plugged in. [CHAR LIMIT=NONE] -->
|
||||
<string name="keyguard_indication_trust_unlocked_plugged_in"><xliff:g id="keyguard_indication" example="Kept unlocked by TrustAgent">%1$s</xliff:g>\n<xliff:g id="power_indication" example="Charging Slowly">%2$s</xliff:g></string>
|
||||
|
||||
<!-- Title of notification educating the user about enabling notifications on the lockscreen. [CHAR LIMIT=40] -->
|
||||
<string name="hidden_notifications_title">Get notifications faster</string>
|
||||
|
||||
|
||||
@@ -224,6 +224,14 @@ public class KeyguardIndicationController implements StateListener,
|
||||
return mContext.getString(R.string.keyguard_indication_trust_unlocked);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets if the device is plugged in
|
||||
*/
|
||||
@VisibleForTesting
|
||||
void setPowerPluggedIn(boolean plugged) {
|
||||
mPowerPluggedIn = plugged;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the indication text indicating that trust is currently being managed.
|
||||
*
|
||||
@@ -322,29 +330,48 @@ public class KeyguardIndicationController implements StateListener,
|
||||
int userId = KeyguardUpdateMonitor.getCurrentUser();
|
||||
String trustGrantedIndication = getTrustGrantedIndication();
|
||||
String trustManagedIndication = getTrustManagedIndication();
|
||||
|
||||
String powerIndication = null;
|
||||
if (mPowerPluggedIn) {
|
||||
powerIndication = computePowerIndication();
|
||||
}
|
||||
|
||||
if (!mKeyguardUpdateMonitor.isUserUnlocked(userId)) {
|
||||
mTextView.switchIndication(com.android.internal.R.string.lockscreen_storage_locked);
|
||||
mTextView.setTextColor(mInitialTextColorState);
|
||||
} else if (!TextUtils.isEmpty(mTransientIndication)) {
|
||||
mTextView.switchIndication(mTransientIndication);
|
||||
if (powerIndication != null) {
|
||||
String indication = mContext.getResources().getString(
|
||||
R.string.keyguard_indication_trust_unlocked_plugged_in,
|
||||
mTransientIndication, powerIndication);
|
||||
mTextView.switchIndication(indication);
|
||||
} else {
|
||||
mTextView.switchIndication(mTransientIndication);
|
||||
}
|
||||
mTextView.setTextColor(mTransientTextColorState);
|
||||
} else if (!TextUtils.isEmpty(trustGrantedIndication)
|
||||
&& mKeyguardUpdateMonitor.getUserHasTrust(userId)) {
|
||||
mTextView.switchIndication(trustGrantedIndication);
|
||||
if (powerIndication != null) {
|
||||
String indication = mContext.getResources().getString(
|
||||
R.string.keyguard_indication_trust_unlocked_plugged_in,
|
||||
trustGrantedIndication, powerIndication);
|
||||
mTextView.switchIndication(indication);
|
||||
} else {
|
||||
mTextView.switchIndication(trustGrantedIndication);
|
||||
}
|
||||
mTextView.setTextColor(mInitialTextColorState);
|
||||
} else if (!TextUtils.isEmpty(mAlignmentIndication)) {
|
||||
mTextView.switchIndication(mAlignmentIndication);
|
||||
mTextView.setTextColor(Utils.getColorError(mContext));
|
||||
} else if (mPowerPluggedIn) {
|
||||
String indication = computePowerIndication();
|
||||
if (DEBUG_CHARGING_SPEED) {
|
||||
indication += ", " + (mChargingWattage / 1000) + " mW";
|
||||
powerIndication += ", " + (mChargingWattage / 1000) + " mW";
|
||||
}
|
||||
mTextView.setTextColor(mInitialTextColorState);
|
||||
if (animate) {
|
||||
animateText(mTextView, indication);
|
||||
animateText(mTextView, powerIndication);
|
||||
} else {
|
||||
mTextView.switchIndication(indication);
|
||||
mTextView.switchIndication(powerIndication);
|
||||
}
|
||||
} else if (!TextUtils.isEmpty(trustManagedIndication)
|
||||
&& mKeyguardUpdateMonitor.getUserTrustIsManaged(userId)
|
||||
@@ -409,7 +436,8 @@ public class KeyguardIndicationController implements StateListener,
|
||||
});
|
||||
}
|
||||
|
||||
private String computePowerIndication() {
|
||||
@VisibleForTesting
|
||||
String computePowerIndication() {
|
||||
if (mPowerCharged) {
|
||||
return mContext.getResources().getString(R.string.keyguard_charged);
|
||||
}
|
||||
|
||||
@@ -374,4 +374,18 @@ public class KeyguardIndicationControllerTest extends SysuiTestCase {
|
||||
verify(mStatusBarStateController).addCallback(eq(mController));
|
||||
verify(mKeyguardUpdateMonitor, times(2)).registerCallback(any());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void unlockMethodCache_listenerUpdatesPluggedIndication() {
|
||||
createController();
|
||||
when(mKeyguardUpdateMonitor.getUserHasTrust(anyInt())).thenReturn(true);
|
||||
mController.setPowerPluggedIn(true);
|
||||
mController.setVisible(true);
|
||||
String powerIndication = mController.computePowerIndication();
|
||||
String pluggedIndication = mContext.getString(R.string.keyguard_indication_trust_unlocked);
|
||||
pluggedIndication = mContext.getString(
|
||||
R.string.keyguard_indication_trust_unlocked_plugged_in,
|
||||
pluggedIndication, powerIndication);
|
||||
assertThat(mTextView.getText()).isEqualTo(pluggedIndication);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user