diff options
author | Russell Brenner <russellbrenner@google.com> | 2015-11-05 16:03:20 -0800 |
---|---|---|
committer | The Android Automerger <android-build@google.com> | 2015-12-01 17:41:41 -0800 |
commit | f4b8ad6c3105fa17fba85e852b710e48aaf0794d (patch) | |
tree | 30065bcab4b729b5857c795fddff1e977339b7b2 | |
parent | ec25157ad840a4932c012f75eda1f239e6b4ef12 (diff) | |
download | Settings-f4b8ad6c3105fa17fba85e852b710e48aaf0794d.tar.gz |
Preserve FRP lock if wiped during SUWandroid-6.0.1_r9android-6.0.1_r8android-6.0.1_r7android-6.0.1_r57android-6.0.1_r56android-6.0.1_r48android-6.0.1_r47android-6.0.1_r28android-6.0.1_r27android-6.0.1_r26android-6.0.1_r20android-6.0.1_r17android-6.0.1_r13android-6.0.1_r12android-6.0.1_r11android-6.0.1_r10
Guard against FRP attacks by keeping the persistent data block
intact, if a factory reset has been issued during SUW.
[resolves merge conflicts with ag/808069]
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 7319a4e98dd..da10b2a3fee 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.logging.MetricsLogger; @@ -63,8 +64,12 @@ public class MasterClearConfirm extends InstrumentedFragment { 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. new AsyncTask<Void, Void, Void>() { int mOldOrientation; ProgressDialog mProgressDialog; |