Add app removal dialog button check

Test: added autotest
Bug: 265180342
Change-Id: I1ad97553125561454fa34d45ec4809085d2ca64a
This commit is contained in:
Anton Potapov
2023-03-15 13:23:33 +00:00
parent b755b28b94
commit 17c54fbc6e
2 changed files with 24 additions and 4 deletions

View File

@@ -327,8 +327,8 @@ class ControlsUiControllerImpl @Inject constructor (
@VisibleForTesting
internal fun startRemovingApp(componentName: ComponentName, appName: CharSequence) {
removeAppDialog?.cancel()
removeAppDialog = dialogsFactory.createRemoveAppDialog(context, appName) {
if (!controlsController.get().removeFavorites(componentName)) {
removeAppDialog = dialogsFactory.createRemoveAppDialog(context, appName) { shouldRemove ->
if (!shouldRemove || !controlsController.get().removeFavorites(componentName)) {
return@createRemoveAppDialog
}

View File

@@ -347,7 +347,7 @@ class ControlsUiControllerImplTest : SysuiTestCase() {
whenever(controlsController.removeFavorites(eq(componentName))).thenReturn(true)
val panel = SelectedItem.PanelItem("App name", componentName)
preferredPanelRepository.setSelectedComponent(
SelectedComponentRepository.SelectedComponent(panel)
SelectedComponentRepository.SelectedComponent(panel)
)
underTest.show(parent, {}, context)
underTest.startRemovingApp(componentName, "Test App")
@@ -361,6 +361,26 @@ class ControlsUiControllerImplTest : SysuiTestCase() {
assertThat(preferredPanelRepository.getSelectedComponent()).isNull()
}
@Test
fun testCancelRemovingAppsDoesntRemoveFavorite() {
val componentName = ComponentName(context, "cls")
whenever(controlsController.removeFavorites(eq(componentName))).thenReturn(true)
val panel = SelectedItem.PanelItem("App name", componentName)
preferredPanelRepository.setSelectedComponent(
SelectedComponentRepository.SelectedComponent(panel)
)
underTest.show(parent, {}, context)
underTest.startRemovingApp(componentName, "Test App")
fakeDialogController.clickNeutral()
verify(controlsController, never()).removeFavorites(eq(componentName))
assertThat(underTest.getPreferredSelectedItem(emptyList())).isEqualTo(panel)
assertThat(preferredPanelRepository.shouldAddDefaultComponent()).isTrue()
assertThat(preferredPanelRepository.getSelectedComponent())
.isEqualTo(SelectedComponentRepository.SelectedComponent(panel))
}
@Test
fun testHideCancelsTheRemoveAppDialog() {
val componentName = ComponentName(context, "cls")
@@ -375,7 +395,7 @@ class ControlsUiControllerImplTest : SysuiTestCase() {
private fun setUpPanel(panel: SelectedItem.PanelItem): ControlsServiceInfo {
val activity = ComponentName(context, "activity")
preferredPanelRepository.setSelectedComponent(
SelectedComponentRepository.SelectedComponent(panel)
SelectedComponentRepository.SelectedComponent(panel)
)
return ControlsServiceInfo(panel.componentName, panel.appName, activity)
}