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

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

Merge "UserRepository: Drop usages of runBlocking" into main

parents 64138379 dd53f35e
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
@@ -28,9 +28,11 @@ import android.os.UserHandle
import android.os.UserManager
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.provider.Settings
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.Flags.FLAG_DO_NOT_USE_RUN_BLOCKING
import com.android.systemui.SysuiTestCase
import com.android.systemui.broadcast.broadcastDispatcher
import com.android.systemui.coroutines.collectLastValue
@@ -59,10 +61,12 @@ import org.mockito.Mockito.`when` as whenever
import org.mockito.MockitoAnnotations
import org.mockito.kotlin.eq
import org.mockito.kotlin.mock
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameters

@SmallTest
@RunWith(AndroidJUnit4::class)
class UserRepositoryImplTest : SysuiTestCase() {
@RunWith(ParameterizedAndroidJunit4::class)
class UserRepositoryImplTest(flags: FlagsParameterization) : SysuiTestCase() {

    private val kosmos = testKosmos().useUnconfinedTestDispatcher()
    private val testDispatcher = kosmos.testDispatcher
@@ -79,6 +83,10 @@ class UserRepositoryImplTest : SysuiTestCase() {

    private lateinit var tracker: FakeUserTracker

    init {
        mSetFlagsRule.setFlagsParameterization(flags)
    }

    @Before
    fun setUp() {
        MockitoAnnotations.initMocks(this)
@@ -581,6 +589,12 @@ class UserRepositoryImplTest : SysuiTestCase() {

    companion object {
        @JvmStatic private val IMMEDIATE = Dispatchers.Main.immediate

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

    private enum class LogoutUserResult {
+6 −1
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import androidx.annotation.VisibleForTesting
import com.android.app.tracing.coroutines.launchTraced as launch
import com.android.app.tracing.coroutines.runBlockingTraced as runBlocking
import com.android.internal.statusbar.IStatusBarService
import com.android.systemui.Flags
import com.android.systemui.broadcast.BroadcastDispatcher
import com.android.systemui.common.coroutine.ChannelExt.trySendWithFailureLogging
import com.android.systemui.dagger.SysUISingleton
@@ -192,7 +193,11 @@ constructor(
            .stateIn(
                scope = applicationScope,
                started = SharingStarted.Eagerly,
                initialValue = runBlocking { getSettings() },
                initialValue = if (Flags.doNotUseRunBlocking()) {
                    UserSwitcherSettingsModel()
                } else {
                    runBlocking { getSettings() }
                },
            )
    override val userSwitcherSettings: Flow<UserSwitcherSettingsModel> = _userSwitcherSettings