FactoryResetPreferenceController return null when permission isn't

grandted.

Flag: EXEMPT bugfix
Bug: 396580123
Test: manual
Change-Id: Id68dcebc600de21fddf8801757dfb56b92a1a773
This commit is contained in:
Omer Ozer
2025-02-21 20:02:27 +00:00
parent 0e3f407f7d
commit 3a8f193bb5
2 changed files with 19 additions and 1 deletions

View File

@@ -111,7 +111,7 @@ public class FactoryResetPreferenceController extends BasePreferenceController {
return prepareFactoryResetWizardRequest; return prepareFactoryResetWizardRequest;
} }
} }
return prepareFactoryResetWizardRequest; return null;
} }
Log.i(TAG, "Unable to resolve a Factory Reset Handler Activity"); Log.i(TAG, "Unable to resolve a Factory Reset Handler Activity");
return null; return null;

View File

@@ -22,6 +22,7 @@ import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.Manifest; import android.Manifest;
@@ -157,4 +158,21 @@ public class FactoryResetPreferenceControllerTest {
assertThat(intentArgumentCaptor.getValue().getAction()) assertThat(intentArgumentCaptor.getValue().getAction())
.isEqualTo(FactoryResetPreferenceController.ACTION_PREPARE_FACTORY_RESET); .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);
}
} }