Merge "Accessibility no longer overrides strong encryption (Settings)." into lmp-dev

This commit is contained in:
Svetoslav
2014-10-17 22:59:42 +00:00
committed by Android (Google) Code Review
2 changed files with 16 additions and 3 deletions

View File

@@ -331,6 +331,10 @@ public class ChooseLockGeneric extends SettingsActivity {
} }
private void updatePreferenceSummaryIfNeeded() { private void updatePreferenceSummaryIfNeeded() {
if (LockPatternUtils.isDeviceEncrypted()) {
return;
}
if (AccessibilityManager.getInstance(getActivity()).getEnabledAccessibilityServiceList( if (AccessibilityManager.getInstance(getActivity()).getEnabledAccessibilityServiceList(
AccessibilityServiceInfo.FEEDBACK_ALL_MASK).isEmpty()) { AccessibilityServiceInfo.FEEDBACK_ALL_MASK).isEmpty()) {
return; return;

View File

@@ -55,7 +55,7 @@ public class ToggleAccessibilityServicePreferenceFragment
private static final int DIALOG_ID_ENABLE_WARNING = 1; private static final int DIALOG_ID_ENABLE_WARNING = 1;
private static final int DIALOG_ID_DISABLE_WARNING = 2; 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; private LockPatternUtils mLockPatternUtils;
@@ -284,9 +284,17 @@ public class ToggleAccessibilityServicePreferenceFragment
@Override @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) { 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) { if (resultCode == Activity.RESULT_OK) {
handleConfirmServiceEnabled(true); 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 { } else {
handleConfirmServiceEnabled(false); handleConfirmServiceEnabled(false);
} }
@@ -302,7 +310,8 @@ public class ToggleAccessibilityServicePreferenceFragment
if (LockPatternUtils.isDeviceEncrypted()) { if (LockPatternUtils.isDeviceEncrypted()) {
String title = createConfirmCredentialReasonMessage(); String title = createConfirmCredentialReasonMessage();
Intent intent = ConfirmDeviceCredentialActivity.createIntent(title, null); Intent intent = ConfirmDeviceCredentialActivity.createIntent(title, null);
startActivityForResult(intent, ACTIVITY_REQUEST_CONFIRM_CREDENTIAL); startActivityForResult(intent,
ACTIVITY_REQUEST_CONFIRM_CREDENTIAL_FOR_WEAKER_ENCRYPTION);
} else { } else {
handleConfirmServiceEnabled(true); handleConfirmServiceEnabled(true);
} }