Move SplitscreenEventLogger to StageCoordinator

Currently, the SplitscreenEventLogger is declared as private final and
initialized in constructor of the SplitScreenController and not used
anywhere else in the SplitScreenController. Moved the initialization to
the StageCoordinator and removed the field from SplitScreenController.

Bug: 245650570
Test: atest SplitTransitionTests
Test: atest SplitScreenControllerTests
Test: atest StageCoordinatorTests

Change-Id: Iedc8893982f3bc4ba4c41f6a394f5fdf39098a99
This commit is contained in:
Ivan Makarov
2022-08-29 17:02:23 +00:00
parent e2a41d3525
commit c6dd395692
7 changed files with 12 additions and 19 deletions

View File

@@ -147,7 +147,6 @@ public class SplitScreenController implements DragAndDropPolicy.Starter,
private final DragAndDropController mDragAndDropController; private final DragAndDropController mDragAndDropController;
private final Transitions mTransitions; private final Transitions mTransitions;
private final TransactionPool mTransactionPool; private final TransactionPool mTransactionPool;
private final SplitscreenEventLogger mLogger;
private final IconProvider mIconProvider; private final IconProvider mIconProvider;
private final Optional<RecentTasksController> mRecentTasksOptional; private final Optional<RecentTasksController> mRecentTasksOptional;
private final SplitScreenShellCommandHandler mSplitScreenShellCommandHandler; private final SplitScreenShellCommandHandler mSplitScreenShellCommandHandler;
@@ -186,7 +185,6 @@ public class SplitScreenController implements DragAndDropPolicy.Starter,
mDragAndDropController = dragAndDropController; mDragAndDropController = dragAndDropController;
mTransitions = transitions; mTransitions = transitions;
mTransactionPool = transactionPool; mTransactionPool = transactionPool;
mLogger = new SplitscreenEventLogger();
mIconProvider = iconProvider; mIconProvider = iconProvider;
mRecentTasksOptional = recentTasks; mRecentTasksOptional = recentTasks;
mSplitScreenShellCommandHandler = new SplitScreenShellCommandHandler(this); mSplitScreenShellCommandHandler = new SplitScreenShellCommandHandler(this);
@@ -221,7 +219,7 @@ public class SplitScreenController implements DragAndDropPolicy.Starter,
protected StageCoordinator createStageCoordinator() { protected StageCoordinator createStageCoordinator() {
return new StageCoordinator(mContext, DEFAULT_DISPLAY, mSyncQueue, return new StageCoordinator(mContext, DEFAULT_DISPLAY, mSyncQueue,
mTaskOrganizer, mDisplayController, mDisplayImeController, mTaskOrganizer, mDisplayController, mDisplayImeController,
mDisplayInsetsController, mTransitions, mTransactionPool, mLogger, mDisplayInsetsController, mTransitions, mTransactionPool,
mIconProvider, mMainExecutor, mRecentTasksOptional); mIconProvider, mMainExecutor, mRecentTasksOptional);
} }

View File

