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

Commit b865f8a6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "FactoryResetPreferenceController return null when permission isn't grandted." into main

parents e0dc58fc 3a8f193b
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);
    }
}