diff --git a/src/com/android/settings/MasterClearConfirm.java b/src/com/android/settings/MasterClearConfirm.java index a3caf2946a6..fb5c94c3558 100644 --- a/src/com/android/settings/MasterClearConfirm.java +++ b/src/com/android/settings/MasterClearConfirm.java @@ -23,6 +23,7 @@ import android.content.pm.ActivityInfo; import android.os.AsyncTask; import android.os.Bundle; import android.os.UserManager; +import android.provider.Settings; import android.service.persistentdata.PersistentDataBlockManager; import android.view.LayoutInflater; import android.view.View; @@ -62,8 +63,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() { int mOldOrientation; ProgressDialog mProgressDialog;