From 0af5c0abb1d13cdd3dc71317f067495c1d20a35a Mon Sep 17 00:00:00 2001 From: Anton Potapov Date: Fri, 21 Jul 2023 18:42:16 +0100 Subject: [PATCH] Remove APP_PANELS_REMOVE_APPS_ALLOWED flag Test: manual. Remove apps from DeviceControls Test: atest ControlUiControllerImpl Test: atest AuthorizedPanelsRepositoryImplTest Test: atest SelectedComponentRepositoryTest Fixes: 269132640 Change-Id: I297797d78ae701aac28267f3b550e0b9b1e0c850 --- .../panels/AuthorizedPanelsRepositoryImpl.kt | 16 ++----------- .../panels/SelectedComponentRepositoryImpl.kt | 7 +----- .../controls/ui/ControlsUiControllerImpl.kt | 11 ++++----- .../src/com/android/systemui/flags/Flags.kt | 5 ---- .../AuthorizedPanelsRepositoryImplTest.kt | 24 +------------------ .../panels/SelectedComponentRepositoryTest.kt | 23 ++---------------- 6 files changed, 10 insertions(+), 76 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/controls/panels/AuthorizedPanelsRepositoryImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/panels/AuthorizedPanelsRepositoryImpl.kt index 5c2402ba41495..4aef20928bb8f 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/panels/AuthorizedPanelsRepositoryImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/panels/AuthorizedPanelsRepositoryImpl.kt @@ -20,8 +20,6 @@ package com.android.systemui.controls.panels import android.content.Context import android.content.SharedPreferences import com.android.systemui.R -import com.android.systemui.flags.FeatureFlags -import com.android.systemui.flags.Flags import com.android.systemui.settings.UserFileManager import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.policy.DeviceControlsControllerImpl @@ -33,7 +31,6 @@ constructor( private val context: Context, private val userFileManager: UserFileManager, private val userTracker: UserTracker, - private val featureFlags: FeatureFlags, ) : AuthorizedPanelsRepository { override fun getAuthorizedPanels(): Set { @@ -74,17 +71,8 @@ constructor( userTracker.userId, ) - // We should add default packages in two cases: - // 1) We've never run this - // 2) APP_PANELS_REMOVE_APPS_ALLOWED got disabled after user removed all apps - val needToSetup = - if (featureFlags.isEnabled(Flags.APP_PANELS_REMOVE_APPS_ALLOWED)) { - sharedPref.getStringSet(KEY, null) == null - } else { - // There might be an empty set that need to be overridden after the feature has been - // turned off after being turned on - sharedPref.getStringSet(KEY, null).isNullOrEmpty() - } + // We should add default packages when we've never run this + val needToSetup = sharedPref.getStringSet(KEY, null) == null if (needToSetup) { sharedPref.edit().putStringSet(KEY, getPreferredPackages()).apply() } diff --git a/packages/SystemUI/src/com/android/systemui/controls/panels/SelectedComponentRepositoryImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/panels/SelectedComponentRepositoryImpl.kt index 0fb5b66ef93c8..c9edd4ac74264 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/panels/SelectedComponentRepositoryImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/panels/SelectedComponentRepositoryImpl.kt @@ -21,7 +21,6 @@ import android.content.Context import android.content.SharedPreferences import com.android.systemui.dagger.SysUISingleton import com.android.systemui.flags.FeatureFlags -import com.android.systemui.flags.Flags import com.android.systemui.settings.UserFileManager import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.policy.DeviceControlsControllerImpl @@ -83,11 +82,7 @@ constructor( } override fun shouldAddDefaultComponent(): Boolean = - if (featureFlags.isEnabled(Flags.APP_PANELS_REMOVE_APPS_ALLOWED)) { - sharedPreferences.getBoolean(SHOULD_ADD_DEFAULT_PANEL, true) - } else { - true - } + sharedPreferences.getBoolean(SHOULD_ADD_DEFAULT_PANEL, true) override fun setShouldAddDefaultComponent(shouldAdd: Boolean) { sharedPreferences.edit().putBoolean(SHOULD_ADD_DEFAULT_PANEL, shouldAdd).apply() diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt index 4395e36243a5c..2471e4f525184 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt @@ -72,7 +72,6 @@ import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.flags.FeatureFlags -import com.android.systemui.flags.Flags import com.android.systemui.plugins.ActivityStarter import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.policy.KeyguardStateController @@ -518,12 +517,10 @@ class ControlsUiControllerImpl @Inject constructor ( ADD_APP_ID )) } - if (featureFlags.isEnabled(Flags.APP_PANELS_REMOVE_APPS_ALLOWED)) { - add(OverflowMenuAdapter.MenuItem( - context.getText(R.string.controls_menu_remove), - REMOVE_APP_ID, - )) - } + add(OverflowMenuAdapter.MenuItem( + context.getText(R.string.controls_menu_remove), + REMOVE_APP_ID, + )) if (!isPanel) { add(OverflowMenuAdapter.MenuItem( context.getText(R.string.controls_menu_edit), diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index 775992be5a558..3c3aa25eef616 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -628,11 +628,6 @@ object Flags { // 2000 - device controls @JvmField val APP_PANELS_ALL_APPS_ALLOWED = releasedFlag(2001, "app_panels_all_apps_allowed") - // Enables removing app from Home control panel as a part of a new flow - // TODO(b/269132640): Tracking Bug - @JvmField - val APP_PANELS_REMOVE_APPS_ALLOWED = releasedFlag(2003, "app_panels_remove_apps_allowed") - // 2200 - biometrics (udfps, sfps, BiometricPrompt, etc.) // TODO(b/259264861): Tracking Bug @JvmField val UDFPS_NEW_TOUCH_DETECTION = releasedFlag(2200, "udfps_new_touch_detection") diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/panels/AuthorizedPanelsRepositoryImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/panels/AuthorizedPanelsRepositoryImplTest.kt index 272f5895390ce..7ac1953ee4951 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/controls/panels/AuthorizedPanelsRepositoryImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/controls/panels/AuthorizedPanelsRepositoryImplTest.kt @@ -22,8 +22,6 @@ import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest import com.android.systemui.R import com.android.systemui.SysuiTestCase -import com.android.systemui.flags.FakeFeatureFlags -import com.android.systemui.flags.Flags import com.android.systemui.settings.UserFileManager import com.android.systemui.settings.UserTracker import com.android.systemui.util.FakeSharedPreferences @@ -42,8 +40,6 @@ class AuthorizedPanelsRepositoryImplTest : SysuiTestCase() { @Mock private lateinit var userTracker: UserTracker - private val featureFlags = FakeFeatureFlags() - @Before fun setUp() { MockitoAnnotations.initMocks(this) @@ -52,7 +48,6 @@ class AuthorizedPanelsRepositoryImplTest : SysuiTestCase() { arrayOf() ) whenever(userTracker.userId).thenReturn(0) - featureFlags.set(Flags.APP_PANELS_REMOVE_APPS_ALLOWED, true) } @Test @@ -132,25 +127,8 @@ class AuthorizedPanelsRepositoryImplTest : SysuiTestCase() { assertThat(sharedPrefs.getStringSet(KEY, null)).isEmpty() } - @Test - fun testSetAuthorizedPackageAfterFeatureDisabled() { - mContext.orCreateTestableResources.addOverride( - R.array.config_controlsPreferredPackages, - arrayOf(TEST_PACKAGE) - ) - val sharedPrefs = FakeSharedPreferences() - val fileManager = FakeUserFileManager(mapOf(0 to sharedPrefs)) - val repository = createRepository(fileManager) - - repository.removeAuthorizedPanels(setOf(TEST_PACKAGE)) - - featureFlags.set(Flags.APP_PANELS_REMOVE_APPS_ALLOWED, false) - - assertThat(repository.getAuthorizedPanels()).isEqualTo(setOf(TEST_PACKAGE)) - } - private fun createRepository(userFileManager: UserFileManager): AuthorizedPanelsRepositoryImpl { - return AuthorizedPanelsRepositoryImpl(mContext, userFileManager, userTracker, featureFlags) + return AuthorizedPanelsRepositoryImpl(mContext, userFileManager, userTracker) } private class FakeUserFileManager(private val sharedPrefs: Map) : diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/panels/SelectedComponentRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/panels/SelectedComponentRepositoryTest.kt index 0c7b9cb82b942..6230ea7ecd31d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/controls/panels/SelectedComponentRepositoryTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/controls/panels/SelectedComponentRepositoryTest.kt @@ -22,7 +22,6 @@ import android.testing.AndroidTestingRunner import androidx.test.filters.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.flags.FakeFeatureFlags -import com.android.systemui.flags.Flags import com.android.systemui.settings.UserFileManager import com.android.systemui.settings.UserTracker import com.android.systemui.statusbar.policy.DeviceControlsControllerImpl @@ -103,35 +102,17 @@ class SelectedComponentRepositoryTest : SysuiTestCase() { } @Test - fun testFeatureEnabled_shouldAddDefaultPanelDefaultsToTrue() { - featureFlags.set(Flags.APP_PANELS_REMOVE_APPS_ALLOWED, true) - + fun testShouldAddDefaultPanelDefaultsToTrue() { assertThat(repository.shouldAddDefaultComponent()).isTrue() } @Test - fun testFeatureDisabled_shouldAddDefaultPanelDefaultsToTrue() { - featureFlags.set(Flags.APP_PANELS_REMOVE_APPS_ALLOWED, false) - - assertThat(repository.shouldAddDefaultComponent()).isTrue() - } - - @Test - fun testFeatureEnabled_shouldAddDefaultPanelChecked() { - featureFlags.set(Flags.APP_PANELS_REMOVE_APPS_ALLOWED, true) + fun testShouldAddDefaultPanelChecked() { repository.setShouldAddDefaultComponent(false) assertThat(repository.shouldAddDefaultComponent()).isFalse() } - @Test - fun testFeatureDisabled_shouldAlwaysAddDefaultPanelAlwaysTrue() { - featureFlags.set(Flags.APP_PANELS_REMOVE_APPS_ALLOWED, false) - repository.setShouldAddDefaultComponent(false) - - assertThat(repository.shouldAddDefaultComponent()).isTrue() - } - @Test fun testGetPreferredStructure_differentUserId() { sharedPreferences.savePanel(COMPONENT_A)