diff --git a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt index cf4b8a55ce97f..989b7cf2423b6 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/controller/ControlsControllerImpl.kt @@ -493,10 +493,12 @@ private object Favorites { updatedStructure } else { s } - structures.add(newStructure) + if (!newStructure.controls.isEmpty()) { + structures.add(newStructure) + } } - if (!replaced) { + if (!replaced && !updatedStructure.controls.isEmpty()) { structures.add(updatedStructure) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsControllerImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsControllerImplTest.kt index 91583c2fd7abe..c70c56a8660b9 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsControllerImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/controls/controller/ControlsControllerImplTest.kt @@ -521,7 +521,7 @@ class ControlsControllerImplTest : SysuiTestCase() { } @Test - fun testReplaceFavoritesForStructure_noFavorites() { + fun testReplaceFavoritesForStructure_noExistingFavorites() { controller.replaceFavoritesForStructure(TEST_STRUCTURE_INFO) delayableExecutor.runAllReady() @@ -530,6 +530,16 @@ class ControlsControllerImplTest : SysuiTestCase() { controller.getFavoritesForComponent(TEST_COMPONENT)) } + @Test + fun testReplaceFavoritesForStructure_doNotStoreEmptyStructure() { + controller.replaceFavoritesForStructure( + StructureInfo(TEST_COMPONENT, "Home", emptyList())) + delayableExecutor.runAllReady() + + assertEquals(0, controller.countFavoritesForComponent(TEST_COMPONENT)) + assertEquals(emptyList(), controller.getFavoritesForComponent(TEST_COMPONENT)) + } + @Test fun testReplaceFavoritesForStructure_differentComponentsAreFilteredOut() { controller.replaceFavoritesForStructure(TEST_STRUCTURE_INFO)