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

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

Merge "KeyguardRemotePreviewManager: Drop usages of runBlocking" into main

parents d999102f d14cd597
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -24211,7 +24211,7 @@
        errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
        <location
            file="frameworks/base/packages/SystemUI/src/com/android/systemui/keyguard/ui/preview/KeyguardRemotePreviewManager.kt"
            line="29"
            line="30"
            column="1"/>
    </issue>
+19 −3
Original line number Diff line number Diff line
package com.android.systemui.keyguard.ui.preview

import androidx.test.ext.junit.runners.AndroidJUnit4
import android.platform.test.flag.junit.FlagsParameterization
import android.platform.test.flag.junit.FlagsParameterization.allCombinationsOf
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.util.mockito.mock
import com.google.common.truth.Truth.assertThat
@@ -10,15 +12,29 @@ import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.runTest
import org.junit.Test
import org.junit.runner.RunWith
import platform.test.runner.parameterized.ParameterizedAndroidJunit4
import platform.test.runner.parameterized.Parameters

@SmallTest
@RunWith(AndroidJUnit4::class)
@RunWith(ParameterizedAndroidJunit4::class)
@android.platform.test.annotations.EnabledOnRavenwood
class KeyguardRemotePreviewManagerTest : SysuiTestCase() {
class KeyguardRemotePreviewManagerTest(flags: FlagsParameterization) : SysuiTestCase() {

    private val testDispatcher = StandardTestDispatcher()
    private val testScope = TestScope(testDispatcher)

    init {
        mSetFlagsRule.setFlagsParameterization(flags)
    }

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

    @Test
    fun onDestroy_clearsReferencesToRenderer() =
        testScope.runTest {
+8 −1
Original line number Diff line number Diff line
@@ -25,6 +25,8 @@ import android.os.Messenger
import android.util.ArrayMap
import android.util.Log
import androidx.annotation.VisibleForTesting
import com.android.app.tracing.traceSection
import com.android.systemui.Flags
import com.android.app.tracing.coroutines.launchTraced as launch
import com.android.app.tracing.coroutines.runBlockingTraced as runBlocking
import com.android.systemui.dagger.SysUISingleton
@@ -70,10 +72,15 @@ constructor(

        var observer: PreviewLifecycleObserver? = null
        return try {
            val preview =
            val preview = if (Flags.doNotUseRunBlocking()) {
                traceSection("$TAG#previewRepositoryFactory.create") {
                    previewFactory.create(request)
                }
            } else {
                runBlocking("$TAG#previewRepositoryFactory.create", mainDispatcher) {
                    previewFactory.create(request)
                }
            }

            observer =
                PreviewLifecycleObserver(