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

This commit is contained in:
Treehugger Robot
2025-02-24 14:29:36 -08:00
committed by Android (Google) Code Review
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 null;
}
Log.i(TAG, "Unable to resolve a Factory Reset Handler Activity");
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.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);
}
}