Merge "Fix issue where KidsModeTaskOrganizer registers itself as CompatUICallback" into tm-dev
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user