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

Commit 4a45579f authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[QSDetailedView] Make sure tile details dialog is not blocked in single shade" into main

parents a708b619 1a3ca3ca
Loading
Loading
Loading
Loading
+0 −44
Original line number Diff line number Diff line
@@ -17,8 +17,6 @@
package com.android.systemui.qs.tiles

import android.os.Handler
import android.platform.test.annotations.DisableFlags
import android.platform.test.annotations.EnableFlags
import android.platform.test.flag.junit.FlagsParameterization
import android.platform.test.flag.junit.FlagsParameterization.allCombinationsOf
import android.service.quicksettings.Tile
@@ -26,23 +24,19 @@ import android.testing.TestableLooper
import android.testing.TestableLooper.RunWithLooper
import androidx.test.filters.SmallTest
import com.android.internal.logging.MetricsLogger
import com.android.systemui.Flags.FLAG_SCENE_CONTAINER
import com.android.systemui.SysuiTestCase
import com.android.systemui.classifier.FalsingManagerFake
import com.android.systemui.keyguard.KeyguardWmStateRefactor
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.qs.QSHost
import com.android.systemui.qs.QsEventLogger
import com.android.systemui.qs.flags.QSComposeFragment
import com.android.systemui.qs.flags.QsDetailedView
import com.android.systemui.qs.logging.QSLogger
import com.android.systemui.qs.tiles.dialog.InternetDetailsViewModel
import com.android.systemui.qs.tiles.dialog.InternetDialogManager
import com.android.systemui.qs.tiles.dialog.WifiStateWorker
import com.android.systemui.res.R
import com.android.systemui.statusbar.connectivity.AccessPointController
import com.android.systemui.statusbar.notification.shared.NotificationThrottleHun
import com.android.systemui.statusbar.pipeline.airplane.data.repository.FakeAirplaneModeRepository
import com.android.systemui.statusbar.pipeline.ethernet.domain.EthernetInteractor
import com.android.systemui.statusbar.pipeline.mobile.domain.interactor.FakeMobileIconsInteractor
@@ -271,44 +265,6 @@ class InternetTileNewImplTest(flags: FlagsParameterization) : SysuiTestCase() {
        verify(wifiStateWorker, times(1)).isWifiEnabled = eq(true)
    }

    @Test
    @DisableFlags(QsDetailedView.FLAG_NAME)
    fun click_withQsDetailedViewDisabled() {
        underTest.click(null)
        looper.processAllMessages()

        verify(dialogManager, times(1))
            .create(
                aboveStatusBar = true,
                accessPointController.canConfigMobileData(),
                accessPointController.canConfigWifi(),
                null,
            )
    }

    @Test
    @EnableFlags(
        value =
            [
                QsDetailedView.FLAG_NAME,
                FLAG_SCENE_CONTAINER,
                KeyguardWmStateRefactor.FLAG_NAME,
                NotificationThrottleHun.FLAG_NAME,
            ]
    )
    fun click_withQsDetailedViewEnabled() {
        underTest.click(null)
        looper.processAllMessages()

        verify(dialogManager, times(0))
            .create(
                aboveStatusBar = true,
                accessPointController.canConfigMobileData(),
                accessPointController.canConfigWifi(),
                null,
            )
    }

    companion object {
        const val WIFI_SSID = "test ssid"
        val ACTIVE_WIFI =
+7 −2
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import com.android.internal.logging.UiEventLogger
import com.android.systemui.qs.flags.QsDetailedView
import com.android.systemui.res.R
import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor
import com.android.systemui.shade.domain.interactor.ShadeModeInteractor
import com.android.systemui.statusbar.phone.SystemUIDialog
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
@@ -39,6 +40,7 @@ internal constructor(
    private val systemuiDialogFactory: SystemUIDialog.Factory,
    private val shadeDialogContextInteractor: ShadeDialogContextInteractor,
    private val bluetoothDetailsContentManagerFactory: BluetoothDetailsContentManager.Factory,
    private val shadeModeInteractor: ShadeModeInteractor,
) : SystemUIDialog.Delegate {

    lateinit var contentManager: BluetoothDetailsContentManager
@@ -54,8 +56,11 @@ internal constructor(
    }

    override fun createDialog(): SystemUIDialog {
        // TODO (b/393628355): remove this after the details view is supported for single shade.
        if (shadeModeInteractor.isDualShade) {
            // If `QsDetailedView` is enabled, it should show the details view.
            QsDetailedView.assertInLegacyMode()
        }

        return systemuiDialogFactory.create(this, shadeDialogContextInteractor.context)
    }
+0 −4
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import com.android.systemui.plugins.qs.TileDetailsViewModel
import com.android.systemui.plugins.statusbar.StatusBarStateController
import com.android.systemui.qs.QSHost
import com.android.systemui.qs.QsEventLogger
import com.android.systemui.qs.flags.QsDetailedView
import com.android.systemui.qs.logging.QSLogger
import com.android.systemui.qs.tileimpl.QSTileImpl
import com.android.systemui.qs.tiles.dialog.InternetDetailsViewModel
@@ -94,9 +93,6 @@ constructor(
    }

    override fun handleClick(expandable: Expandable?) {
        if (QsDetailedView.isEnabled) {
            return
        }
        mainHandler.post {
            internetDialogManager.create(
                aboveStatusBar = true,
+8 −3
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ import com.android.systemui.qs.flags.QsDetailedView;
import com.android.systemui.res.R;
import com.android.systemui.shade.ShadeDisplayAware;
import com.android.systemui.shade.domain.interactor.ShadeDialogContextInteractor;
import com.android.systemui.shade.domain.interactor.ShadeModeInteractor;
import com.android.systemui.statusbar.phone.SystemUIDialog;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.wifitrackerlib.WifiEntry;
@@ -207,9 +208,13 @@ public class InternetDialogDelegateLegacy implements
            @Background Executor executor,
            KeyguardStateController keyguardStateController,
            SystemUIDialog.Factory systemUIDialogFactory,
            ShadeDialogContextInteractor shadeDialogContextInteractor) {
            ShadeDialogContextInteractor shadeDialogContextInteractor,
            ShadeModeInteractor shadeModeInteractor) {
        // TODO (b/393628355): remove this after the details view is supported for single shade.
        if (shadeModeInteractor.isDualShade()){
            // If `QsDetailedView` is enabled, it should show the details view.
            QsDetailedView.assertInLegacyMode();
        }

        mAboveStatusBar = aboveStatusBar;
        mSystemUIDialogFactory = systemUIDialogFactory;
+6 −2
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import com.android.systemui.coroutines.newTracingContext
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.qs.flags.QsDetailedView
import com.android.systemui.shade.domain.interactor.ShadeModeInteractor
import com.android.systemui.statusbar.phone.SystemUIDialog
import javax.inject.Inject
import kotlinx.coroutines.CoroutineDispatcher
@@ -41,6 +42,7 @@ constructor(
    private val dialogTransitionAnimator: DialogTransitionAnimator,
    private val dialogFactory: InternetDialogDelegateLegacy.Factory,
    @Background private val bgDispatcher: CoroutineDispatcher,
    private val shadeModeInteractor: ShadeModeInteractor,
) {
    private lateinit var coroutineScope: CoroutineScope

@@ -59,8 +61,10 @@ constructor(
        canConfigWifi: Boolean,
        expandable: Expandable?,
    ) {
        if (shadeModeInteractor.isDualShade) {
            // If `QsDetailedView` is enabled, it should show the details view.
            QsDetailedView.assertInLegacyMode()
        }
        if (dialog != null) {
            if (DEBUG) {
                Log.d(TAG, "InternetDialog is showing, do not create it twice.")
Loading