Merge "Accessibility no longer overrides strong encryption (Settings)." into lmp-dev
diff --git a/src/com/android/settings/ChooseLockGeneric.java b/src/com/android/settings/ChooseLockGeneric.java
index 89ba20b..40fa69e 100644
--- a/src/com/android/settings/ChooseLockGeneric.java
+++ b/src/com/android/settings/ChooseLockGeneric.java
@@ -331,6 +331,10 @@
}
private void updatePreferenceSummaryIfNeeded() {
+ if (LockPatternUtils.isDeviceEncrypted()) {
+ return;
+ }
+
if (AccessibilityManager.getInstance(getActivity()).getEnabledAccessibilityServiceList(
AccessibilityServiceInfo.FEEDBACK_ALL_MASK).isEmpty()) {
return;
diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
index 71b5862..08fba67 100644
--- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
@@ -55,7 +55,7 @@
private static final int DIALOG_ID_ENABLE_WARNING = 1;
private static final int DIALOG_ID_DISABLE_WARNING = 2;
- public static final int ACTIVITY_REQUEST_CONFIRM_CREDENTIAL = 1;
+ public static final int ACTIVITY_REQUEST_CONFIRM_CREDENTIAL_FOR_WEAKER_ENCRYPTION = 1;
private LockPatternUtils mLockPatternUtils;
@@ -284,9 +284,17 @@
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == ACTIVITY_REQUEST_CONFIRM_CREDENTIAL) {
+ if (requestCode == ACTIVITY_REQUEST_CONFIRM_CREDENTIAL_FOR_WEAKER_ENCRYPTION) {
if (resultCode == Activity.RESULT_OK) {
handleConfirmServiceEnabled(true);
+ // The user confirmed that they accept weaker encryption when
+ // enabling the accessibility service, so change encryption.
+ // Since we came here asynchronously, check encryption again.
+ if (LockPatternUtils.isDeviceEncrypted()) {
+ mLockPatternUtils.clearEncryptionPassword();
+ Settings.Global.putInt(getContentResolver(),
+ Settings.Global.REQUIRE_PASSWORD_TO_DECRYPT, 0);
+ }
} else {
handleConfirmServiceEnabled(false);
}
@@ -302,7 +310,8 @@
if (LockPatternUtils.isDeviceEncrypted()) {
String title = createConfirmCredentialReasonMessage();
Intent intent = ConfirmDeviceCredentialActivity.createIntent(title, null);
- startActivityForResult(intent, ACTIVITY_REQUEST_CONFIRM_CREDENTIAL);
+ startActivityForResult(intent,
+ ACTIVITY_REQUEST_CONFIRM_CREDENTIAL_FOR_WEAKER_ENCRYPTION);
} else {
handleConfirmServiceEnabled(true);
}