Check if FRP policy is supported in Settings

* Check if FRP policy is supported before
  erasing a device via settings.
* Call DPM TestAPI isFactoryResetProtectionPolicySupported
* If FRP policy is not supported, then do not
  erase the device.

Bug: 155057616
Test: atest com.android.settings.MasterClearConfirmTest
Change-Id: I56e4a6566457f31932658188646abe21701637fc
This commit is contained in:
Alex Johnston
2020-04-28 13:47:14 +01:00
parent 38bd23cb7f
commit 05c0ab0324
2 changed files with 23 additions and 2 deletions

View File

@@ -151,11 +151,16 @@ public class MasterClearConfirm extends InstrumentedFragment {
if (isOemUnlockedAllowed()) {
return false;
}
final DevicePolicyManager dpm = (DevicePolicyManager) getActivity()
.getSystemService(Context.DEVICE_POLICY_SERVICE);
// Do not erase the factory reset protection data (from Settings) if factory reset
// protection policy is not supported on the device.
if (!dpm.isFactoryResetProtectionPolicySupported()) {
return false;
}
// Do not erase the factory reset protection data (from Settings) if the
// device is an organization-owned managed profile device and a factory
// reset protection policy has been set.
final DevicePolicyManager dpm = (DevicePolicyManager) getActivity()
.getSystemService(Context.DEVICE_POLICY_SERVICE);
FactoryResetProtectionPolicy frpPolicy = dpm.getFactoryResetProtectionPolicy(null);
if (dpm.isOrganizationOwnedDeviceWithManagedProfile() && frpPolicy != null
&& frpPolicy.isNotEmpty()) {