Enforce Keyguard policy in Notification Settings

- Applied getKeyguardDisabledFeatures for notification settings and
    notification setup page (after settings a screenlock)
- If a notification settings is disabled, the next least secure setting
    will be chosen
- Although KEYGUARD_DISABLE_UNREDACTED_NOTIFICATIONS can be set be
    profile, it will not be reflected in both settings page. This is
    because it does not affect the owner (user 0), as mentioned in
    DevicePolicyManagerService.PROFILE_KEYGUARD_FEATURES_AFFECT_OWNER
- Skip RedactionInterstitial if there is <= 1 options for the user
- Tested with both Setup wizard and settings case, both pattern and
    password, as well as toggling the policy on and off

Bug: 19307118
Bug: 17099898

Change-Id: If640d5576caa0163e9942569f7b4643a30bbfe0a
This commit is contained in:
Alex Chau
2015-06-12 11:45:08 +01:00
parent 2c55f738c4
commit ccade40278
10 changed files with 129 additions and 43 deletions

View File

@@ -641,7 +641,10 @@ public class ChooseLockPattern extends SettingsActivity {
startVerifyPattern(utils, wasSecureBefore);
} else {
if (!wasSecureBefore) {
startActivity(getRedactionInterstitialIntent(getActivity()));
Intent intent = getRedactionInterstitialIntent(getActivity());
if (intent != null) {
startActivity(intent);
}
}
getActivity().setResult(RESULT_FINISHED);
doFinish();
@@ -670,7 +673,10 @@ public class ChooseLockPattern extends SettingsActivity {
mPendingLockCheck = null;
if (!wasSecureBefore) {
startActivity(getRedactionInterstitialIntent(getActivity()));
Intent intent = getRedactionInterstitialIntent(getActivity());
if (intent != null) {
startActivity(intent);
}
}
Intent intent = new Intent();