Loading libs/WindowManager/Shell/src/com/android/wm/shell/dagger/TvWMShellModule.java +4 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.wm.shell.dagger; import android.app.IActivityTaskManager; import android.content.Context; import android.os.Handler; Loading Loading @@ -97,12 +98,13 @@ public class TvWMShellModule { @ShellMainThread Handler mainHandler, SystemWindows systemWindows, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { return new TvSplitScreenController(context, shellInit, shellCommandHandler, shellController, shellTaskOrganizer, syncQueue, rootTDAOrganizer, displayController, displayImeController, displayInsetsController, transitions, transactionPool, iconProvider, recentTasks, launchAdjacentController, multiInstanceHelper, splitState, mainExecutor, mainHandler, systemWindows, rootDisplayAreaOrganizer, desktopState); desktopState, activityTaskManager); } } libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +5 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import static com.android.hardware.input.Flags.manageKeyGestures; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.IActivityTaskManager; import android.app.KeyguardManager; import android.content.Context; import android.content.pm.LauncherApps; Loading Loading @@ -586,7 +587,8 @@ public abstract class WMShellModule { @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread Handler mainHandler, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { return new SplitScreenController( context, shellInit, Loading @@ -612,7 +614,8 @@ public abstract class WMShellModule { mainExecutor, mainHandler, rootDisplayAreaOrganizer, desktopState); desktopState, activityTaskManager); } // Loading libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java +6 −2 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import static com.android.wm.shell.splitscreen.SplitScreen.STAGE_TYPE_UNDEFINED; import android.app.ActivityManager; import android.app.ActivityOptions; import android.app.ActivityTaskManager; import android.app.IActivityTaskManager; import android.app.PendingIntent; import android.app.TaskInfo; import android.content.ComponentName; Loading Loading @@ -207,6 +208,7 @@ public class SplitScreenController implements SplitDragPolicy.Starter, private final MultiInstanceHelper mMultiInstanceHelpher; private final SplitState mSplitState; private final RootDisplayAreaOrganizer mRootDisplayAreaOrganizer; private final IActivityTaskManager mActivityTaskManager; private final SplitScreenShellCommandHandler mSplitScreenShellCommandHandler; private final DesktopState mDesktopState; Loading Loading @@ -241,7 +243,8 @@ public class SplitScreenController implements SplitDragPolicy.Starter, ShellExecutor mainExecutor, Handler mainHandler, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { mShellCommandHandler = shellCommandHandler; mShellController = shellController; mTaskOrganizer = shellTaskOrganizer; Loading @@ -266,6 +269,7 @@ public class SplitScreenController implements SplitDragPolicy.Starter, mMultiInstanceHelpher = multiInstanceHelper; mSplitState = splitState; mRootDisplayAreaOrganizer = rootDisplayAreaOrganizer; mActivityTaskManager = activityTaskManager; mSplitScreenShellCommandHandler = new SplitScreenShellCommandHandler(this); mDesktopState = desktopState; // TODO(b/238217847): Temporarily add this check here until we can remove the dynamic Loading Loading @@ -312,7 +316,7 @@ public class SplitScreenController implements SplitDragPolicy.Starter, mDisplayInsetsController, mTransitions, mTransactionPool, mIconProvider, mMainExecutor, mMainHandler, mRecentTasksOptional, mLaunchAdjacentController, mWindowDecorViewModel, mSplitState, mDesktopTasksController, mRootTDAOrganizer, mRootDisplayAreaOrganizer, mDesktopState); mRootDisplayAreaOrganizer, mDesktopState, mActivityTaskManager); } @Override Loading libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +8 −5 Original line number Diff line number Diff line Loading @@ -213,6 +213,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, private final int mDisplayId; private SplitLayout mSplitLayout; private final IActivityTaskManager mActivityTaskManager; private ValueAnimator mDividerFadeInAnimator; private boolean mDividerVisible; private boolean mKeyguardActive; Loading Loading @@ -388,7 +389,8 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, Optional<DesktopTasksController> desktopTasksController, RootTaskDisplayAreaOrganizer rootTDAOrganizer, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { mContext = context; mDisplayId = displayId; mSyncQueue = syncQueue; Loading Loading @@ -459,6 +461,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, mStatusBarHider = new SplitStatusBarHider(taskOrganizer, splitState, rootDisplayAreaOrganizer); mSplitTransitionModifier = new SplitTransitionModifier(); mActivityTaskManager = activityTaskManager; } @VisibleForTesting Loading @@ -474,7 +477,8 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, Optional<DesktopTasksController> desktopTasksController, RootTaskDisplayAreaOrganizer rootTDAOrganizer, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { mContext = context; mDisplayId = displayId; mSyncQueue = syncQueue; Loading @@ -487,6 +491,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, mDisplayInsetsController = displayInsetsController; mTransactionPool = transactionPool; mSplitLayout = splitLayout; mActivityTaskManager = activityTaskManager; mSplitTransitions = new SplitScreenTransitions(transactionPool, transitions, this::onTransitionAnimationComplete, this); mLogger = new SplitscreenEventLogger(); Loading Loading @@ -1638,10 +1643,8 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, * Grants focus to the main or the side stages. */ protected void grantFocusToStage(@SplitPosition int stageToFocus) { IActivityTaskManager activityTaskManagerService = IActivityTaskManager.Stub.asInterface( ServiceManager.getService(Context.ACTIVITY_TASK_SERVICE)); try { activityTaskManagerService.setFocusedTask(getTaskId(stageToFocus)); mActivityTaskManager.setFocusedTask(getTaskId(stageToFocus)); } catch (RemoteException | NullPointerException e) { ProtoLog.e(WM_SHELL_SPLIT_SCREEN, "Unable to update focus on the chosen stage: %s", e.getMessage()); Loading libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/tv/TvSplitScreenController.java +9 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.wm.shell.splitscreen.tv; import static android.view.Display.DEFAULT_DISPLAY; import android.app.IActivityTaskManager; import android.content.Context; import android.os.Handler; Loading Loading @@ -69,6 +70,7 @@ public class TvSplitScreenController extends SplitScreenController { private final Handler mMainHandler; private final SystemWindows mSystemWindows; private final IActivityTaskManager mActivityTaskManager; public TvSplitScreenController(Context context, ShellInit shellInit, Loading @@ -91,13 +93,15 @@ public class TvSplitScreenController extends SplitScreenController { Handler mainHandler, SystemWindows systemWindows, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { super(context, shellInit, shellCommandHandler, shellController, shellTaskOrganizer, syncQueue, rootTDAOrganizer, displayController, displayImeController, displayInsetsController, null, transitions, transactionPool, iconProvider, recentTasks, launchAdjacentController, Optional.empty(), Optional.empty(), null /* stageCoordinator */, multiInstanceHelper, splitState, mainExecutor, mainHandler, rootDisplayAreaOrganizer, desktopState); mainExecutor, mainHandler, rootDisplayAreaOrganizer, desktopState, activityTaskManager); mTaskOrganizer = shellTaskOrganizer; mSyncQueue = syncQueue; Loading @@ -117,6 +121,7 @@ public class TvSplitScreenController extends SplitScreenController { mSystemWindows = systemWindows; mRootTDAOrganizer = rootTDAOrganizer; mRootDisplayAreaOrganizer = rootDisplayAreaOrganizer; mActivityTaskManager = activityTaskManager; } /** Loading @@ -130,7 +135,8 @@ public class TvSplitScreenController extends SplitScreenController { mDisplayInsetsController, mTransitions, mTransactionPool, mIconProvider, mMainExecutor, mMainHandler, mRecentTasksOptional, mLaunchAdjacentController, mSplitState, mSystemWindows, mRootTDAOrganizer, mRootDisplayAreaOrganizer, getDesktopState()); mRootTDAOrganizer, mRootDisplayAreaOrganizer, getDesktopState(), mActivityTaskManager); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/TvWMShellModule.java +4 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.wm.shell.dagger; import android.app.IActivityTaskManager; import android.content.Context; import android.os.Handler; Loading Loading @@ -97,12 +98,13 @@ public class TvWMShellModule { @ShellMainThread Handler mainHandler, SystemWindows systemWindows, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { return new TvSplitScreenController(context, shellInit, shellCommandHandler, shellController, shellTaskOrganizer, syncQueue, rootTDAOrganizer, displayController, displayImeController, displayInsetsController, transitions, transactionPool, iconProvider, recentTasks, launchAdjacentController, multiInstanceHelper, splitState, mainExecutor, mainHandler, systemWindows, rootDisplayAreaOrganizer, desktopState); desktopState, activityTaskManager); } }
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +5 −2 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ import static com.android.hardware.input.Flags.manageKeyGestures; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.IActivityTaskManager; import android.app.KeyguardManager; import android.content.Context; import android.content.pm.LauncherApps; Loading Loading @@ -586,7 +587,8 @@ public abstract class WMShellModule { @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread Handler mainHandler, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { return new SplitScreenController( context, shellInit, Loading @@ -612,7 +614,8 @@ public abstract class WMShellModule { mainExecutor, mainHandler, rootDisplayAreaOrganizer, desktopState); desktopState, activityTaskManager); } // Loading
libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java +6 −2 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ import static com.android.wm.shell.splitscreen.SplitScreen.STAGE_TYPE_UNDEFINED; import android.app.ActivityManager; import android.app.ActivityOptions; import android.app.ActivityTaskManager; import android.app.IActivityTaskManager; import android.app.PendingIntent; import android.app.TaskInfo; import android.content.ComponentName; Loading Loading @@ -207,6 +208,7 @@ public class SplitScreenController implements SplitDragPolicy.Starter, private final MultiInstanceHelper mMultiInstanceHelpher; private final SplitState mSplitState; private final RootDisplayAreaOrganizer mRootDisplayAreaOrganizer; private final IActivityTaskManager mActivityTaskManager; private final SplitScreenShellCommandHandler mSplitScreenShellCommandHandler; private final DesktopState mDesktopState; Loading Loading @@ -241,7 +243,8 @@ public class SplitScreenController implements SplitDragPolicy.Starter, ShellExecutor mainExecutor, Handler mainHandler, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { mShellCommandHandler = shellCommandHandler; mShellController = shellController; mTaskOrganizer = shellTaskOrganizer; Loading @@ -266,6 +269,7 @@ public class SplitScreenController implements SplitDragPolicy.Starter, mMultiInstanceHelpher = multiInstanceHelper; mSplitState = splitState; mRootDisplayAreaOrganizer = rootDisplayAreaOrganizer; mActivityTaskManager = activityTaskManager; mSplitScreenShellCommandHandler = new SplitScreenShellCommandHandler(this); mDesktopState = desktopState; // TODO(b/238217847): Temporarily add this check here until we can remove the dynamic Loading Loading @@ -312,7 +316,7 @@ public class SplitScreenController implements SplitDragPolicy.Starter, mDisplayInsetsController, mTransitions, mTransactionPool, mIconProvider, mMainExecutor, mMainHandler, mRecentTasksOptional, mLaunchAdjacentController, mWindowDecorViewModel, mSplitState, mDesktopTasksController, mRootTDAOrganizer, mRootDisplayAreaOrganizer, mDesktopState); mRootDisplayAreaOrganizer, mDesktopState, mActivityTaskManager); } @Override Loading
libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +8 −5 Original line number Diff line number Diff line Loading @@ -213,6 +213,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, private final int mDisplayId; private SplitLayout mSplitLayout; private final IActivityTaskManager mActivityTaskManager; private ValueAnimator mDividerFadeInAnimator; private boolean mDividerVisible; private boolean mKeyguardActive; Loading Loading @@ -388,7 +389,8 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, Optional<DesktopTasksController> desktopTasksController, RootTaskDisplayAreaOrganizer rootTDAOrganizer, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { mContext = context; mDisplayId = displayId; mSyncQueue = syncQueue; Loading Loading @@ -459,6 +461,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, mStatusBarHider = new SplitStatusBarHider(taskOrganizer, splitState, rootDisplayAreaOrganizer); mSplitTransitionModifier = new SplitTransitionModifier(); mActivityTaskManager = activityTaskManager; } @VisibleForTesting Loading @@ -474,7 +477,8 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, Optional<DesktopTasksController> desktopTasksController, RootTaskDisplayAreaOrganizer rootTDAOrganizer, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { mContext = context; mDisplayId = displayId; mSyncQueue = syncQueue; Loading @@ -487,6 +491,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, mDisplayInsetsController = displayInsetsController; mTransactionPool = transactionPool; mSplitLayout = splitLayout; mActivityTaskManager = activityTaskManager; mSplitTransitions = new SplitScreenTransitions(transactionPool, transitions, this::onTransitionAnimationComplete, this); mLogger = new SplitscreenEventLogger(); Loading Loading @@ -1638,10 +1643,8 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, * Grants focus to the main or the side stages. */ protected void grantFocusToStage(@SplitPosition int stageToFocus) { IActivityTaskManager activityTaskManagerService = IActivityTaskManager.Stub.asInterface( ServiceManager.getService(Context.ACTIVITY_TASK_SERVICE)); try { activityTaskManagerService.setFocusedTask(getTaskId(stageToFocus)); mActivityTaskManager.setFocusedTask(getTaskId(stageToFocus)); } catch (RemoteException | NullPointerException e) { ProtoLog.e(WM_SHELL_SPLIT_SCREEN, "Unable to update focus on the chosen stage: %s", e.getMessage()); Loading
libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/tv/TvSplitScreenController.java +9 −3 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.wm.shell.splitscreen.tv; import static android.view.Display.DEFAULT_DISPLAY; import android.app.IActivityTaskManager; import android.content.Context; import android.os.Handler; Loading Loading @@ -69,6 +70,7 @@ public class TvSplitScreenController extends SplitScreenController { private final Handler mMainHandler; private final SystemWindows mSystemWindows; private final IActivityTaskManager mActivityTaskManager; public TvSplitScreenController(Context context, ShellInit shellInit, Loading @@ -91,13 +93,15 @@ public class TvSplitScreenController extends SplitScreenController { Handler mainHandler, SystemWindows systemWindows, RootDisplayAreaOrganizer rootDisplayAreaOrganizer, DesktopState desktopState) { DesktopState desktopState, IActivityTaskManager activityTaskManager) { super(context, shellInit, shellCommandHandler, shellController, shellTaskOrganizer, syncQueue, rootTDAOrganizer, displayController, displayImeController, displayInsetsController, null, transitions, transactionPool, iconProvider, recentTasks, launchAdjacentController, Optional.empty(), Optional.empty(), null /* stageCoordinator */, multiInstanceHelper, splitState, mainExecutor, mainHandler, rootDisplayAreaOrganizer, desktopState); mainExecutor, mainHandler, rootDisplayAreaOrganizer, desktopState, activityTaskManager); mTaskOrganizer = shellTaskOrganizer; mSyncQueue = syncQueue; Loading @@ -117,6 +121,7 @@ public class TvSplitScreenController extends SplitScreenController { mSystemWindows = systemWindows; mRootTDAOrganizer = rootTDAOrganizer; mRootDisplayAreaOrganizer = rootDisplayAreaOrganizer; mActivityTaskManager = activityTaskManager; } /** Loading @@ -130,7 +135,8 @@ public class TvSplitScreenController extends SplitScreenController { mDisplayInsetsController, mTransitions, mTransactionPool, mIconProvider, mMainExecutor, mMainHandler, mRecentTasksOptional, mLaunchAdjacentController, mSplitState, mSystemWindows, mRootTDAOrganizer, mRootDisplayAreaOrganizer, getDesktopState()); mRootTDAOrganizer, mRootDisplayAreaOrganizer, getDesktopState(), mActivityTaskManager); } }