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

Commit d0487d7a 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: Icda51bd86c76a7f77cd90b558298e39c1eeb4f85
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 47147182 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();
    }