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

Commit ad03eb31 authored by Tom Natan's avatar Tom Natan Committed by Android (Google) Code Review
Browse files

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

parents 299a36c3 7ce3e6a5
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -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}.
     *
     * <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
    private final CompatUIController mCompatUI;
+2 −4
Original line number Diff line number Diff line
@@ -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<RecentTasksController> recentTasksOptional
    ) {
        return new KidsModeTaskOrganizer(mainExecutor, mainHandler, context, compatUI,
                syncTransactionQueue, displayController, displayInsetsController,
                recentTasksOptional);
        return new KidsModeTaskOrganizer(mainExecutor, mainHandler, context, syncTransactionQueue,
                displayController, displayInsetsController, recentTasksOptional);
    }

    @WMSingleton
+2 −6
Original line number Diff line number Diff line
@@ -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<RecentTasksController> 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<RecentTasksController> recentTasks) {
        super(mainExecutor, context, compatUI, recentTasks);
        super(mainExecutor, context, /* compatUI= */ null, recentTasks);
        mContext = context;
        mMainHandler = mainHandler;
        mSyncQueue = syncTransactionQueue;
+4 −4
Original line number Diff line number Diff line
@@ -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.<TaskAppearedInfo>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();