diff options
author | Russell Brenner <russellbrenner@google.com> | 2015-11-05 16:03:20 -0800 |
---|---|---|
committer | The Android Automerger <android-build@google.com> | 2015-11-30 18:04:47 -0800 |
commit | a7ff2e955d2509ed28deeef984347e093794f92b (patch) | |
tree | 62eea976a10ac64036bda26ba8257b5afaa7785e | |
parent | 665ac7bc29396fd5af2ecfdfda2b9de7a507daa0 (diff) | |
download | packages_apps_Settings-android-cts-5.1_r14.tar.gz packages_apps_Settings-android-cts-5.1_r14.tar.bz2 packages_apps_Settings-android-cts-5.1_r14.zip |
[DO NOT MERGE] Preserve FRP lock if wiped during SUWandroid-cts-5.1_r9android-cts-5.1_r8android-cts-5.1_r7android-cts-5.1_r6android-cts-5.1_r28android-cts-5.1_r27android-cts-5.1_r26android-cts-5.1_r25android-cts-5.1_r24android-cts-5.1_r23android-cts-5.1_r22android-cts-5.1_r21android-cts-5.1_r20android-cts-5.1_r19android-cts-5.1_r18android-cts-5.1_r17android-cts-5.1_r16android-cts-5.1_r15android-cts-5.1_r14android-cts-5.1_r13android-cts-5.1_r10android-5.1.1_r38android-5.1.1_r37android-5.1.1_r36android-5.1.1_r35android-5.1.1_r34android-5.1.1_r33
Guard against FRP attacks by keeping the persistent data block
intact, if a factory reset has been issued during SUW.
Bug: 25290269
Change-Id: Id26b4c10235ad126632b71875592a4fa70a39b24
-rw-r--r-- | src/com/android/settings/MasterClearConfirm.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/com/android/settings/MasterClearConfirm.java b/src/com/android/settings/MasterClearConfirm.java index 3521aa3140..71837c6c8c 100644 --- a/src/com/android/settings/MasterClearConfirm.java +++ b/src/com/android/settings/MasterClearConfirm.java @@ -20,6 +20,7 @@ import android.app.ProgressDialog; import android.content.Context; import android.content.pm.ActivityInfo; import android.os.AsyncTask; +import android.provider.Settings; import android.service.persistentdata.PersistentDataBlockManager; import com.android.internal.os.storage.ExternalStorageFormatter; @@ -62,8 +63,12 @@ public class MasterClearConfirm extends Fragment { final PersistentDataBlockManager pdbManager = (PersistentDataBlockManager) getActivity().getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE); - if (pdbManager != null && !pdbManager.getOemUnlockEnabled()) { - // if OEM unlock is enabled, this will be wiped during FR process. + if (pdbManager != null && !pdbManager.getOemUnlockEnabled() && + Settings.Global.getInt(getActivity().getContentResolver(), + Settings.Global.DEVICE_PROVISIONED, 0) != 0) { + // if OEM unlock is enabled, this will be wiped during FR process. If disabled, it + // will be wiped here, unless the device is still being provisioned, in which case + // the persistent data block will be preserved. final ProgressDialog progressDialog = getProgressDialog(); progressDialog.show(); |