@@ -250,14 +250,14 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
ShellTaskOrganizer taskOrganizer, DisplayController displayController, ShellTaskOrganizer taskOrganizer, DisplayController displayController,
DisplayImeController displayImeController, DisplayImeController displayImeController,
DisplayInsetsController displayInsetsController, Transitions transitions, DisplayInsetsController displayInsetsController, Transitions transitions,
TransactionPool transactionPool, SplitscreenEventLogger logger, TransactionPool transactionPool,
IconProvider iconProvider, ShellExecutor mainExecutor, IconProvider iconProvider, ShellExecutor mainExecutor,
Optional<RecentTasksController> recentTasks) { Optional<RecentTasksController> recentTasks) {
mContext = context; mContext = context;
mDisplayId = displayId; mDisplayId = displayId;
mSyncQueue = syncQueue; mSyncQueue = syncQueue;
mTaskOrganizer = taskOrganizer; mTaskOrganizer = taskOrganizer;
mLogger = logger; mLogger = new SplitscreenEventLogger();
mMainExecutor = mainExecutor; mMainExecutor = mainExecutor;
mRecentTasks = recentTasks; mRecentTasks = recentTasks;
@@ -301,7 +301,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
DisplayController displayController, DisplayImeController displayImeController, DisplayController displayController, DisplayImeController displayImeController,
DisplayInsetsController displayInsetsController, SplitLayout splitLayout, DisplayInsetsController displayInsetsController, SplitLayout splitLayout,
Transitions transitions, TransactionPool transactionPool, Transitions transitions, TransactionPool transactionPool,
SplitscreenEventLogger logger, ShellExecutor mainExecutor, ShellExecutor mainExecutor,
Optional<RecentTasksController> recentTasks) { Optional<RecentTasksController> recentTasks) {
mContext = context; mContext = context;
mDisplayId = displayId; mDisplayId = displayId;
@@ -316,7 +316,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
mSplitLayout = splitLayout; mSplitLayout = splitLayout;
mSplitTransitions = new SplitScreenTransitions(transactionPool, transitions, mSplitTransitions = new SplitScreenTransitions(transactionPool, transitions,
this::onTransitionAnimationComplete, this); this::onTransitionAnimationComplete, this);
mLogger = logger; mLogger = new SplitscreenEventLogger();
mMainExecutor = mainExecutor; mMainExecutor = mainExecutor;
mRecentTasks = recentTasks; mRecentTasks = recentTasks;
mDisplayController.addDisplayWindowListener(this); mDisplayController.addDisplayWindowListener(this);

View File

@@ -34,7 +34,6 @@ import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.draganddrop.DragAndDropController; import com.android.wm.shell.draganddrop.DragAndDropController;
import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.recents.RecentTasksController;
import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.splitscreen.SplitScreenController;
import com.android.wm.shell.splitscreen.SplitscreenEventLogger;
import com.android.wm.shell.splitscreen.StageCoordinator; import com.android.wm.shell.splitscreen.StageCoordinator;
import com.android.wm.shell.sysui.ShellCommandHandler; import com.android.wm.shell.sysui.ShellCommandHandler;
import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellController;
@@ -111,7 +110,7 @@ public class TvSplitScreenController extends SplitScreenController {
return new TvStageCoordinator(mContext, DEFAULT_DISPLAY, mSyncQueue, return new TvStageCoordinator(mContext, DEFAULT_DISPLAY, mSyncQueue,
mTaskOrganizer, mDisplayController, mDisplayImeController, mTaskOrganizer, mDisplayController, mDisplayImeController,
mDisplayInsetsController, mTransitions, mTransactionPool, mDisplayInsetsController, mTransitions, mTransactionPool,
new SplitscreenEventLogger(), mIconProvider, mMainExecutor, mMainHandler, mIconProvider, mMainExecutor, mMainHandler,
mRecentTasksOptional, mSystemWindows); mRecentTasksOptional, mSystemWindows);
} }

View File

