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

Commit a1c5ce59 authored by Mady Mellor's avatar Mady Mellor Committed by Automerger Merge Worker
Browse files

Merge "Add shell background executor to bubbles and put unregister call on it"...

Merge "Add shell background executor to bubbles and put unregister call on it" into tm-dev am: 0fe75d50

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/18300851



Change-Id: I9118bd94acac735fd39397b3fe66dda5b13a3124
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 2b4cb7be 0fe75d50
Loading
Loading
Loading
Loading
+14 −6
Original line number Diff line number Diff line
@@ -96,6 +96,8 @@ import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.SyncTransactionQueue;
import com.android.wm.shell.common.TaskStackListenerCallback;
import com.android.wm.shell.common.TaskStackListenerImpl;
import com.android.wm.shell.common.annotations.ShellBackgroundThread;
import com.android.wm.shell.common.annotations.ShellMainThread;
import com.android.wm.shell.draganddrop.DragAndDropController;
import com.android.wm.shell.onehanded.OneHandedController;
import com.android.wm.shell.onehanded.OneHandedTransitionCallback;
@@ -158,6 +160,8 @@ public class BubbleController {
    private final ShellExecutor mMainExecutor;
    private final Handler mMainHandler;

    private final ShellExecutor mBackgroundExecutor;

    private BubbleLogger mLogger;
    private BubbleData mBubbleData;
    @Nullable private BubbleStackView mStackView;
@@ -234,8 +238,9 @@ public class BubbleController {
            DisplayController displayController,
            Optional<OneHandedController> oneHandedOptional,
            DragAndDropController dragAndDropController,
            ShellExecutor mainExecutor,
            Handler mainHandler,
            @ShellMainThread ShellExecutor mainExecutor,
            @ShellMainThread Handler mainHandler,
            @ShellBackgroundThread ShellExecutor bgExecutor,
            TaskViewTransitions taskViewTransitions,
            SyncTransactionQueue syncQueue) {
        BubbleLogger logger = new BubbleLogger(uiEventLogger);
@@ -245,7 +250,7 @@ public class BubbleController {
                new BubbleDataRepository(context, launcherApps, mainExecutor),
                statusBarService, windowManager, windowManagerShellWrapper, launcherApps,
                logger, taskStackListener, organizer, positioner, displayController,
                oneHandedOptional, dragAndDropController, mainExecutor, mainHandler,
                oneHandedOptional, dragAndDropController, mainExecutor, mainHandler, bgExecutor,
                taskViewTransitions, syncQueue);
    }

@@ -269,8 +274,9 @@ public class BubbleController {
            DisplayController displayController,
            Optional<OneHandedController> oneHandedOptional,
            DragAndDropController dragAndDropController,
            ShellExecutor mainExecutor,
            Handler mainHandler,
            @ShellMainThread ShellExecutor mainExecutor,
            @ShellMainThread Handler mainHandler,
            @ShellBackgroundThread ShellExecutor bgExecutor,
            TaskViewTransitions taskViewTransitions,
            SyncTransactionQueue syncQueue) {
        mContext = context;
@@ -286,6 +292,7 @@ public class BubbleController {
        mLogger = bubbleLogger;
        mMainExecutor = mainExecutor;
        mMainHandler = mainHandler;
        mBackgroundExecutor = bgExecutor;
        mTaskStackListener = taskStackListener;
        mTaskOrganizer = organizer;
        mSurfaceSynchronizer = synchronizer;
@@ -725,7 +732,8 @@ public class BubbleController {

        try {
            mAddedToWindowManager = false;
            mContext.unregisterReceiver(mBroadcastReceiver);
            // Put on background for this binder call, was causing jank
            mBackgroundExecutor.execute(() -> mContext.unregisterReceiver(mBroadcastReceiver));
            if (mStackView != null) {
                mWindowManager.removeView(mStackView);
                mBubbleData.getOverflow().cleanUpExpandedState();
+4 −1
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ import com.android.wm.shell.common.SystemWindows;
import com.android.wm.shell.common.TaskStackListenerImpl;
import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.common.annotations.ChoreographerSfVsync;
import com.android.wm.shell.common.annotations.ShellBackgroundThread;
import com.android.wm.shell.common.annotations.ShellMainThread;
import com.android.wm.shell.draganddrop.DragAndDropController;
import com.android.wm.shell.freeform.FreeformTaskListener;
@@ -114,13 +115,15 @@ public class WMShellModule {
            DragAndDropController dragAndDropController,
            @ShellMainThread ShellExecutor mainExecutor,
            @ShellMainThread Handler mainHandler,
            @ShellBackgroundThread ShellExecutor bgExecutor,
            TaskViewTransitions taskViewTransitions,
            SyncTransactionQueue syncQueue) {
        return BubbleController.create(context, null /* synchronizer */,
                floatingContentCoordinator, statusBarService, windowManager,
                windowManagerShellWrapper, launcherApps, taskStackListener,
                uiEventLogger, organizer, displayController, oneHandedOptional,
                dragAndDropController, mainExecutor, mainHandler, taskViewTransitions, syncQueue);
                dragAndDropController, mainExecutor, mainHandler, bgExecutor,
                taskViewTransitions, syncQueue);
    }

    //
+1 −1
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ public class TestableBubbleController extends BubbleController {
                statusBarService, windowManager, windowManagerShellWrapper, launcherApps,
                bubbleLogger, taskStackListener, shellTaskOrganizer, positioner, displayController,
                oneHandedOptional, dragAndDropController, shellMainExecutor, shellMainHandler,
                taskViewTransitions, syncQueue);
                new SyncExecutor(), taskViewTransitions, syncQueue);
        setInflateSynchronously(true);
        initialize();
    }