Merge "Fix issue where KidsModeTaskOrganizer registers itself as CompatUICallback" into tm-dev

This commit is contained in:
Tom Natan
2022-03-19 15:34:35 +00:00
committed by Android (Google) Code Review
4 changed files with 14 additions and 16 deletions

View File

@@ -165,8 +165,12 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
private StartingWindowController mStartingWindow; private StartingWindowController mStartingWindow;
/** /**
* In charge of showing compat UI. Can be {@code null} if device doesn't support size * In charge of showing compat UI. Can be {@code null} if the device doesn't support size
* compat. * compat or if this isn't the main {@link ShellTaskOrganizer}.
*
* <p>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 @Nullable
private final CompatUIController mCompatUI; private final CompatUIController mCompatUI;

View File

@@ -190,15 +190,13 @@ public abstract class WMShellBaseModule {
@ShellMainThread ShellExecutor mainExecutor, @ShellMainThread ShellExecutor mainExecutor,
@ShellMainThread Handler mainHandler, @ShellMainThread Handler mainHandler,
Context context, Context context,
CompatUIController compatUI,
SyncTransactionQueue syncTransactionQueue, SyncTransactionQueue syncTransactionQueue,
DisplayController displayController, DisplayController displayController,
DisplayInsetsController displayInsetsController, DisplayInsetsController displayInsetsController,
Optional<RecentTasksController> recentTasksOptional Optional<RecentTasksController> recentTasksOptional
) { ) {
return new KidsModeTaskOrganizer(mainExecutor, mainHandler, context, compatUI, return new KidsModeTaskOrganizer(mainExecutor, mainHandler, context, syncTransactionQueue,
syncTransactionQueue, displayController, displayInsetsController, displayController, displayInsetsController, recentTasksOptional);
recentTasksOptional);
} }
@WMSingleton @WMSingleton

View File

@@ -38,7 +38,6 @@ import android.window.WindowContainerToken;
import android.window.WindowContainerTransaction; import android.window.WindowContainerTransaction;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.policy.ForceShowNavigationBarSettingsObserver; 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.DisplayLayout;
import com.android.wm.shell.common.ShellExecutor; 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.compatui.CompatUIController;
import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.recents.RecentTasksController;
import com.android.wm.shell.startingsurface.StartingWindowController; import com.android.wm.shell.startingsurface.StartingWindowController;
@@ -136,13 +134,12 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer {
ShellExecutor mainExecutor, ShellExecutor mainExecutor,
Handler mainHandler, Handler mainHandler,
Context context, Context context,
@Nullable CompatUIController compatUI,
SyncTransactionQueue syncTransactionQueue, SyncTransactionQueue syncTransactionQueue,
DisplayController displayController, DisplayController displayController,
DisplayInsetsController displayInsetsController, DisplayInsetsController displayInsetsController,
Optional<RecentTasksController> recentTasks, Optional<RecentTasksController> recentTasks,
ForceShowNavigationBarSettingsObserver forceShowNavigationBarSettingsObserver) { ForceShowNavigationBarSettingsObserver forceShowNavigationBarSettingsObserver) {
super(taskOrganizerController, mainExecutor, context, compatUI, recentTasks); super(taskOrganizerController, mainExecutor, context, /* compatUI= */ null, recentTasks);
mContext = context; mContext = context;
mMainHandler = mainHandler; mMainHandler = mainHandler;
mSyncQueue = syncTransactionQueue; mSyncQueue = syncTransactionQueue;
@@ -155,12 +152,11 @@ public class KidsModeTaskOrganizer extends ShellTaskOrganizer {
ShellExecutor mainExecutor, ShellExecutor mainExecutor,
Handler mainHandler, Handler mainHandler,
Context context, Context context,
@Nullable CompatUIController compatUI,
SyncTransactionQueue syncTransactionQueue, SyncTransactionQueue syncTransactionQueue,
DisplayController displayController, DisplayController displayController,
DisplayInsetsController displayInsetsController, DisplayInsetsController displayInsetsController,
Optional<RecentTasksController> recentTasks) { Optional<RecentTasksController> recentTasks) {
super(mainExecutor, context, compatUI, recentTasks); super(mainExecutor, context, /* compatUI= */ null, recentTasks);
mContext = context; mContext = context;
mMainHandler = mainHandler; mMainHandler = mainHandler;
mSyncQueue = syncTransactionQueue; mSyncQueue = syncTransactionQueue;

View File

@@ -49,7 +49,6 @@ import com.android.wm.shell.common.DisplayController;
import com.android.wm.shell.common.DisplayInsetsController; import com.android.wm.shell.common.DisplayInsetsController;
import com.android.wm.shell.common.ShellExecutor; 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.compatui.CompatUIController;
import com.android.wm.shell.startingsurface.StartingWindowController; import com.android.wm.shell.startingsurface.StartingWindowController;
import org.junit.Before; import org.junit.Before;
@@ -67,7 +66,6 @@ public class KidsModeTaskOrganizerTest {
@Mock private ITaskOrganizerController mTaskOrganizerController; @Mock private ITaskOrganizerController mTaskOrganizerController;
@Mock private Context mContext; @Mock private Context mContext;
@Mock private Handler mHandler; @Mock private Handler mHandler;
@Mock private CompatUIController mCompatUI;
@Mock private SyncTransactionQueue mSyncTransactionQueue; @Mock private SyncTransactionQueue mSyncTransactionQueue;
@Mock private ShellExecutor mTestExecutor; @Mock private ShellExecutor mTestExecutor;
@Mock private DisplayController mDisplayController; @Mock private DisplayController mDisplayController;
@@ -86,9 +84,11 @@ public class KidsModeTaskOrganizerTest {
try { try {
doReturn(ParceledListSlice.<TaskAppearedInfo>emptyList()) doReturn(ParceledListSlice.<TaskAppearedInfo>emptyList())
.when(mTaskOrganizerController).registerTaskOrganizer(any()); .when(mTaskOrganizerController).registerTaskOrganizer(any());
} catch (RemoteException e) { } } catch (RemoteException e) {
}
// NOTE: KidsModeTaskOrganizer should have a null CompatUIController.
mOrganizer = spy(new KidsModeTaskOrganizer(mTaskOrganizerController, mTestExecutor, mOrganizer = spy(new KidsModeTaskOrganizer(mTaskOrganizerController, mTestExecutor,
mHandler, mContext, mCompatUI, mSyncTransactionQueue, mDisplayController, mHandler, mContext, mSyncTransactionQueue, mDisplayController,
mDisplayInsetsController, Optional.empty(), mObserver)); mDisplayInsetsController, Optional.empty(), mObserver));
mOrganizer.initialize(mStartingWindowController); mOrganizer.initialize(mStartingWindowController);
doReturn(mTransaction).when(mOrganizer).getWindowContainerTransaction(); doReturn(mTransaction).when(mOrganizer).getWindowContainerTransaction();