@@ -30,7 +30,6 @@ import com.android.wm.shell.common.SystemWindows;
import com.android.wm.shell.common.TransactionPool; import com.android.wm.shell.common.TransactionPool;
import com.android.wm.shell.common.split.SplitScreenConstants; import com.android.wm.shell.common.split.SplitScreenConstants;
import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.recents.RecentTasksController;
import com.android.wm.shell.splitscreen.SplitscreenEventLogger;
import com.android.wm.shell.splitscreen.StageCoordinator; import com.android.wm.shell.splitscreen.StageCoordinator;
import com.android.wm.shell.transition.Transitions; import com.android.wm.shell.transition.Transitions;
@@ -48,13 +47,13 @@ public class TvStageCoordinator extends StageCoordinator
ShellTaskOrganizer taskOrganizer, DisplayController displayController, ShellTaskOrganizer taskOrganizer, DisplayController displayController,
DisplayImeController displayImeController, DisplayImeController displayImeController,
DisplayInsetsController displayInsetsController, Transitions transitions, DisplayInsetsController displayInsetsController, Transitions transitions,
TransactionPool transactionPool, SplitscreenEventLogger logger, TransactionPool transactionPool,
IconProvider iconProvider, ShellExecutor mainExecutor, IconProvider iconProvider, ShellExecutor mainExecutor,
Handler mainHandler, Handler mainHandler,
Optional<RecentTasksController> recentTasks, Optional<RecentTasksController> recentTasks,
SystemWindows systemWindows) { SystemWindows systemWindows) {
super(context, displayId, syncQueue, taskOrganizer, displayController, displayImeController, super(context, displayId, syncQueue, taskOrganizer, displayController, displayImeController,
displayInsetsController, transitions, transactionPool, logger, iconProvider, displayInsetsController, transitions, transactionPool, iconProvider,
mainExecutor, recentTasks); mainExecutor, recentTasks);
mTvSplitMenuController = new TvSplitMenuController(context, this, mTvSplitMenuController = new TvSplitMenuController(context, this,

View File

@@ -71,11 +71,11 @@ public class SplitTestUtils {
DisplayController displayController, DisplayImeController imeController, DisplayController displayController, DisplayImeController imeController,
DisplayInsetsController insetsController, SplitLayout splitLayout, DisplayInsetsController insetsController, SplitLayout splitLayout,
Transitions transitions, TransactionPool transactionPool, Transitions transitions, TransactionPool transactionPool,
SplitscreenEventLogger logger, ShellExecutor mainExecutor, ShellExecutor mainExecutor,
Optional<RecentTasksController> recentTasks) { Optional<RecentTasksController> recentTasks) {
super(context, displayId, syncQueue, taskOrganizer, mainStage, super(context, displayId, syncQueue, taskOrganizer, mainStage,
sideStage, displayController, imeController, insetsController, splitLayout, sideStage, displayController, imeController, insetsController, splitLayout,
transitions, transactionPool, logger, mainExecutor, recentTasks); transitions, transactionPool, mainExecutor, recentTasks);
// Prepare root task for testing. // Prepare root task for testing.
mRootTask = new TestRunningTaskInfoBuilder().build(); mRootTask = new TestRunningTaskInfoBuilder().build();

View File

@@ -95,7 +95,6 @@ public class SplitTransitionTests extends ShellTestCase {
@Mock private TransactionPool mTransactionPool; @Mock private TransactionPool mTransactionPool;
@Mock private Transitions mTransitions; @Mock private Transitions mTransitions;
@Mock private SurfaceSession mSurfaceSession; @Mock private SurfaceSession mSurfaceSession;
@Mock private SplitscreenEventLogger mLogger;
@Mock private IconProvider mIconProvider; @Mock private IconProvider mIconProvider;
@Mock private ShellExecutor mMainExecutor; @Mock private ShellExecutor mMainExecutor;
private SplitLayout mSplitLayout; private SplitLayout mSplitLayout;
@@ -127,7 +126,7 @@ public class SplitTransitionTests extends ShellTestCase {
mStageCoordinator = new SplitTestUtils.TestStageCoordinator(mContext, DEFAULT_DISPLAY, mStageCoordinator = new SplitTestUtils.TestStageCoordinator(mContext, DEFAULT_DISPLAY,
mSyncQueue, mTaskOrganizer, mMainStage, mSideStage, mDisplayController, mSyncQueue, mTaskOrganizer, mMainStage, mSideStage, mDisplayController,
mDisplayImeController, mDisplayInsetsController, mSplitLayout, mTransitions, mDisplayImeController, mDisplayInsetsController, mSplitLayout, mTransitions,
mTransactionPool, mLogger, mMainExecutor, Optional.empty()); mTransactionPool, mMainExecutor, Optional.empty());
mSplitScreenTransitions = mStageCoordinator.getSplitTransitions(); mSplitScreenTransitions = mStageCoordinator.getSplitTransitions();
doAnswer((Answer<IBinder>) invocation -> mock(IBinder.class)) doAnswer((Answer<IBinder>) invocation -> mock(IBinder.class))
.when(mTransitions).startTransition(anyInt(), any(), any()); .when(mTransitions).startTransition(anyInt(), any(), any());

View File

@@ -97,8 +97,6 @@ public class StageCoordinatorTests extends ShellTestCase {
@Mock @Mock
private TransactionPool mTransactionPool; private TransactionPool mTransactionPool;
@Mock @Mock
private SplitscreenEventLogger mLogger;
@Mock
private ShellExecutor mMainExecutor; private ShellExecutor mMainExecutor;
private final Rect mBounds1 = new Rect(10, 20, 30, 40); private final Rect mBounds1 = new Rect(10, 20, 30, 40);
@@ -115,7 +113,7 @@ public class StageCoordinatorTests extends ShellTestCase {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
mStageCoordinator = spy(new StageCoordinator(mContext, DEFAULT_DISPLAY, mSyncQueue, mStageCoordinator = spy(new StageCoordinator(mContext, DEFAULT_DISPLAY, mSyncQueue,
mTaskOrganizer, mMainStage, mSideStage, mDisplayController, mDisplayImeController, mTaskOrganizer, mMainStage, mSideStage, mDisplayController, mDisplayImeController,
mDisplayInsetsController, mSplitLayout, mTransitions, mTransactionPool, mLogger, mDisplayInsetsController, mSplitLayout, mTransitions, mTransactionPool,
mMainExecutor, Optional.empty())); mMainExecutor, Optional.empty()));
doNothing().when(mStageCoordinator).updateActivityOptions(any(), anyInt()); doNothing().when(mStageCoordinator).updateActivityOptions(any(), anyInt());