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

Commit d1408a66 authored by Alex Johnston's avatar Alex Johnston Committed by Android (Google) Code Review
Browse files

Merge "Check if FRP policy is supported in Settings" into rvc-dev

parents 981d10db 05c0ab03
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -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()) {
+16 −0
Original line number Diff line number Diff line
@@ -114,6 +114,20 @@ public class MasterClearConfirmTest {
                mPersistentDataBlockManager)).isFalse();
    }

    @Test
    public void shouldWipePersistentDataBlock_frpPolicyNotSupported_shouldReturnFalse() {
        when(mMasterClearConfirm.getActivity()).thenReturn(mMockActivity);

        doReturn(false).when(mMasterClearConfirm).isDeviceStillBeingProvisioned();
        doReturn(false).when(mMasterClearConfirm).isOemUnlockedAllowed();
        when(mMockActivity.getSystemService(Context.DEVICE_POLICY_SERVICE))
                .thenReturn(mDevicePolicyManager);
        when(mDevicePolicyManager.isFactoryResetProtectionPolicySupported()).thenReturn(false);

        assertThat(mMasterClearConfirm.shouldWipePersistentDataBlock(
                mPersistentDataBlockManager)).isFalse();
    }

    @Test
    public void shouldWipePersistentDataBlock_hasFactoryResetProtectionPolicy_shouldReturnFalse() {
        when(mMasterClearConfirm.getActivity()).thenReturn(mMockActivity);
@@ -128,6 +142,7 @@ public class MasterClearConfirmTest {
                .build();
        when(mMockActivity.getSystemService(Context.DEVICE_POLICY_SERVICE))
                .thenReturn(mDevicePolicyManager);
        when(mDevicePolicyManager.isFactoryResetProtectionPolicySupported()).thenReturn(true);
        when(mDevicePolicyManager.getFactoryResetProtectionPolicy(null)).thenReturn(frp);
        when(mDevicePolicyManager.isOrganizationOwnedDeviceWithManagedProfile()).thenReturn(true);

@@ -144,6 +159,7 @@ public class MasterClearConfirmTest {

        when(mMockActivity.getSystemService(Context.DEVICE_POLICY_SERVICE))
                .thenReturn(mDevicePolicyManager);
        when(mDevicePolicyManager.isFactoryResetProtectionPolicySupported()).thenReturn(true);
        when(mDevicePolicyManager.getFactoryResetProtectionPolicy(null)).thenReturn(null);
        when(mDevicePolicyManager.isOrganizationOwnedDeviceWithManagedProfile()).thenReturn(false);