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

Commit b7137f96 authored by Michael Mikhail's avatar Michael Mikhail
Browse files

Send logger method to background thread

Sometimes logger function takes longer time in execution when unfolding.
We do not need to execute logger function in main thread.

Flag: None
Bug: 307717795
Test: MediaCarouselControllerTest
Change-Id: Iadc38e58074a279e170b1645b3e10676f661289e
parent df269c05
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import com.android.keyguard.KeyguardUpdateMonitor
import com.android.keyguard.KeyguardUpdateMonitorCallback
import com.android.systemui.Dumpable
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.dagger.qualifiers.Background
import com.android.systemui.dagger.qualifiers.Main
import com.android.systemui.dump.DumpManager
import com.android.systemui.keyguard.domain.interactor.KeyguardTransitionInteractor
@@ -76,6 +77,7 @@ import com.android.systemui.util.time.SystemClock
import java.io.PrintWriter
import java.util.Locale
import java.util.TreeMap
import java.util.concurrent.Executor
import javax.inject.Inject
import javax.inject.Provider
import kotlinx.coroutines.CoroutineScope
@@ -102,6 +104,7 @@ constructor(
    private val activityStarter: ActivityStarter,
    private val systemClock: SystemClock,
    @Main executor: DelayableExecutor,
    @Background private val bgExecutor: Executor,
    private val mediaManager: MediaDataManager,
    configurationController: ConfigurationController,
    falsingManager: FalsingManager,
@@ -1030,7 +1033,7 @@ constructor(
            desiredHostState?.let {
                if (this.desiredLocation != desiredLocation) {
                    // Only log an event when location changes
                    logger.logCarouselPosition(desiredLocation)
                    bgExecutor.execute { logger.logCarouselPosition(desiredLocation) }
                }

                // This is a hosting view, let's remeasure our players
+8 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ import com.android.systemui.statusbar.notification.collection.provider.OnReorder
import com.android.systemui.statusbar.notification.collection.provider.VisualStabilityProvider
import com.android.systemui.statusbar.policy.ConfigurationController
import com.android.systemui.util.concurrency.DelayableExecutor
import com.android.systemui.util.concurrency.FakeExecutor
import com.android.systemui.util.mockito.any
import com.android.systemui.util.mockito.capture
import com.android.systemui.util.mockito.eq
@@ -124,6 +125,7 @@ class MediaCarouselControllerTest : SysuiTestCase() {
    @Captor lateinit var settingsObserverCaptor: ArgumentCaptor<ContentObserver>

    private val clock = FakeSystemClock()
    private lateinit var bgExecutor: FakeExecutor
    private lateinit var mediaCarouselController: MediaCarouselController

    @Before
@@ -131,6 +133,7 @@ class MediaCarouselControllerTest : SysuiTestCase() {
        MockitoAnnotations.initMocks(this)
        context.resources.configuration.setLocales(LocaleList(Locale.US, Locale.UK))
        transitionRepository = FakeKeyguardTransitionRepository()
        bgExecutor = FakeExecutor(clock)
        mediaCarouselController =
            MediaCarouselController(
                context,
@@ -140,6 +143,7 @@ class MediaCarouselControllerTest : SysuiTestCase() {
                activityStarter,
                clock,
                executor,
                bgExecutor,
                mediaDataManager,
                configurationController,
                falsingManager,
@@ -458,6 +462,7 @@ class MediaCarouselControllerTest : SysuiTestCase() {
            mediaHostState,
            animate = false
        )
        bgExecutor.runAllReady()
        verify(logger).logCarouselPosition(LOCATION_QS)
    }

@@ -468,6 +473,7 @@ class MediaCarouselControllerTest : SysuiTestCase() {
            mediaHostState,
            animate = false
        )
        bgExecutor.runAllReady()
        verify(logger).logCarouselPosition(MediaHierarchyManager.LOCATION_QQS)
    }

@@ -478,6 +484,7 @@ class MediaCarouselControllerTest : SysuiTestCase() {
            mediaHostState,
            animate = false
        )
        bgExecutor.runAllReady()
        verify(logger).logCarouselPosition(MediaHierarchyManager.LOCATION_LOCKSCREEN)
    }

@@ -488,6 +495,7 @@ class MediaCarouselControllerTest : SysuiTestCase() {
            mediaHostState,
            animate = false
        )
        bgExecutor.runAllReady()
        verify(logger).logCarouselPosition(MediaHierarchyManager.LOCATION_DREAM_OVERLAY)
    }