Loading packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt +7 −0 Original line number Diff line number Diff line Loading @@ -328,6 +328,13 @@ class ControlsUiControllerImpl @Inject constructor ( @VisibleForTesting internal fun startRemovingApp(componentName: ComponentName, appName: CharSequence) { activityStarter.dismissKeyguardThenExecute({ showAppRemovalDialog(componentName, appName) true }, null, true) } private fun showAppRemovalDialog(componentName: ComponentName, appName: CharSequence) { removeAppDialog?.cancel() removeAppDialog = dialogsFactory.createRemoveAppDialog(context, appName) { shouldRemove -> if (!shouldRemove || !controlsController.get().removeFavorites(componentName)) { Loading packages/SystemUI/tests/src/com/android/systemui/controls/ui/ControlsUiControllerImplTest.kt +38 −1 Original line number Diff line number Diff line Loading @@ -70,7 +70,9 @@ import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.Mockito.clearInvocations import org.mockito.Mockito.doAnswer import org.mockito.Mockito.doReturn import org.mockito.Mockito.isNull import org.mockito.Mockito.never import org.mockito.Mockito.spy import org.mockito.Mockito.verify Loading Loading @@ -104,6 +106,9 @@ class ControlsUiControllerImplTest : SysuiTestCase() { private lateinit var parent: FrameLayout private lateinit var underTest: ControlsUiControllerImpl private var isKeyguardDismissed: Boolean = true private var isRemoveAppDialogCreated: Boolean = false @Before fun setup() { MockitoAnnotations.initMocks(this) Loading Loading @@ -140,11 +145,23 @@ class ControlsUiControllerImplTest : SysuiTestCase() { authorizedPanelsRepository, preferredPanelRepository, featureFlags, ControlsDialogsFactory { fakeDialogController.dialog }, ControlsDialogsFactory { isRemoveAppDialogCreated = true fakeDialogController.dialog }, dumpManager, ) `when`(userTracker.userId).thenReturn(0) `when`(userTracker.userHandle).thenReturn(UserHandle.of(0)) doAnswer { if (isKeyguardDismissed) { it.getArgument<ActivityStarter.OnDismissAction>(0).onDismiss() } else { it.getArgument<Runnable?>(1)?.run() } } .whenever(activityStarter) .dismissKeyguardThenExecute(any(), isNull(), any()) } @Test Loading Loading @@ -413,6 +430,26 @@ class ControlsUiControllerImplTest : SysuiTestCase() { assertThat(preferredPanelRepository.getSelectedComponent()).isNull() } @Test fun testKeyguardRemovingAppsNotShowingDialog() { isKeyguardDismissed = false 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") assertThat(isRemoveAppDialogCreated).isFalse() 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 testCancelRemovingAppsDoesntRemoveFavorite() { val componentName = ComponentName(context, "cls") Loading Loading
packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt +7 −0 Original line number Diff line number Diff line Loading @@ -328,6 +328,13 @@ class ControlsUiControllerImpl @Inject constructor ( @VisibleForTesting internal fun startRemovingApp(componentName: ComponentName, appName: CharSequence) { activityStarter.dismissKeyguardThenExecute({ showAppRemovalDialog(componentName, appName) true }, null, true) } private fun showAppRemovalDialog(componentName: ComponentName, appName: CharSequence) { removeAppDialog?.cancel() removeAppDialog = dialogsFactory.createRemoveAppDialog(context, appName) { shouldRemove -> if (!shouldRemove || !controlsController.get().removeFavorites(componentName)) { Loading
packages/SystemUI/tests/src/com/android/systemui/controls/ui/ControlsUiControllerImplTest.kt +38 −1 Original line number Diff line number Diff line Loading @@ -70,7 +70,9 @@ import org.junit.Test import org.junit.runner.RunWith import org.mockito.Mock import org.mockito.Mockito.clearInvocations import org.mockito.Mockito.doAnswer import org.mockito.Mockito.doReturn import org.mockito.Mockito.isNull import org.mockito.Mockito.never import org.mockito.Mockito.spy import org.mockito.Mockito.verify Loading Loading @@ -104,6 +106,9 @@ class ControlsUiControllerImplTest : SysuiTestCase() { private lateinit var parent: FrameLayout private lateinit var underTest: ControlsUiControllerImpl private var isKeyguardDismissed: Boolean = true private var isRemoveAppDialogCreated: Boolean = false @Before fun setup() { MockitoAnnotations.initMocks(this) Loading Loading @@ -140,11 +145,23 @@ class ControlsUiControllerImplTest : SysuiTestCase() { authorizedPanelsRepository, preferredPanelRepository, featureFlags, ControlsDialogsFactory { fakeDialogController.dialog }, ControlsDialogsFactory { isRemoveAppDialogCreated = true fakeDialogController.dialog }, dumpManager, ) `when`(userTracker.userId).thenReturn(0) `when`(userTracker.userHandle).thenReturn(UserHandle.of(0)) doAnswer { if (isKeyguardDismissed) { it.getArgument<ActivityStarter.OnDismissAction>(0).onDismiss() } else { it.getArgument<Runnable?>(1)?.run() } } .whenever(activityStarter) .dismissKeyguardThenExecute(any(), isNull(), any()) } @Test Loading Loading @@ -413,6 +430,26 @@ class ControlsUiControllerImplTest : SysuiTestCase() { assertThat(preferredPanelRepository.getSelectedComponent()).isNull() } @Test fun testKeyguardRemovingAppsNotShowingDialog() { isKeyguardDismissed = false 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") assertThat(isRemoveAppDialogCreated).isFalse() 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 testCancelRemovingAppsDoesntRemoveFavorite() { val componentName = ComponentName(context, "cls") Loading