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

Commit 9466777d authored by Anton Potapov's avatar Anton Potapov Committed by Automerger Merge Worker
Browse files

Merge "Remove USE_APP_PANELS flag" into udc-qpr-dev am: 40383d79 am: 114c0361

parents 68c6e5de 114c0361
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -124,8 +124,7 @@ class ControlsListingControllerImpl @VisibleForTesting constructor(
    }
    }


    private fun updateServices(newServices: List<ControlsServiceInfo>) {
    private fun updateServices(newServices: List<ControlsServiceInfo>) {
        if (featureFlags.isEnabled(Flags.USE_APP_PANELS) &&
        if (activityTaskManagerProxy.supportsMultiWindow(context)) {
                activityTaskManagerProxy.supportsMultiWindow(context)) {
            val allowAllApps = featureFlags.isEnabled(Flags.APP_PANELS_ALL_APPS_ALLOWED)
            val allowAllApps = featureFlags.isEnabled(Flags.APP_PANELS_ALL_APPS_ALLOWED)
            newServices.forEach {
            newServices.forEach {
                it.resolvePanelActivity(allowAllApps) }
                it.resolvePanelActivity(allowAllApps) }
+0 −19
Original line number Original line Diff line number Diff line
@@ -34,12 +34,9 @@ import android.view.HapticFeedbackConstants
import com.android.internal.annotations.VisibleForTesting
import com.android.internal.annotations.VisibleForTesting
import com.android.systemui.broadcast.BroadcastSender
import com.android.systemui.broadcast.BroadcastSender
import com.android.systemui.controls.ControlsMetricsLogger
import com.android.systemui.controls.ControlsMetricsLogger
import com.android.systemui.controls.settings.ControlsSettingsDialogManager
import com.android.systemui.controls.settings.ControlsSettingsRepository
import com.android.systemui.controls.settings.ControlsSettingsRepository
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.statusbar.VibratorHelper
import com.android.systemui.statusbar.VibratorHelper
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.statusbar.policy.KeyguardStateController
@@ -60,8 +57,6 @@ class ControlActionCoordinatorImpl @Inject constructor(
        private val controlsMetricsLogger: ControlsMetricsLogger,
        private val controlsMetricsLogger: ControlsMetricsLogger,
        private val vibrator: VibratorHelper,
        private val vibrator: VibratorHelper,
        private val controlsSettingsRepository: ControlsSettingsRepository,
        private val controlsSettingsRepository: ControlsSettingsRepository,
        private val controlsSettingsDialogManager: ControlsSettingsDialogManager,
        private val featureFlags: FeatureFlags,
) : ControlActionCoordinator {
) : ControlActionCoordinator {
    private var dialog: Dialog? = null
    private var dialog: Dialog? = null
    private var pendingAction: Action? = null
    private var pendingAction: Action? = null
@@ -77,9 +72,6 @@ class ControlActionCoordinatorImpl @Inject constructor(
    }
    }


    override fun closeDialogs() {
    override fun closeDialogs() {
        if (!featureFlags.isEnabled(Flags.USE_APP_PANELS)) {
            controlsSettingsDialogManager.closeDialog()
        }
        val isActivityFinishing =
        val isActivityFinishing =
            (activityContext as? Activity)?.let { it.isFinishing || it.isDestroyed }
            (activityContext as? Activity)?.let { it.isFinishing || it.isDestroyed }
        if (isActivityFinishing == true) {
        if (isActivityFinishing == true) {
@@ -169,7 +161,6 @@ class ControlActionCoordinatorImpl @Inject constructor(
    override fun runPendingAction(controlId: String) {
    override fun runPendingAction(controlId: String) {
        if (isLocked) return
        if (isLocked) return
        if (pendingAction?.controlId == controlId) {
        if (pendingAction?.controlId == controlId) {
            showSettingsDialogIfNeeded(pendingAction!!)
            pendingAction?.invoke()
            pendingAction?.invoke()
            pendingAction = null
            pendingAction = null
        }
        }
@@ -208,7 +199,6 @@ class ControlActionCoordinatorImpl @Inject constructor(
                true
                true
            }, { pendingAction = null }, true /* afterKeyguardGone */)
            }, { pendingAction = null }, true /* afterKeyguardGone */)
        } else {
        } else {
            showSettingsDialogIfNeeded(action)
            action.invoke()
            action.invoke()
        }
        }
    }
    }
@@ -243,15 +233,6 @@ class ControlActionCoordinatorImpl @Inject constructor(
        }
        }
    }
    }


    private fun showSettingsDialogIfNeeded(action: Action) {
        if (action.authIsRequired) {
            return
        }
        if (!featureFlags.isEnabled(Flags.USE_APP_PANELS)) {
            controlsSettingsDialogManager.maybeShowDialog(activityContext) {}
        }
    }

    @VisibleForTesting
    @VisibleForTesting
    fun createAction(
    fun createAction(
        controlId: String,
        controlId: String,
+3 −6
Original line number Original line Diff line number Diff line
@@ -36,7 +36,6 @@ import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.controls.management.ControlsAnimations
import com.android.systemui.controls.management.ControlsAnimations
import com.android.systemui.controls.settings.ControlsSettingsDialogManager
import com.android.systemui.controls.settings.ControlsSettingsDialogManager
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.statusbar.policy.KeyguardStateController
import javax.inject.Inject
import javax.inject.Inject


@@ -66,9 +65,7 @@ open class ControlsActivity @Inject constructor(
    override fun onCreate(savedInstanceState: Bundle?) {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        super.onCreate(savedInstanceState)
        lastConfiguration.setTo(resources.configuration)
        lastConfiguration.setTo(resources.configuration)
        if (featureFlags.isEnabled(Flags.USE_APP_PANELS)) {
        window.addPrivateFlags(WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY)
        window.addPrivateFlags(WindowManager.LayoutParams.PRIVATE_FLAG_TRUSTED_OVERLAY)
        }


        setContentView(R.layout.controls_fullscreen)
        setContentView(R.layout.controls_fullscreen)


@@ -77,7 +74,7 @@ open class ControlsActivity @Inject constructor(
                requireViewById(R.id.control_detail_root),
                requireViewById(R.id.control_detail_root),
                window,
                window,
                intent,
                intent,
                !featureFlags.isEnabled(Flags.USE_APP_PANELS)
                false
            )
            )
        )
        )


@@ -114,7 +111,7 @@ open class ControlsActivity @Inject constructor(


        parent = requireViewById(R.id.control_detail_root)
        parent = requireViewById(R.id.control_detail_root)
        parent.alpha = 0f
        parent.alpha = 0f
        if (featureFlags.isEnabled(Flags.USE_APP_PANELS) && !keyguardStateController.isUnlocked) {
        if (!keyguardStateController.isUnlocked) {
            controlsSettingsDialogManager.maybeShowDialog(this) {
            controlsSettingsDialogManager.maybeShowDialog(this) {
                uiController.show(parent, { finishOrReturnToDream() }, this)
                uiController.show(parent, { finishOrReturnToDream() }, this)
            }
            }
+0 −2
Original line number Original line Diff line number Diff line
@@ -617,8 +617,6 @@ object Flags {
    @JvmField val NOTE_TASKS = releasedFlag(1900, "keycode_flag")
    @JvmField val NOTE_TASKS = releasedFlag(1900, "keycode_flag")


    // 2000 - device controls
    // 2000 - device controls
    @Keep @JvmField val USE_APP_PANELS = releasedFlag(2000, "use_app_panels")

    @JvmField val APP_PANELS_ALL_APPS_ALLOWED = releasedFlag(2001, "app_panels_all_apps_allowed")
    @JvmField val APP_PANELS_ALL_APPS_ALLOWED = releasedFlag(2001, "app_panels_all_apps_allowed")


    @JvmField
    @JvmField
+1 −7
Original line number Original line Diff line number Diff line
@@ -24,7 +24,6 @@ import com.android.systemui.controls.ControlsMetricsLogger
import com.android.systemui.controls.settings.ControlsSettingsDialogManager
import com.android.systemui.controls.settings.ControlsSettingsDialogManager
import com.android.systemui.controls.settings.FakeControlsSettingsRepository
import com.android.systemui.controls.settings.FakeControlsSettingsRepository
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.statusbar.VibratorHelper
import com.android.systemui.statusbar.VibratorHelper
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.statusbar.policy.KeyguardStateController
@@ -36,7 +35,6 @@ import org.junit.runner.RunWith
import org.mockito.Answers
import org.mockito.Answers
import org.mockito.Mock
import org.mockito.Mock
import org.mockito.Mockito
import org.mockito.Mockito
import org.mockito.Mockito.`when`
import org.mockito.Mockito.anyBoolean
import org.mockito.Mockito.anyBoolean
import org.mockito.Mockito.doNothing
import org.mockito.Mockito.doNothing
import org.mockito.Mockito.doReturn
import org.mockito.Mockito.doReturn
@@ -44,6 +42,7 @@ import org.mockito.Mockito.never
import org.mockito.Mockito.reset
import org.mockito.Mockito.reset
import org.mockito.Mockito.spy
import org.mockito.Mockito.spy
import org.mockito.Mockito.verify
import org.mockito.Mockito.verify
import org.mockito.Mockito.`when`
import org.mockito.MockitoAnnotations
import org.mockito.MockitoAnnotations
import java.util.Optional
import java.util.Optional


@@ -102,14 +101,11 @@ class ControlActionCoordinatorImplTest : SysuiTestCase() {
                metricsLogger,
                metricsLogger,
                vibratorHelper,
                vibratorHelper,
                controlsSettingsRepository,
                controlsSettingsRepository,
                controlsSettingsDialogManager,
                featureFlags
        ))
        ))
        coordinator.activityContext = mContext
        coordinator.activityContext = mContext


        `when`(cvh.cws.ci.controlId).thenReturn(ID)
        `when`(cvh.cws.ci.controlId).thenReturn(ID)
        `when`(cvh.cws.control?.isAuthRequired()).thenReturn(true)
        `when`(cvh.cws.control?.isAuthRequired()).thenReturn(true)
        `when`(featureFlags.isEnabled(Flags.USE_APP_PANELS)).thenReturn(false)


        action = spy(coordinator.Action(ID, {}, false, true))
        action = spy(coordinator.Action(ID, {}, false, true))
        doReturn(action).`when`(coordinator).createAction(any(), any(), anyBoolean(), anyBoolean())
        doReturn(action).`when`(coordinator).createAction(any(), any(), anyBoolean(), anyBoolean())
@@ -155,13 +151,11 @@ class ControlActionCoordinatorImplTest : SysuiTestCase() {
        coordinator.toggle(cvh, "", true)
        coordinator.toggle(cvh, "", true)


        verify(coordinator).bouncerOrRun(action)
        verify(coordinator).bouncerOrRun(action)
        verify(controlsSettingsDialogManager).maybeShowDialog(any(), any())
        verify(action).invoke()
        verify(action).invoke()
    }
    }


    @Test
    @Test
    fun testToggleWhenLockedDoesNotTriggerDialog_featureFlagEnabled() {
    fun testToggleWhenLockedDoesNotTriggerDialog_featureFlagEnabled() {
        `when`(featureFlags.isEnabled(Flags.USE_APP_PANELS)).thenReturn(true)
        action = spy(coordinator.Action(ID, {}, false, false))
        action = spy(coordinator.Action(ID, {}, false, false))
        doReturn(action).`when`(coordinator).createAction(any(), any(), anyBoolean(), anyBoolean())
        doReturn(action).`when`(coordinator).createAction(any(), any(), anyBoolean(), anyBoolean())


Loading