Fix crash if trying to erase the FRP data.

- Once factory reset protection is on, user data shall not be erased.

Flag: EXEMPT bug fix
Fix: 345587437
Test: Manual test passed
Test: atest passed
Change-Id: I9506224cae7ba12c4181f2b2c676e5eb8ec27431
This commit is contained in:
tomhsu
2024-06-07 06:52:46 +00:00
committed by Tom Hsu
parent 1010a85eda
commit fbb56c4d1c
2 changed files with 14 additions and 2 deletions

View File

@@ -89,8 +89,7 @@ public class MainClearConfirm extends InstrumentedFragment {
final PersistentDataBlockManager pdbManager;
// pre-flight check hardware support PersistentDataBlockManager
if (!SystemProperties.get(PERSISTENT_DATA_BLOCK_PROP).equals("")) {
pdbManager = (PersistentDataBlockManager)
getActivity().getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
pdbManager = getActivity().getSystemService(PersistentDataBlockManager.class);
} else {
pdbManager = null;
}
@@ -152,6 +151,11 @@ public class MainClearConfirm extends InstrumentedFragment {
return false;
}
// Do not try to erase factory reset protection data if the protection is alive.
if (pdbManager.isFactoryResetProtectionActive()) {
return false;
}
// The persistent data block will persist if the device is still being provisioned.
if (isDeviceStillBeingProvisioned()) {
return false;