[2/2] Split the taskview into view and shell part

- Move all the taskview related classes inside a new taskview
  sub-package.

Fix: 265075065
Test: atest TaskViewTest
Test: atest PanelTaskViewControllerTest
Test: atest ControlsUiControllerImplTest
Change-Id: I3c38a3b7512921484b9cbcbaac3602367b7df4cd
This commit is contained in:
Gaurav Bhola
2023-03-27 14:38:29 -07:00
parent 7a98ed5591
commit bccaf99fea
26 changed files with 52 additions and 44 deletions

View File

@@ -88,7 +88,6 @@ import androidx.annotation.Nullable;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.statusbar.IStatusBarService;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.TaskViewTransitions;
import com.android.wm.shell.WindowManagerShellWrapper;
import com.android.wm.shell.common.DisplayController;
import com.android.wm.shell.common.ExternalInterfaceBinder;
@@ -110,6 +109,8 @@ import com.android.wm.shell.sysui.ConfigurationChangeListener;
import com.android.wm.shell.sysui.ShellCommandHandler;
import com.android.wm.shell.sysui.ShellController;
import com.android.wm.shell.sysui.ShellInit;
import com.android.wm.shell.taskview.TaskView;
import com.android.wm.shell.taskview.TaskViewTransitions;
import java.io.PrintWriter;
import java.util.ArrayList;
@@ -1706,7 +1707,7 @@ public class BubbleController implements ConfigurationChangeListener,
/**
* Whether an intent is properly configured to display in a
* {@link com.android.wm.shell.TaskView}.
* {@link TaskView}.
*
* Keep checks in sync with BubbleExtractor#canLaunchInTaskView. Typically
* that should filter out any invalid bubbles, but should protect SysUI side just in case.

View File

@@ -67,10 +67,10 @@ import androidx.annotation.Nullable;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.policy.ScreenDecorationsUtils;
import com.android.wm.shell.R;
import com.android.wm.shell.TaskView;
import com.android.wm.shell.TaskViewTaskController;
import com.android.wm.shell.common.AlphaOptimizedButton;
import com.android.wm.shell.common.TriangleShape;
import com.android.wm.shell.taskview.TaskView;
import com.android.wm.shell.taskview.TaskViewTaskController;
import java.io.PrintWriter;

View File

@@ -34,10 +34,10 @@ import android.view.View;
import androidx.annotation.Nullable;
import com.android.wm.shell.TaskView;
import com.android.wm.shell.TaskViewTaskController;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.annotations.ShellMainThread;
import com.android.wm.shell.taskview.TaskView;
import com.android.wm.shell.taskview.TaskViewTaskController;
/**
* Handles creating and updating the {@link TaskView} associated with a {@link Bubble}.

View File

@@ -32,9 +32,6 @@ import com.android.wm.shell.R;
import com.android.wm.shell.RootDisplayAreaOrganizer;
import com.android.wm.shell.RootTaskDisplayAreaOrganizer;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.TaskViewFactory;
import com.android.wm.shell.TaskViewFactoryController;
import com.android.wm.shell.TaskViewTransitions;
import com.android.wm.shell.WindowManagerShellWrapper;
import com.android.wm.shell.activityembedding.ActivityEmbeddingController;
import com.android.wm.shell.back.BackAnimation;
@@ -93,6 +90,9 @@ import com.android.wm.shell.sysui.ShellCommandHandler;
import com.android.wm.shell.sysui.ShellController;
import com.android.wm.shell.sysui.ShellInit;
import com.android.wm.shell.sysui.ShellInterface;
import com.android.wm.shell.taskview.TaskViewFactory;
import com.android.wm.shell.taskview.TaskViewFactoryController;
import com.android.wm.shell.taskview.TaskViewTransitions;
import com.android.wm.shell.transition.ShellTransitions;
import com.android.wm.shell.transition.Transitions;
import com.android.wm.shell.unfold.ShellUnfoldProgressProvider;

View File

@@ -30,7 +30,6 @@ import com.android.internal.statusbar.IStatusBarService;
import com.android.launcher3.icons.IconProvider;
import com.android.wm.shell.RootTaskDisplayAreaOrganizer;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.TaskViewTransitions;
import com.android.wm.shell.WindowManagerShellWrapper;
import com.android.wm.shell.bubbles.BubbleController;
import com.android.wm.shell.bubbles.BubbleData;
@@ -89,6 +88,7 @@ import com.android.wm.shell.splitscreen.SplitScreenController;
import com.android.wm.shell.sysui.ShellCommandHandler;
import com.android.wm.shell.sysui.ShellController;
import com.android.wm.shell.sysui.ShellInit;
import com.android.wm.shell.taskview.TaskViewTransitions;
import com.android.wm.shell.transition.DefaultMixedHandler;
import com.android.wm.shell.transition.Transitions;
import com.android.wm.shell.unfold.ShellUnfoldProgressProvider;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.wm.shell;
package com.android.wm.shell.taskview;
import android.annotation.NonNull;
import android.annotation.Nullable;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.wm.shell;
package com.android.wm.shell.taskview;
import android.app.ActivityManager;
import android.graphics.Rect;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.wm.shell;
package com.android.wm.shell.taskview;
import android.annotation.UiContext;
import android.content.Context;

View File

@@ -14,11 +14,12 @@
* limitations under the License.
*/
package com.android.wm.shell;
package com.android.wm.shell.taskview;
import android.annotation.UiContext;
import android.content.Context;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.common.ShellExecutor;
import com.android.wm.shell.common.SyncTransactionQueue;
import com.android.wm.shell.common.annotations.ExternalThread;
@@ -51,6 +52,9 @@ public class TaskViewFactoryController {
mTaskViewTransitions = null;
}
/**
* @return the underlying {@link TaskViewFactory}.
*/
public TaskViewFactory asTaskViewFactory() {
return mImpl;
}

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.wm.shell;
package com.android.wm.shell.taskview;
import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
@@ -35,6 +35,7 @@ import android.view.SurfaceControl;
import android.window.WindowContainerToken;
import android.window.WindowContainerTransaction;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.common.SyncTransactionQueue;
import java.io.PrintWriter;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.wm.shell;
package com.android.wm.shell.taskview;
import static android.view.WindowManager.TRANSIT_OPEN;
import static android.view.WindowManager.TRANSIT_TO_BACK;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.android.wm.shell;
package com.android.wm.shell.taskview;
import static android.app.WindowConfiguration.WINDOWING_MODE_MULTI_WINDOW;
@@ -53,6 +53,8 @@ import android.window.WindowContainerTransaction;
import androidx.test.filters.SmallTest;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.ShellTestCase;
import com.android.wm.shell.common.HandlerExecutor;
import com.android.wm.shell.common.SyncTransactionQueue;
import com.android.wm.shell.common.SyncTransactionQueue.TransactionRunnable;

