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

Commit f206ebf2 authored by Hawkwood Glazier's avatar Hawkwood Glazier
Browse files

Move doze binder call to bg thread

Bug: 385667474
Test: Manual mostly
Flag: NONE Minor perf change
Change-Id: Ic42f35695a86115677f6a10295bd827c5b868cef
parent cc63b2fa
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
package com.android.systemui.navigationbar

import android.app.ActivityManager
import android.os.Handler
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.systemui.SysuiTestCase
@@ -61,6 +62,7 @@ class TaskbarDelegateTest : SysuiTestCase() {
    @Mock lateinit var mStatusBarKeyguardViewManager: StatusBarKeyguardViewManager
    @Mock lateinit var mStatusBarStateController: StatusBarStateController
    @Mock lateinit var mDisplayTracker: DisplayTracker
    @Mock lateinit var mHandler: Handler

    @Before
    fun setup() {
@@ -69,6 +71,11 @@ class TaskbarDelegateTest : SysuiTestCase() {
        `when`(mLightBarControllerFactory.create(any())).thenReturn(mLightBarTransitionController)
        `when`(mNavBarHelper.currentSysuiState).thenReturn(mCurrentSysUiState)
        `when`(mSysUiState.setFlag(anyLong(), anyBoolean())).thenReturn(mSysUiState)
        `when`(mHandler.post(any())).thenAnswer {
            (it.arguments[0] as Runnable).run()
            true
        }

        mTaskStackChangeListeners = TaskStackChangeListeners.getTestInstance()
        mTaskbarDelegate =
            TaskbarDelegate(
@@ -76,6 +83,7 @@ class TaskbarDelegateTest : SysuiTestCase() {
                mLightBarControllerFactory,
                mStatusBarKeyguardViewManager,
                mStatusBarStateController,
                mHandler,
            )
        mTaskbarDelegate.setDependencies(
            mCommandQueue,
+9 −2
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import android.hardware.display.DisplayManager;
import android.inputmethodservice.InputMethodService;
import android.inputmethodservice.InputMethodService.BackDispositionMode;
import android.inputmethodservice.InputMethodService.ImeWindowVisibility;
import android.os.Handler;
import android.os.RemoteException;
import android.os.Trace;
import android.util.Log;
@@ -61,6 +62,7 @@ import com.android.internal.statusbar.LetterboxDetails;
import com.android.internal.view.AppearanceRegion;
import com.android.systemui.Dumpable;
import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.model.SysUiState;
import com.android.systemui.navigationbar.gestural.EdgeBackGestureHandler;
@@ -182,15 +184,18 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
    private final StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
    private final StatusBarStateController mStatusBarStateController;
    private DisplayTracker mDisplayTracker;
    private final Handler mBgHandler;

    @Inject
    public TaskbarDelegate(Context context,
            LightBarTransitionsController.Factory lightBarTransitionsControllerFactory,
            StatusBarKeyguardViewManager statusBarKeyguardViewManager,
            StatusBarStateController statusBarStateController) {
            StatusBarStateController statusBarStateController,
            @Background Handler bgHandler) {
        mLightBarTransitionsControllerFactory = lightBarTransitionsControllerFactory;

        mContext = context;
        mBgHandler = bgHandler;
        mDisplayManager = mContext.getSystemService(DisplayManager.class);
        mPipListener = (bounds) -> {
            mEdgeBackGestureHandler.setPipStashExclusionBounds(bounds);
@@ -245,7 +250,9 @@ public class TaskbarDelegate implements CommandQueue.Callbacks,
                new LightBarTransitionsController.DarkIntensityApplier() {
                    @Override
                    public void applyDarkIntensity(float darkIntensity) {
                        mBgHandler.post(() -> {
                            mOverviewProxyService.onNavButtonsDarkIntensityChanged(darkIntensity);
                        });
                    }

                    @Override