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

Commit 1ced5f54 authored by Kshitij Gupta's avatar Kshitij Gupta Committed by Android (Google) Code Review
Browse files

Merge "ModesDndTile: Drop usages of runBlocking" into main

parents b0a75b7e c2ece8d4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -24233,7 +24233,7 @@
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tiles/ModesDndTile.kt"
            line="28"
            line="29"
            column="1"/>
    </issue>
+19 −3
Original line number Diff line number Diff line
@@ -17,13 +17,15 @@
package com.android.systemui.qs.tiles

import android.os.Handler
import android.platform.test.flag.junit.FlagsParameterization
import android.platform.test.flag.junit.FlagsParameterization.allCombinationsOf
import android.service.quicksettings.Tile
import android.testing.TestableLooper
import android.testing.TestableLooper.RunWithLooper
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.internal.logging.MetricsLogger
import com.android.settingslib.notification.modes.TestModeBuilder
import com.android.systemui.Flags.FLAG_DO_NOT_USE_RUN_BLOCKING
import com.android.systemui.SysuiTestCase
import com.android.systemui.classifier.FalsingManagerFake
import com.android.systemui.kosmos.mainCoroutineContext
@@ -63,11 +65,13 @@ import org.junit.runner.RunWith
import org.mockito.Mock
import org.mockito.MockitoAnnotations
import org.mockito.kotlin.whenever
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameters

@SmallTest
@RunWith(AndroidJUnit4::class)
@RunWith(ParameterizedAndroidJunit4::class)
@RunWithLooper(setAsMainLooper = true)
class ModesDndTileTest : SysuiTestCase() {
class ModesDndTileTest(flags: FlagsParameterization) : SysuiTestCase() {
    private val kosmos = testKosmos()
    private val testScope = kosmos.testScope
    private val testDispatcher = kosmos.testDispatcher
@@ -90,6 +94,18 @@ class ModesDndTileTest : SysuiTestCase() {

    @Mock private lateinit var settingsPackageRepository: QSSettingsPackageRepository

    init {
        mSetFlagsRule.setFlagsParameterization(flags)
    }

    companion object {
        @JvmStatic
        @Parameters(name = "{0}")
        fun getParams(): List<FlagsParameterization> {
            return allCombinationsOf(FLAG_DO_NOT_USE_RUN_BLOCKING)
        }
    }

    private val inputHandler = FakeQSTileIntentUserInputHandler()
    private val zenModeRepository = kosmos.zenModeRepository
    private val tileDataInteractor =
+12 −2
Original line number Diff line number Diff line
@@ -23,10 +23,12 @@ import androidx.annotation.DrawableRes
import androidx.annotation.VisibleForTesting
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.coroutineScope
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import com.android.app.tracing.coroutines.launchTraced as launch
import com.android.app.tracing.coroutines.runBlockingTraced as runBlocking
import com.android.internal.logging.MetricsLogger
import com.android.systemui.Flags
import com.android.systemui.animation.Expandable
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.dagger.qualifiers.Main
@@ -104,9 +106,17 @@ constructor(

    override fun newTileState(): BooleanState = BooleanState()

    override fun handleClick(expandable: Expandable?) = runBlocking {
    override fun handleClick(expandable: Expandable?) {
        if (Flags.doNotUseRunBlocking()) {
            lifecycleScope.launch {
                userActionInteractor.handleClick()
            }
        } else {
            runBlocking {
                userActionInteractor.handleClick()
            }
        }
    }

    override fun getLongClickIntent(): Intent? = userActionInteractor.getSettingsIntent()