Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 14bf226c authored by Russell Brenner's avatar Russell Brenner
Browse files

[DO NOT MERGE] Preserve FRP lock if wiped during SUW

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
parent 26bb544f
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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();