SecuritySubSettings: Show trust agent label on lock timeout setting
Fixes: 35475555 Test: Observe description of 'Automatically lock' and 'Power button instantly locks' options, should mention trust agent when one is enabled. Change-Id: I7967e44d5155c6620dc44cc4d284a8470166d687
This commit is contained in:
@@ -525,6 +525,14 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static CharSequence getActiveTrustAgentLabel(Context context,
|
||||||
|
TrustAgentManager trustAgentManager, LockPatternUtils utils,
|
||||||
|
DevicePolicyManager dpm) {
|
||||||
|
ArrayList<TrustAgentComponentInfo> agents = getActiveTrustAgents(context,
|
||||||
|
trustAgentManager, utils, dpm);
|
||||||
|
return agents.isEmpty() ? null : agents.get(0).title;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onGearClick(GearPreference p) {
|
public void onGearClick(GearPreference p) {
|
||||||
if (KEY_UNLOCK_SET_OR_CHANGE.equals(p.getKey())) {
|
if (KEY_UNLOCK_SET_OR_CHANGE.equals(p.getKey())) {
|
||||||
@@ -912,6 +920,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
private SwitchPreference mPowerButtonInstantlyLocks;
|
private SwitchPreference mPowerButtonInstantlyLocks;
|
||||||
private RestrictedPreference mOwnerInfoPref;
|
private RestrictedPreference mOwnerInfoPref;
|
||||||
|
|
||||||
|
private TrustAgentManager mTrustAgentManager;
|
||||||
private LockPatternUtils mLockPatternUtils;
|
private LockPatternUtils mLockPatternUtils;
|
||||||
private DevicePolicyManager mDPM;
|
private DevicePolicyManager mDPM;
|
||||||
|
|
||||||
@@ -923,6 +932,9 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
super.onCreate(icicle);
|
super.onCreate(icicle);
|
||||||
|
SecurityFeatureProvider securityFeatureProvider =
|
||||||
|
FeatureFactory.getFactory(getActivity()).getSecurityFeatureProvider();
|
||||||
|
mTrustAgentManager = securityFeatureProvider.getTrustAgentManager();
|
||||||
mLockPatternUtils = new LockPatternUtils(getContext());
|
mLockPatternUtils = new LockPatternUtils(getContext());
|
||||||
mDPM = getContext().getSystemService(DevicePolicyManager.class);
|
mDPM = getContext().getSystemService(DevicePolicyManager.class);
|
||||||
createPreferenceHierarchy();
|
createPreferenceHierarchy();
|
||||||
@@ -977,13 +989,12 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
// lock instantly on power key press
|
// lock instantly on power key press
|
||||||
mPowerButtonInstantlyLocks = (SwitchPreference) findPreference(
|
mPowerButtonInstantlyLocks = (SwitchPreference) findPreference(
|
||||||
KEY_POWER_INSTANTLY_LOCKS);
|
KEY_POWER_INSTANTLY_LOCKS);
|
||||||
Preference trustAgentPreference = findPreference(KEY_TRUST_AGENT);
|
CharSequence trustAgentLabel = getActiveTrustAgentLabel(getContext(),
|
||||||
if (mPowerButtonInstantlyLocks != null &&
|
mTrustAgentManager, mLockPatternUtils, mDPM);
|
||||||
trustAgentPreference != null &&
|
if (mPowerButtonInstantlyLocks != null && !TextUtils.isEmpty(trustAgentLabel)) {
|
||||||
trustAgentPreference.getTitle().length() > 0) {
|
|
||||||
mPowerButtonInstantlyLocks.setSummary(getString(
|
mPowerButtonInstantlyLocks.setSummary(getString(
|
||||||
R.string.lockpattern_settings_power_button_instantly_locks_summary,
|
R.string.lockpattern_settings_power_button_instantly_locks_summary,
|
||||||
trustAgentPreference.getTitle()));
|
trustAgentLabel));
|
||||||
}
|
}
|
||||||
|
|
||||||
mOwnerInfoPref = (RestrictedPreference) findPreference(KEY_OWNER_INFO_SETTINGS);
|
mOwnerInfoPref = (RestrictedPreference) findPreference(KEY_OWNER_INFO_SETTINGS);
|
||||||
@@ -1052,14 +1063,15 @@ public class SecuritySettings extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Preference preference = findPreference(KEY_TRUST_AGENT);
|
CharSequence trustAgentLabel = getActiveTrustAgentLabel(getContext(),
|
||||||
if (preference != null && preference.getTitle().length() > 0) {
|
mTrustAgentManager, mLockPatternUtils, mDPM);
|
||||||
|
if (!TextUtils.isEmpty(trustAgentLabel)) {
|
||||||
if (Long.valueOf(values[best].toString()) == 0) {
|
if (Long.valueOf(values[best].toString()) == 0) {
|
||||||
summary = getString(R.string.lock_immediately_summary_with_exception,
|
summary = getString(R.string.lock_immediately_summary_with_exception,
|
||||||
preference.getTitle());
|
trustAgentLabel);
|
||||||
} else {
|
} else {
|
||||||
summary = getString(R.string.lock_after_timeout_summary_with_exception,
|
summary = getString(R.string.lock_after_timeout_summary_with_exception,
|
||||||
entries[best], preference.getTitle());
|
entries[best], trustAgentLabel);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
summary = getString(R.string.lock_after_timeout_summary, entries[best]);
|
summary = getString(R.string.lock_after_timeout_summary, entries[best]);
|
||||||
|
Reference in New Issue
Block a user