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

Commit e6393d5a authored by Ajinkya Chalke's avatar Ajinkya Chalke Committed by Android (Google) Code Review
Browse files

Merge "Use the bgCoroutineContext to update note shortcut" into main

parents 5d0a8ce4 1d0e7f5d
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -37,9 +37,10 @@ import android.os.UserManager
import android.provider.Settings
import android.widget.Toast
import androidx.annotation.VisibleForTesting
import com.android.systemui.res.R
import com.android.app.tracing.TraceUtils.Companion.launch
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.devicepolicy.areKeyguardShortcutsDisabled
import com.android.systemui.log.DebugLogger.debugLog
import com.android.systemui.notetask.NoteTaskEntryPoint.QUICK_AFFORDANCE
@@ -47,6 +48,7 @@ import com.android.systemui.notetask.NoteTaskEntryPoint.TAIL_BUTTON
import com.android.systemui.notetask.NoteTaskRoleManagerExt.createNoteShortcutInfoAsUser
import com.android.systemui.notetask.NoteTaskRoleManagerExt.getDefaultRoleHolderAsUser
import com.android.systemui.notetask.shortcut.CreateNoteTaskShortcutActivity
import com.android.systemui.res.R
import com.android.systemui.settings.UserTracker
import com.android.systemui.shared.system.ActivityManagerKt.isInForeground
import com.android.systemui.util.settings.SecureSettings
@@ -54,8 +56,8 @@ import com.android.wm.shell.bubbles.Bubble
import com.android.wm.shell.bubbles.Bubbles.BubbleExpandListener
import java.util.concurrent.atomic.AtomicReference
import javax.inject.Inject
import kotlin.coroutines.CoroutineContext
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch

/**
 * Entry point for creating and managing note.
@@ -81,7 +83,8 @@ constructor(
    private val devicePolicyManager: DevicePolicyManager,
    private val userTracker: UserTracker,
    private val secureSettings: SecureSettings,
    @Application private val applicationScope: CoroutineScope
    @Application private val applicationScope: CoroutineScope,
    @Background private val bgCoroutineContext: CoroutineContext
) {

    @VisibleForTesting val infoReference = AtomicReference<NoteTaskInfo?>()
@@ -172,7 +175,9 @@ constructor(
    ) {
        if (!isEnabled) return

        applicationScope.launch { awaitShowNoteTaskAsUser(entryPoint, user) }
        applicationScope.launch("$TAG#showNoteTaskAsUser") {
            awaitShowNoteTaskAsUser(entryPoint, user)
        }
    }

    private suspend fun awaitShowNoteTaskAsUser(
@@ -337,7 +342,7 @@ constructor(

    @InternalNoteTaskApi
    fun launchUpdateNoteTaskAsUser(user: UserHandle) {
        applicationScope.launch {
        applicationScope.launch("$TAG#launchUpdateNoteTaskAsUser", bgCoroutineContext) {
            if (!userManager.isUserUnlocked(user)) {
                debugLog { "updateNoteTaskAsUserInternal call but user locked: user=$user" }
                return@launch
+2 −1
Original line number Diff line number Diff line
@@ -45,7 +45,6 @@ import android.provider.Settings
import androidx.test.ext.truth.content.IntentSubject.assertThat
import androidx.test.filters.SmallTest
import androidx.test.runner.AndroidJUnit4
import com.android.systemui.res.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.notetask.NoteTaskController.Companion.EXTRA_SHORTCUT_BADGE_OVERRIDE_PACKAGE
import com.android.systemui.notetask.NoteTaskController.Companion.SHORTCUT_ID
@@ -56,6 +55,7 @@ import com.android.systemui.notetask.NoteTaskEntryPoint.TAIL_BUTTON
import com.android.systemui.notetask.NoteTaskEntryPoint.WIDGET_PICKER_SHORTCUT
import com.android.systemui.notetask.shortcut.CreateNoteTaskShortcutActivity
import com.android.systemui.notetask.shortcut.LaunchNoteTaskActivity
import com.android.systemui.res.R
import com.android.systemui.settings.FakeUserTracker
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.argumentCaptor
@@ -162,6 +162,7 @@ internal class NoteTaskControllerTest : SysuiTestCase() {
            noteTaskBubblesController =
                FakeNoteTaskBubbleController(context, testDispatcher, Optional.ofNullable(bubbles)),
            applicationScope = testScope,
            bgCoroutineContext = testScope.backgroundScope.coroutineContext
        )

    // region onBubbleExpandChanged