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

Commit f4b8ad6c authored by Russell Brenner's avatar Russell Brenner Committed by The Android Automerger
Browse files

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.

[resolves merge conflicts with ag/808069]

Bug: 25290269
Change-Id: Id26b4c10235ad126632b71875592a4fa70a39b24
parent ec25157a
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.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;