View File

@@ -44,7 +44,7 @@ import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.statusbar.VibratorHelper
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.util.concurrency.DelayableExecutor
import com.android.wm.shell.TaskViewFactory
import com.android.wm.shell.taskview.TaskViewFactory
import java.util.Optional
import javax.inject.Inject

View File

@@ -79,7 +79,7 @@ import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.util.asIndenting
import com.android.systemui.util.concurrency.DelayableExecutor
import com.android.systemui.util.indentIfPossible
import com.android.wm.shell.TaskViewFactory
import com.android.wm.shell.taskview.TaskViewFactory
import dagger.Lazy
import java.io.PrintWriter
import java.text.Collator

View File

@@ -36,7 +36,7 @@ import com.android.systemui.R
import com.android.systemui.broadcast.BroadcastSender
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.wm.shell.TaskView
import com.android.wm.shell.taskview.TaskView
/**
* A dialog that provides an {@link TaskView}, allowing the application to provide
@@ -44,13 +44,13 @@ import com.android.wm.shell.TaskView
* The activity being launched is specified by {@link android.service.controls.Control#getAppIntent}.
*/
class DetailDialog(
val activityContext: Context,
val broadcastSender: BroadcastSender,
val taskView: TaskView,
val pendingIntent: PendingIntent,
val cvh: ControlViewHolder,
val keyguardStateController: KeyguardStateController,
val activityStarter: ActivityStarter
val activityContext: Context,
val broadcastSender: BroadcastSender,
val taskView: TaskView,
val pendingIntent: PendingIntent,
val cvh: ControlViewHolder,
val keyguardStateController: KeyguardStateController,
val activityStarter: ActivityStarter
) : Dialog(
activityContext,
R.style.Theme_SystemUI_Dialog_Control_DetailPanel

View File

@@ -30,7 +30,7 @@ import android.graphics.drawable.shapes.RoundRectShape
import android.os.Trace
import com.android.systemui.R
import com.android.systemui.util.boundsOnScreen
import com.android.wm.shell.TaskView
import com.android.wm.shell.taskview.TaskView
import java.util.concurrent.Executor
class PanelTaskViewController(

View File

@@ -38,7 +38,6 @@ import com.android.systemui.unfold.UnfoldLatencyTracker;
import com.android.systemui.unfold.UnfoldTransitionProgressProvider;
import com.android.systemui.unfold.progress.UnfoldTransitionProgressForwarder;
import com.android.systemui.unfold.util.NaturalRotationUnfoldProgressProvider;
import com.android.wm.shell.TaskViewFactory;
import com.android.wm.shell.back.BackAnimation;
import com.android.wm.shell.bubbles.Bubbles;
import com.android.wm.shell.desktopmode.DesktopMode;
@@ -49,16 +48,17 @@ import com.android.wm.shell.recents.RecentTasks;
import com.android.wm.shell.splitscreen.SplitScreen;
import com.android.wm.shell.startingsurface.StartingSurface;
import com.android.wm.shell.sysui.ShellInterface;
import com.android.wm.shell.taskview.TaskViewFactory;
import com.android.wm.shell.transition.ShellTransitions;
import dagger.BindsInstance;
import dagger.Subcomponent;
import java.util.Map;
import java.util.Optional;
import javax.inject.Provider;
import dagger.BindsInstance;
import dagger.Subcomponent;
/**
* An example Dagger Subcomponent for Core SysUI.
*

View File

@@ -23,7 +23,6 @@ import androidx.annotation.Nullable;
import com.android.systemui.SystemUIInitializerFactory;
import com.android.systemui.tv.TvWMComponent;
import com.android.wm.shell.TaskViewFactory;
import com.android.wm.shell.back.BackAnimation;
import com.android.wm.shell.bubbles.Bubbles;
import com.android.wm.shell.common.annotations.ShellMainThread;
@@ -38,13 +37,14 @@ import com.android.wm.shell.recents.RecentTasks;
import com.android.wm.shell.splitscreen.SplitScreen;
import com.android.wm.shell.startingsurface.StartingSurface;
import com.android.wm.shell.sysui.ShellInterface;
import com.android.wm.shell.taskview.TaskViewFactory;
import com.android.wm.shell.transition.ShellTransitions;
import java.util.Optional;
import dagger.BindsInstance;
import dagger.Subcomponent;
import java.util.Optional;
/**
* Dagger Subcomponent for WindowManager. This class explicitly describes the interfaces exported
* from the WM component into the SysUI component (in

View File

@@ -29,7 +29,7 @@ import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.statusbar.VibratorHelper
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.systemui.util.concurrency.DelayableExecutor
import com.android.wm.shell.TaskViewFactory
import com.android.wm.shell.taskview.TaskViewFactory
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith

View File

@@ -59,8 +59,8 @@ import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.mock
import com.android.systemui.util.mockito.whenever
import com.android.systemui.util.time.FakeSystemClock
import com.android.wm.shell.TaskView
import com.android.wm.shell.TaskViewFactory
import com.android.wm.shell.taskview.TaskView
import com.android.wm.shell.taskview.TaskViewFactory
import com.google.common.truth.Truth.assertThat
import java.util.Optional
import java.util.function.Consumer

View File

@@ -24,7 +24,7 @@ import com.android.systemui.SysuiTestCase
import com.android.systemui.broadcast.BroadcastSender
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.statusbar.policy.KeyguardStateController
import com.android.wm.shell.TaskView
import com.android.wm.shell.taskview.TaskView
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith

View File

@@ -36,7 +36,7 @@ import com.android.systemui.util.mockito.capture
import com.android.systemui.util.mockito.eq
import com.android.systemui.util.mockito.whenever
import com.android.systemui.util.time.FakeSystemClock
import com.android.wm.shell.TaskView
import com.android.wm.shell.taskview.TaskView
import com.google.common.truth.Truth.assertThat
import org.junit.Before
import org.junit.Test

View File

@@ -123,7 +123,6 @@ import com.android.systemui.statusbar.policy.HeadsUpManager;
import com.android.systemui.statusbar.policy.KeyguardStateController;
import com.android.systemui.statusbar.policy.ZenModeController;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.TaskViewTransitions;
import com.android.wm.shell.WindowManagerShellWrapper;
import com.android.wm.shell.bubbles.Bubble;
import com.android.wm.shell.bubbles.BubbleBadgeIconFactory;
@@ -145,6 +144,7 @@ import com.android.wm.shell.onehanded.OneHandedController;
import com.android.wm.shell.sysui.ShellCommandHandler;
import com.android.wm.shell.sysui.ShellController;
import com.android.wm.shell.sysui.ShellInit;
import com.android.wm.shell.taskview.TaskViewTransitions;
import org.junit.After;
import org.junit.Before;

View File

@@ -25,7 +25,6 @@ import android.view.WindowManager;
import com.android.internal.statusbar.IStatusBarService;
import com.android.wm.shell.ShellTaskOrganizer;
import com.android.wm.shell.TaskViewTransitions;
import com.android.wm.shell.WindowManagerShellWrapper;
import com.android.wm.shell.bubbles.BubbleController;
import com.android.wm.shell.bubbles.BubbleData;
@@ -42,6 +41,7 @@ import com.android.wm.shell.onehanded.OneHandedController;
import com.android.wm.shell.sysui.ShellCommandHandler;
import com.android.wm.shell.sysui.ShellController;
import com.android.wm.shell.sysui.ShellInit;
import com.android.wm.shell.taskview.TaskViewTransitions;
import java.util.Optional;

View File

@@ -182,7 +182,7 @@ public class BubbleExtractor implements NotificationSignalExtractor {
/**
* Whether an intent is properly configured to display in an {@link
* com.android.wm.shell.TaskView} for bubbling.
* TaskView} for bubbling.
*
* @param context the context to use.
* @param pendingIntent the pending intent of the bubble.

View File

@@ -929,7 +929,7 @@ public class AppTransitionController {
/**
* Returns {@code true} if a given {@link WindowContainer} is an embedded Task in
* {@link com.android.wm.shell.TaskView}.
* {@link TaskView}.
*
* Note that this is a short term workaround to support Android Auto until it migrate to
* ShellTransition. This should only be used by {@link #getAnimationTargets}.