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

Commit 3a8f193b authored by Omer Ozer's avatar Omer Ozer
Browse files

FactoryResetPreferenceController return null when permission isn't

grandted.

Flag: EXEMPT bugfix
Bug: 396580123
Test: manual
Change-Id: Id68dcebc600de21fddf8801757dfb56b92a1a773
parent 0e3f407f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -111,7 +111,7 @@ public class FactoryResetPreferenceController extends BasePreferenceController {
                    return prepareFactoryResetWizardRequest;
                }
            }
            return prepareFactoryResetWizardRequest;
            return null;
        }
        Log.i(TAG, "Unable to resolve a Factory Reset Handler Activity");
        return null;
+18 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when;

import android.Manifest;
@@ -157,4 +158,21 @@ public class FactoryResetPreferenceControllerTest {
        assertThat(intentArgumentCaptor.getValue().getAction())
                .isEqualTo(FactoryResetPreferenceController.ACTION_PREPARE_FACTORY_RESET);
    }

    @Test
    @RequiresFlagsEnabled(com.android.settings.factory_reset.Flags.FLAG_ENABLE_FACTORY_RESET_WIZARD)
    public void handlePreference_factoryResetWizardEnabled_noExistingFrwApp()
            throws PackageManager.NameNotFoundException {
        PackageInfo info = new PackageInfo();
        info.requestedPermissions =
                new String[] {Manifest.permission.PREPARE_FACTORY_RESET};
        info.requestedPermissionsFlags = new int[] {0};
        when(mPackageManager.getPackageInfo(anyString(), anyInt()))
                .thenReturn(info);

        assertThat(mController.handlePreferenceTreeClick(mPreference)).isTrue();
        verify(mPackageManager).getPackageInfo(eq(FACTORY_RESET_APP_PACKAGE),
                eq(PackageManager.GET_PERMISSIONS));
        verifyNoMoreInteractions(mFactoryResetLauncher);
    }
}