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

Commit ab2be101 authored by Aaron Liu's avatar Aaron Liu
Browse files

Register callback on main thread.

Register callback on mainthread when initializing the user switcher
interactor.

Fixes: 309744396
Flag: NONE
Test: just cold start phone
Change-Id: I61a44a152ccc7e59b000085fbb832122d83cb41e
parent 688c823f
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import com.android.systemui.common.shared.model.Text
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Application
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.flags.FeatureFlags
import com.android.systemui.flags.Flags
import com.android.systemui.keyguard.domain.interactor.KeyguardInteractor
@@ -101,6 +102,7 @@ constructor(
    broadcastDispatcher: BroadcastDispatcher,
    keyguardUpdateMonitor: KeyguardUpdateMonitor,
    @Background private val backgroundDispatcher: CoroutineDispatcher,
    @Main private val mainDispatcher: CoroutineDispatcher,
    private val activityManager: ActivityManager,
    private val refreshUsersScheduler: RefreshUsersScheduler,
    private val guestUserInteractor: GuestUserInteractor,
@@ -340,8 +342,12 @@ constructor(
            }
            .launchIn(applicationScope)
        restartSecondaryService(repository.getSelectedUserInfo().id)
        applicationScope.launch {
            withContext(mainDispatcher) {
                keyguardUpdateMonitor.registerCallback(keyguardUpdateMonitorCallback)
            }
        }
    }

    fun addCallback(callback: UserCallback) {
        applicationScope.launch { callbackMutex.withLock { callbacks.add(callback) } }
+1 −0
Original line number Diff line number Diff line
@@ -1115,6 +1115,7 @@ class UserSwitcherInteractorTest : SysuiTestCase() {
                broadcastDispatcher = fakeBroadcastDispatcher,
                keyguardUpdateMonitor = keyguardUpdateMonitor,
                backgroundDispatcher = utils.testDispatcher,
                mainDispatcher = utils.testDispatcher,
                activityManager = activityManager,
                refreshUsersScheduler = refreshUsersScheduler,
                guestUserInteractor =
+1 −0
Original line number Diff line number Diff line
@@ -258,6 +258,7 @@ class StatusBarUserChipViewModelTest : SysuiTestCase() {
                    broadcastDispatcher = fakeBroadcastDispatcher,
                    keyguardUpdateMonitor = keyguardUpdateMonitor,
                    backgroundDispatcher = testDispatcher,
                    mainDispatcher = testDispatcher,
                    activityManager = activityManager,
                    refreshUsersScheduler = refreshUsersScheduler,
                    guestUserInteractor = guestUserInteractor,
+1 −0
Original line number Diff line number Diff line
@@ -170,6 +170,7 @@ class UserSwitcherViewModelTest : SysuiTestCase() {
                        broadcastDispatcher = fakeBroadcastDispatcher,
                        keyguardUpdateMonitor = keyguardUpdateMonitor,
                        backgroundDispatcher = testDispatcher,
                        mainDispatcher = testDispatcher,
                        activityManager = activityManager,
                        refreshUsersScheduler = refreshUsersScheduler,
                        guestUserInteractor = guestUserInteractor,
+1 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ val Kosmos.userSwitcherInteractor by
            broadcastDispatcher = broadcastDispatcher,
            keyguardUpdateMonitor = keyguardUpdateMonitor,
            backgroundDispatcher = testDispatcher,
            mainDispatcher = testDispatcher,
            activityManager = activityManager,
            refreshUsersScheduler = refreshUsersScheduler,
            guestUserInteractor = guestUserInteractor,