Loading packages/SystemUI/src/com/android/systemui/flags/Flags.kt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -524,7 +524,7 @@ object Flags { // 1500 - chooser aka sharesheet // 1500 - chooser aka sharesheet // TODO(b/254512507): Tracking Bug // TODO(b/254512507): Tracking Bug val CHOOSER_UNBUNDLED = unreleasedFlag(1500, "chooser_unbundled", teamfood = true) val CHOOSER_UNBUNDLED = releasedFlag(1500, "chooser_unbundled") // TODO(b/266983432) Tracking Bug // TODO(b/266983432) Tracking Bug val SHARESHEET_CUSTOM_ACTIONS = val SHARESHEET_CUSTOM_ACTIONS = Loading packages/SystemUI/tests/src/com/android/systemui/ChooserSelectorTest.kt +13 −8 Original line number Original line Diff line number Diff line Loading @@ -11,6 +11,7 @@ import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flag import com.android.systemui.flags.Flag import com.android.systemui.flags.FlagListenable import com.android.systemui.flags.FlagListenable import com.android.systemui.flags.Flags import com.android.systemui.flags.Flags import com.android.systemui.flags.ReleasedFlag import com.android.systemui.flags.UnreleasedFlag import com.android.systemui.flags.UnreleasedFlag import com.android.systemui.settings.UserTracker import com.android.systemui.settings.UserTracker import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.any Loading Loading @@ -102,7 +103,7 @@ class ChooserSelectorTest : SysuiTestCase() { @Test @Test fun initialize_enablesUnbundledChooser_whenFlagEnabled() { fun initialize_enablesUnbundledChooser_whenFlagEnabled() { // Arrange // Arrange whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(true) setFlagMock(true) // Act // Act chooserSelector.start() chooserSelector.start() Loading @@ -118,7 +119,7 @@ class ChooserSelectorTest : SysuiTestCase() { @Test @Test fun initialize_disablesUnbundledChooser_whenFlagDisabled() { fun initialize_disablesUnbundledChooser_whenFlagDisabled() { // Arrange // Arrange whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(false) setFlagMock(false) // Act // Act chooserSelector.start() chooserSelector.start() Loading @@ -134,7 +135,7 @@ class ChooserSelectorTest : SysuiTestCase() { @Test @Test fun enablesUnbundledChooser_whenFlagBecomesEnabled() { fun enablesUnbundledChooser_whenFlagBecomesEnabled() { // Arrange // Arrange whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(false) setFlagMock(false) chooserSelector.start() chooserSelector.start() verify(mockFeatureFlags).addListener( verify(mockFeatureFlags).addListener( eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), Loading @@ -147,7 +148,7 @@ class ChooserSelectorTest : SysuiTestCase() { ) ) // Act // Act whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(true) setFlagMock(true) flagListener.value.onFlagChanged(TestFlagEvent(Flags.CHOOSER_UNBUNDLED.name)) flagListener.value.onFlagChanged(TestFlagEvent(Flags.CHOOSER_UNBUNDLED.name)) // Assert // Assert Loading @@ -161,7 +162,7 @@ class ChooserSelectorTest : SysuiTestCase() { @Test @Test fun disablesUnbundledChooser_whenFlagBecomesDisabled() { fun disablesUnbundledChooser_whenFlagBecomesDisabled() { // Arrange // Arrange whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(true) setFlagMock(true) chooserSelector.start() chooserSelector.start() verify(mockFeatureFlags).addListener( verify(mockFeatureFlags).addListener( eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), Loading @@ -174,7 +175,7 @@ class ChooserSelectorTest : SysuiTestCase() { ) ) // Act // Act whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(false) setFlagMock(false) flagListener.value.onFlagChanged(TestFlagEvent(Flags.CHOOSER_UNBUNDLED.name)) flagListener.value.onFlagChanged(TestFlagEvent(Flags.CHOOSER_UNBUNDLED.name)) // Assert // Assert Loading @@ -188,7 +189,7 @@ class ChooserSelectorTest : SysuiTestCase() { @Test @Test fun doesNothing_whenAnotherFlagChanges() { fun doesNothing_whenAnotherFlagChanges() { // Arrange // Arrange whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(false) setFlagMock(false) chooserSelector.start() chooserSelector.start() verify(mockFeatureFlags).addListener( verify(mockFeatureFlags).addListener( eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), Loading @@ -197,13 +198,17 @@ class ChooserSelectorTest : SysuiTestCase() { clearInvocations(mockPackageManager) clearInvocations(mockPackageManager) // Act // Act whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(false) flagListener.value.onFlagChanged(TestFlagEvent("other flag")) flagListener.value.onFlagChanged(TestFlagEvent("other flag")) // Assert // Assert verifyZeroInteractions(mockPackageManager) verifyZeroInteractions(mockPackageManager) } } private fun setFlagMock(enabled: Boolean) { whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(enabled) whenever(mockFeatureFlags.isEnabled(any<ReleasedFlag>())).thenReturn(enabled) } private class TestFlagEvent(override val flagName: String) : FlagListenable.FlagEvent { private class TestFlagEvent(override val flagName: String) : FlagListenable.FlagEvent { override fun requestNoRestart() {} override fun requestNoRestart() {} } } Loading Loading
packages/SystemUI/src/com/android/systemui/flags/Flags.kt +1 −1 Original line number Original line Diff line number Diff line Loading @@ -524,7 +524,7 @@ object Flags { // 1500 - chooser aka sharesheet // 1500 - chooser aka sharesheet // TODO(b/254512507): Tracking Bug // TODO(b/254512507): Tracking Bug val CHOOSER_UNBUNDLED = unreleasedFlag(1500, "chooser_unbundled", teamfood = true) val CHOOSER_UNBUNDLED = releasedFlag(1500, "chooser_unbundled") // TODO(b/266983432) Tracking Bug // TODO(b/266983432) Tracking Bug val SHARESHEET_CUSTOM_ACTIONS = val SHARESHEET_CUSTOM_ACTIONS = Loading
packages/SystemUI/tests/src/com/android/systemui/ChooserSelectorTest.kt +13 −8 Original line number Original line Diff line number Diff line Loading @@ -11,6 +11,7 @@ import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flag import com.android.systemui.flags.Flag import com.android.systemui.flags.FlagListenable import com.android.systemui.flags.FlagListenable import com.android.systemui.flags.Flags import com.android.systemui.flags.Flags import com.android.systemui.flags.ReleasedFlag import com.android.systemui.flags.UnreleasedFlag import com.android.systemui.flags.UnreleasedFlag import com.android.systemui.settings.UserTracker import com.android.systemui.settings.UserTracker import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.any Loading Loading @@ -102,7 +103,7 @@ class ChooserSelectorTest : SysuiTestCase() { @Test @Test fun initialize_enablesUnbundledChooser_whenFlagEnabled() { fun initialize_enablesUnbundledChooser_whenFlagEnabled() { // Arrange // Arrange whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(true) setFlagMock(true) // Act // Act chooserSelector.start() chooserSelector.start() Loading @@ -118,7 +119,7 @@ class ChooserSelectorTest : SysuiTestCase() { @Test @Test fun initialize_disablesUnbundledChooser_whenFlagDisabled() { fun initialize_disablesUnbundledChooser_whenFlagDisabled() { // Arrange // Arrange whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(false) setFlagMock(false) // Act // Act chooserSelector.start() chooserSelector.start() Loading @@ -134,7 +135,7 @@ class ChooserSelectorTest : SysuiTestCase() { @Test @Test fun enablesUnbundledChooser_whenFlagBecomesEnabled() { fun enablesUnbundledChooser_whenFlagBecomesEnabled() { // Arrange // Arrange whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(false) setFlagMock(false) chooserSelector.start() chooserSelector.start() verify(mockFeatureFlags).addListener( verify(mockFeatureFlags).addListener( eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), Loading @@ -147,7 +148,7 @@ class ChooserSelectorTest : SysuiTestCase() { ) ) // Act // Act whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(true) setFlagMock(true) flagListener.value.onFlagChanged(TestFlagEvent(Flags.CHOOSER_UNBUNDLED.name)) flagListener.value.onFlagChanged(TestFlagEvent(Flags.CHOOSER_UNBUNDLED.name)) // Assert // Assert Loading @@ -161,7 +162,7 @@ class ChooserSelectorTest : SysuiTestCase() { @Test @Test fun disablesUnbundledChooser_whenFlagBecomesDisabled() { fun disablesUnbundledChooser_whenFlagBecomesDisabled() { // Arrange // Arrange whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(true) setFlagMock(true) chooserSelector.start() chooserSelector.start() verify(mockFeatureFlags).addListener( verify(mockFeatureFlags).addListener( eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), Loading @@ -174,7 +175,7 @@ class ChooserSelectorTest : SysuiTestCase() { ) ) // Act // Act whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(false) setFlagMock(false) flagListener.value.onFlagChanged(TestFlagEvent(Flags.CHOOSER_UNBUNDLED.name)) flagListener.value.onFlagChanged(TestFlagEvent(Flags.CHOOSER_UNBUNDLED.name)) // Assert // Assert Loading @@ -188,7 +189,7 @@ class ChooserSelectorTest : SysuiTestCase() { @Test @Test fun doesNothing_whenAnotherFlagChanges() { fun doesNothing_whenAnotherFlagChanges() { // Arrange // Arrange whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(false) setFlagMock(false) chooserSelector.start() chooserSelector.start() verify(mockFeatureFlags).addListener( verify(mockFeatureFlags).addListener( eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), eq<Flag<*>>(Flags.CHOOSER_UNBUNDLED), Loading @@ -197,13 +198,17 @@ class ChooserSelectorTest : SysuiTestCase() { clearInvocations(mockPackageManager) clearInvocations(mockPackageManager) // Act // Act whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(false) flagListener.value.onFlagChanged(TestFlagEvent("other flag")) flagListener.value.onFlagChanged(TestFlagEvent("other flag")) // Assert // Assert verifyZeroInteractions(mockPackageManager) verifyZeroInteractions(mockPackageManager) } } private fun setFlagMock(enabled: Boolean) { whenever(mockFeatureFlags.isEnabled(any<UnreleasedFlag>())).thenReturn(enabled) whenever(mockFeatureFlags.isEnabled(any<ReleasedFlag>())).thenReturn(enabled) } private class TestFlagEvent(override val flagName: String) : FlagListenable.FlagEvent { private class TestFlagEvent(override val flagName: String) : FlagListenable.FlagEvent { override fun requestNoRestart() {} override fun requestNoRestart() {} } } Loading