Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0af5c0ab authored by Anton Potapov's avatar Anton Potapov
Browse files

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
parent 7786667a
Loading
Loading
Loading
Loading
+2 −14
Original line number Diff line number Diff line
@@ -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<String> {
@@ -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()
        }
+1 −6
Original line number Diff line number Diff line
@@ -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
        }

    override fun setShouldAddDefaultComponent(shouldAdd: Boolean) {
        sharedPreferences.edit().putBoolean(SHOULD_ADD_DEFAULT_PANEL, shouldAdd).apply()
+4 −7
Original line number Diff line number Diff line
@@ -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,
            ))
            }
            if (!isPanel) {
                add(OverflowMenuAdapter.MenuItem(
                        context.getText(R.string.controls_menu_edit),
+0 −5
Original line number Diff line number Diff line
@@ -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")
+1 −23
Original line number Diff line number Diff line
@@ -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<String>()
        )
        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<Int, SharedPreferences>) :
Loading