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

Commit 0433f42f authored by Winson Chung's avatar Winson Chung Committed by Android (Google) Code Review
Browse files

Merge "1/ Initial preparation for separate shell main thread"

parents a0077ffa 94132e14
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -213,12 +213,12 @@ public class TaskOrganizer extends WindowOrganizer {
    private final ITaskOrganizer mInterface = new ITaskOrganizer.Stub() {
        @Override
        public void addStartingWindow(ActivityManager.RunningTaskInfo taskInfo, IBinder appToken) {
            TaskOrganizer.this.addStartingWindow(taskInfo, appToken);
            mExecutor.execute(() -> TaskOrganizer.this.addStartingWindow(taskInfo, appToken));
        }

        @Override
        public void removeStartingWindow(ActivityManager.RunningTaskInfo taskInfo) {
            TaskOrganizer.this.removeStartingWindow(taskInfo);
            mExecutor.execute(() -> TaskOrganizer.this.removeStartingWindow(taskInfo));
        }

        @Override
+1 −0
Original line number Diff line number Diff line
@@ -122,6 +122,7 @@ android_library {
        "kotlinx-coroutines-android",
        "kotlinx-coroutines-core",
        "iconloader_base",
        "jsr330",
        "protolog-lib",
        "SettingsLib",
        "WindowManager-Shell-proto",
+3 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.wm.shell;
import android.view.Gravity;

import com.android.wm.shell.apppairs.AppPairs;
import com.android.wm.shell.common.annotations.ExternalThread;
import com.android.wm.shell.hidedisplaycutout.HideDisplayCutout;
import com.android.wm.shell.letterbox.LetterboxConfigController;
import com.android.wm.shell.onehanded.OneHanded;
@@ -61,6 +62,7 @@ public final class ShellCommandHandler {
    }

    /** Dumps WM Shell internal state. */
    @ExternalThread
    public void dump(PrintWriter pw) {
        mShellTaskOrganizer.dump(pw, "");
        pw.println();
@@ -76,6 +78,7 @@ public final class ShellCommandHandler {


    /** Returns {@code true} if command was found and executed. */
    @ExternalThread
    public boolean handleCommand(String[] args, PrintWriter pw) {
        if (args.length < 2) {
            // Argument at position 0 is "WMShell".
+2 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static com.android.wm.shell.ShellTaskOrganizer.TASK_LISTENER_TYPE_LETTERB

import com.android.wm.shell.apppairs.AppPairs;
import com.android.wm.shell.common.DisplayImeController;
import com.android.wm.shell.common.annotations.ExternalThread;
import com.android.wm.shell.draganddrop.DragAndDropController;
import com.android.wm.shell.letterbox.LetterboxTaskListener;
import com.android.wm.shell.splitscreen.SplitScreen;
@@ -56,6 +57,7 @@ public class ShellInit {
        mFullscreenTaskListener = fullscreenTaskListener;
    }

    @ExternalThread
    public void init() {
        // Start listening for display changes
        mDisplayImeController.startMonitorDisplays();
+4 −1
Original line number Diff line number Diff line
@@ -31,12 +31,14 @@ import android.os.Binder;
import android.os.IBinder;
import android.util.ArrayMap;
import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;
import android.view.SurfaceControl;
import android.window.ITaskOrganizerController;
import android.window.TaskAppearedInfo;
import android.window.TaskOrganizer;

import androidx.annotation.BinderThread;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

@@ -45,6 +47,7 @@ import com.android.internal.protolog.common.ProtoLog;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.SyncTransactionQueue;
import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.common.annotations.ShellMainThread;
import com.android.wm.shell.startingsurface.StartingSurfaceDrawer;

import java.io.PrintWriter;
@@ -119,7 +122,7 @@ public class ShellTaskOrganizer extends TaskOrganizer {
            ShellExecutor mainExecutor, ShellExecutor animExecutor, Context context) {
        super(taskOrganizerController, mainExecutor);
        mTransitions = new Transitions(this, transactionPool, mainExecutor, animExecutor);
        if (Transitions.ENABLE_SHELL_TRANSITIONS) registerTransitionPlayer(mTransitions);
        if (Transitions.ENABLE_SHELL_TRANSITIONS) mTransitions.register(this);
        // TODO(b/131727939) temporarily live here, the starting surface drawer should be controlled
        //  by a controller, that class should be create while porting
        //  ActivityRecord#addStartingWindow to WMShell.
Loading