diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java index 84429948c6432..31f0ef0192ae6 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/ShellTaskOrganizer.java @@ -165,8 +165,12 @@ public class ShellTaskOrganizer extends TaskOrganizer implements private StartingWindowController mStartingWindow; /** - * In charge of showing compat UI. Can be {@code null} if device doesn't support size - * compat. + * In charge of showing compat UI. Can be {@code null} if the device doesn't support size + * compat or if this isn't the main {@link ShellTaskOrganizer}. + * + *

NOTE: only the main {@link ShellTaskOrganizer} should have a {@link CompatUIController}, + * and register itself as a {@link CompatUIController.CompatUICallback}. Subclasses should be + * initialized with a {@code null} {@link CompatUIController}. */ @Nullable private final CompatUIController mCompatUI; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java index 1ee9407d385d6..026eeb09d7416 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java @@ -190,15 +190,13 @@ public abstract class WMShellBaseModule { @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread Handler mainHandler, Context context, - CompatUIController compatUI, SyncTransactionQueue syncTransactionQueue, DisplayController displayController, DisplayInsetsController displayInsetsController, Optional recentTasksOptional ) { - return new KidsModeTaskOrganizer(mainExecutor, mainHandler, context, compatUI, - syncTransactionQueue, displayController, displayInsetsController, - recentTasksOptional); + return new KidsModeTaskOrganizer(mainExecutor, mainHandler, context, syncTransactionQueue, + displayController, displayInsetsController, recentTasksOptional); } @WMSingleton diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/kidsmode/KidsModeTaskOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/kidsmode/KidsModeTaskOrganizer.java index 429eb9963794b..003c559778419 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/kidsmode/KidsModeTaskOrganizer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/kidsmode/KidsModeTaskOrganizer.java @@ -38,7 +38,6 @@ import android.window.WindowContainerToken; import android.window.WindowContainerTransaction; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.policy.ForceShowNavigationBarSettingsObserver; @@ -48,7 +47,6 @@ import com.android.wm.shell.common.DisplayInsetsController; import com.android.wm.shell.common.DisplayLayout; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; -import com.android.wm.shell.compatui.CompatUIController; import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.startingsurface.StartingWindowController; @@ -136,13 +134,12 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer { ShellExecutor mainExecutor, Handler mainHandler, Context context, - @Nullable CompatUIController compatUI, SyncTransactionQueue syncTransactionQueue, DisplayController displayController, DisplayInsetsController displayInsetsController, Optional recentTasks, ForceShowNavigationBarSettingsObserver forceShowNavigationBarSettingsObserver) { - super(taskOrganizerController, mainExecutor, context, compatUI, recentTasks); + super(taskOrganizerController, mainExecutor, context, /* compatUI= */ null, recentTasks); mContext = context; mMainHandler = mainHandler; mSyncQueue = syncTransactionQueue; @@ -155,12 +152,11 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer { ShellExecutor mainExecutor, Handler mainHandler, Context context, - @Nullable CompatUIController compatUI, SyncTransactionQueue syncTransactionQueue, DisplayController displayController, DisplayInsetsController displayInsetsController, Optional recentTasks) { - super(mainExecutor, context, compatUI, recentTasks); + super(mainExecutor, context, /* compatUI= */ null, recentTasks); mContext = context; mMainHandler = mainHandler; mSyncQueue = syncTransactionQueue; diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/kidsmode/KidsModeTaskOrganizerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/kidsmode/KidsModeTaskOrganizerTest.java index 78903dca7657c..ff6dfdb748c4b 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/kidsmode/KidsModeTaskOrganizerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/kidsmode/KidsModeTaskOrganizerTest.java @@ -49,7 +49,6 @@ import com.android.wm.shell.common.DisplayController; import com.android.wm.shell.common.DisplayInsetsController; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; -import com.android.wm.shell.compatui.CompatUIController; import com.android.wm.shell.startingsurface.StartingWindowController; import org.junit.Before; @@ -67,7 +66,6 @@ public class KidsModeTaskOrganizerTest { @Mock private ITaskOrganizerController mTaskOrganizerController; @Mock private Context mContext; @Mock private Handler mHandler; - @Mock private CompatUIController mCompatUI; @Mock private SyncTransactionQueue mSyncTransactionQueue; @Mock private ShellExecutor mTestExecutor; @Mock private DisplayController mDisplayController; @@ -86,9 +84,11 @@ public class KidsModeTaskOrganizerTest { try { doReturn(ParceledListSlice.emptyList()) .when(mTaskOrganizerController).registerTaskOrganizer(any()); - } catch (RemoteException e) { } + } catch (RemoteException e) { + } + // NOTE: KidsModeTaskOrganizer should have a null CompatUIController. mOrganizer = spy(new KidsModeTaskOrganizer(mTaskOrganizerController, mTestExecutor, - mHandler, mContext, mCompatUI, mSyncTransactionQueue, mDisplayController, + mHandler, mContext, mSyncTransactionQueue, mDisplayController, mDisplayInsetsController, Optional.empty(), mObserver)); mOrganizer.initialize(mStartingWindowController); doReturn(mTransaction).when(mOrganizer).getWindowContainerTransaction();