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 Original line 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.SyncTransactionQueue;
import com.android.wm.shell.common.TaskStackListenerCallback;
import com.android.wm.shell.common.TaskStackListenerCallback;
import com.android.wm.shell.common.TaskStackListenerImpl;
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.draganddrop.DragAndDropController;
import com.android.wm.shell.onehanded.OneHandedController;
import com.android.wm.shell.onehanded.OneHandedController;
import com.android.wm.shell.onehanded.OneHandedTransitionCallback;
import com.android.wm.shell.onehanded.OneHandedTransitionCallback;
@@ -158,6 +160,8 @@ public class BubbleController {
    private final ShellExecutor mMainExecutor;
    private final ShellExecutor mMainExecutor;
    private final Handler mMainHandler;
    private final Handler mMainHandler;


    private final ShellExecutor mBackgroundExecutor;

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


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


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


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