Loading libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitDecorManager.java +10 −60 Original line number Original line Diff line number Diff line Loading @@ -33,14 +33,12 @@ import android.animation.AnimatorListenerAdapter; import android.animation.ValueAnimator; import android.animation.ValueAnimator; import android.app.ActivityManager; import android.app.ActivityManager; import android.content.Context; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.content.res.Configuration; import android.graphics.Color; import android.graphics.Color; import android.graphics.PixelFormat; import android.graphics.PixelFormat; import android.graphics.Rect; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable; import android.os.Binder; import android.os.Binder; import android.os.Trace; import android.view.IWindow; import android.view.IWindow; import android.view.LayoutInflater; import android.view.LayoutInflater; import android.view.SurfaceControl; import android.view.SurfaceControl; Loading @@ -52,12 +50,10 @@ import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.ImageView; import androidx.annotation.NonNull; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.launcher3.icons.IconProvider; import com.android.launcher3.icons.IconProvider; import com.android.wm.shell.R; import com.android.wm.shell.R; import com.android.wm.shell.common.ScreenshotUtils; import com.android.wm.shell.common.ScreenshotUtils; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SurfaceUtils; import com.android.wm.shell.common.SurfaceUtils; import java.util.function.Consumer; import java.util.function.Consumer; Loading @@ -83,19 +79,9 @@ public class SplitDecorManager extends WindowlessWindowManager { private static final String RESIZING_BACKGROUND_SURFACE_NAME = "ResizingBackground"; private static final String RESIZING_BACKGROUND_SURFACE_NAME = "ResizingBackground"; private static final String GAP_BACKGROUND_SURFACE_NAME = "GapBackground"; private static final String GAP_BACKGROUND_SURFACE_NAME = "GapBackground"; // Indicates the loading state of mIcon enum IconLoadState { NOT_LOADED, LOADING, LOADED } private final IconProvider mIconProvider; private final IconProvider mIconProvider; private final ShellExecutor mMainExecutor; private final ShellExecutor mBgExecutor; private Drawable mIcon; private Drawable mIcon; private IconLoadState mIconLoadState = IconLoadState.NOT_LOADED; private ImageView mVeilIconView; private ImageView mVeilIconView; private SurfaceControlViewHost mViewHost; private SurfaceControlViewHost mViewHost; /** The parent surface that this is attached to. Should be the stage root. */ /** The parent surface that this is attached to. Should be the stage root. */ Loading Loading @@ -123,14 +109,9 @@ public class SplitDecorManager extends WindowlessWindowManager { private int mOffsetY; private int mOffsetY; private int mRunningAnimationCount = 0; private int mRunningAnimationCount = 0; public SplitDecorManager(Configuration configuration, public SplitDecorManager(Configuration configuration, IconProvider iconProvider) { IconProvider iconProvider, ShellExecutor mainExecutor, ShellExecutor bgExecutor) { super(configuration, null /* rootSurface */, null /* hostInputToken */); super(configuration, null /* rootSurface */, null /* hostInputToken */); mIconProvider = iconProvider; mIconProvider = iconProvider; mMainExecutor = mainExecutor; mBgExecutor = bgExecutor; } } @Override @Override Loading Loading @@ -218,7 +199,6 @@ public class SplitDecorManager extends WindowlessWindowManager { } } mHostLeash = null; mHostLeash = null; mIcon = null; mIcon = null; mIconLoadState = IconLoadState.NOT_LOADED; mVeilIconView = null; mVeilIconView = null; mIsCurrentlyChanging = false; mIsCurrentlyChanging = false; mShown = false; mShown = false; Loading Loading @@ -310,11 +290,10 @@ public class SplitDecorManager extends WindowlessWindowManager { .setWindowCrop(mGapBackgroundLeash, sideBounds.width(), sideBounds.height()); .setWindowCrop(mGapBackgroundLeash, sideBounds.width(), sideBounds.height()); } } if (mIconLoadState == IconLoadState.NOT_LOADED && resizingTask.topActivityInfo != null) { if (mIcon == null && resizingTask.topActivityInfo != null) { loadIconInBackground(resizingTask.topActivityInfo, () -> { mIcon = mIconProvider.getIcon(resizingTask.topActivityInfo); mVeilIconView.setImageDrawable(mIcon); mVeilIconView.setImageDrawable(mIcon); mVeilIconView.setVisibility(View.VISIBLE); mVeilIconView.setVisibility(View.VISIBLE); }); WindowManager.LayoutParams lp = WindowManager.LayoutParams lp = (WindowManager.LayoutParams) mViewHost.getView().getLayoutParams(); (WindowManager.LayoutParams) mViewHost.getView().getLayoutParams(); Loading Loading @@ -468,10 +447,10 @@ public class SplitDecorManager extends WindowlessWindowManager { } } if (mIcon == null && resizingTask.topActivityInfo != null) { if (mIcon == null && resizingTask.topActivityInfo != null) { loadIconInBackground(resizingTask.topActivityInfo, () -> { // Initialize icon mIcon = mIconProvider.getIcon(resizingTask.topActivityInfo); mVeilIconView.setImageDrawable(mIcon); mVeilIconView.setImageDrawable(mIcon); mVeilIconView.setVisibility(View.VISIBLE); mVeilIconView.setVisibility(View.VISIBLE); }); WindowManager.LayoutParams lp = WindowManager.LayoutParams lp = (WindowManager.LayoutParams) mViewHost.getView().getLayoutParams(); (WindowManager.LayoutParams) mViewHost.getView().getLayoutParams(); Loading Loading @@ -504,7 +483,7 @@ public class SplitDecorManager extends WindowlessWindowManager { return; return; } } // Re-center icon // Recenter icon t.setPosition(mIconLeash, t.setPosition(mIconLeash, mInstantaneousBounds.width() / 2f - mIconSize / 2f, mInstantaneousBounds.width() / 2f - mIconSize / 2f, mInstantaneousBounds.height() / 2f - mIconSize / 2f); mInstantaneousBounds.height() / 2f - mIconSize / 2f); Loading Loading @@ -647,36 +626,7 @@ public class SplitDecorManager extends WindowlessWindowManager { mVeilIconView.setImageDrawable(null); mVeilIconView.setImageDrawable(null); t.hide(mIconLeash); t.hide(mIconLeash); mIcon = null; mIcon = null; mIconLoadState = IconLoadState.NOT_LOADED; } } /** * Loads the icon for the given {@param info}, calling {@param postLoadCb} on the main thread * if provided. */ private void loadIconInBackground(@NonNull ActivityInfo info, @Nullable Runnable postLoadCb) { mIconLoadState = IconLoadState.LOADING; mBgExecutor.setBoost(); mBgExecutor.execute(() -> { Trace.beginSection("SplitDecorManager.loadIconInBackground(" + info.applicationInfo.packageName + ")"); final Drawable icon = mIconProvider.getIcon(info); Trace.endSection(); mMainExecutor.execute(() -> { if (mIconLoadState != IconLoadState.LOADING) { // The request was canceled while loading in the background, just drop the // result return; } } mIcon = icon; mIconLoadState = IconLoadState.LOADED; if (postLoadCb != null) { postLoadCb.run(); } }); mBgExecutor.resetBoost(); }); } } private static float[] getResizingBackgroundColor(ActivityManager.RunningTaskInfo taskInfo) { private static float[] getResizingBackgroundColor(ActivityManager.RunningTaskInfo taskInfo) { Loading libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java +0 −4 Original line number Original line Diff line number Diff line Loading @@ -799,10 +799,6 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange } } void onStartDragging() { void onStartDragging() { // This triggers initialization of things like the resize veil in preparation for // showing it when the user moves the divider past the slop updateDividerBounds(getDividerPosition(), false /* shouldUseParallaxEffect */); mInteractionJankMonitor.begin(getDividerLeash(), mContext, mHandler, mInteractionJankMonitor.begin(getDividerLeash(), mContext, mHandler, CUJ_SPLIT_SCREEN_RESIZE); CUJ_SPLIT_SCREEN_RESIZE); } } Loading libs/WindowManager/Shell/src/com/android/wm/shell/dagger/TvWMShellModule.java +1 −3 Original line number Original line Diff line number Diff line Loading @@ -34,7 +34,6 @@ import com.android.wm.shell.common.split.SplitState; import com.android.wm.shell.dagger.pip.TvPipModule; import com.android.wm.shell.dagger.pip.TvPipModule; import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.shared.TransactionPool; import com.android.wm.shell.shared.TransactionPool; import com.android.wm.shell.shared.annotations.ShellBackgroundThread; import com.android.wm.shell.shared.annotations.ShellMainThread; import com.android.wm.shell.shared.annotations.ShellMainThread; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.splitscreen.tv.TvSplitScreenController; import com.android.wm.shell.splitscreen.tv.TvSplitScreenController; Loading Loading @@ -94,12 +93,11 @@ public class TvWMShellModule { SplitState splitState, SplitState splitState, @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread ShellExecutor mainExecutor, Handler mainHandler, Handler mainHandler, @ShellBackgroundThread ShellExecutor bgExecutor, SystemWindows systemWindows) { SystemWindows systemWindows) { return new TvSplitScreenController(context, shellInit, shellCommandHandler, shellController, return new TvSplitScreenController(context, shellInit, shellCommandHandler, shellController, shellTaskOrganizer, syncQueue, rootTDAOrganizer, displayController, shellTaskOrganizer, syncQueue, rootTDAOrganizer, displayController, displayImeController, displayInsetsController, transitions, transactionPool, displayImeController, displayInsetsController, transitions, transactionPool, iconProvider, recentTasks, launchAdjacentController, multiInstanceHelper, iconProvider, recentTasks, launchAdjacentController, multiInstanceHelper, splitState, mainExecutor, mainHandler, bgExecutor, systemWindows); splitState, mainExecutor, mainHandler, systemWindows); } } } } libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +2 −4 Original line number Original line Diff line number Diff line Loading @@ -520,8 +520,7 @@ public abstract class WMShellModule { MultiInstanceHelper multiInstanceHelper, MultiInstanceHelper multiInstanceHelper, SplitState splitState, SplitState splitState, @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread Handler mainHandler, @ShellMainThread Handler mainHandler) { @ShellBackgroundThread ShellExecutor bgExecutor) { return new SplitScreenController( return new SplitScreenController( context, context, shellInit, shellInit, Loading @@ -545,8 +544,7 @@ public abstract class WMShellModule { multiInstanceHelper, multiInstanceHelper, splitState, splitState, mainExecutor, mainExecutor, mainHandler, mainHandler); bgExecutor); } } // // Loading libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java +3 −7 Original line number Original line Diff line number Diff line Loading @@ -185,7 +185,6 @@ public class SplitScreenController implements SplitDragPolicy.Starter, private final LauncherApps mLauncherApps; private final LauncherApps mLauncherApps; private final RootTaskDisplayAreaOrganizer mRootTDAOrganizer; private final RootTaskDisplayAreaOrganizer mRootTDAOrganizer; private final ShellExecutor mMainExecutor; private final ShellExecutor mMainExecutor; private final ShellExecutor mBgExecutor; private final Handler mMainHandler; private final Handler mMainHandler; private final SplitScreenImpl mImpl = new SplitScreenImpl(); private final SplitScreenImpl mImpl = new SplitScreenImpl(); private final DisplayController mDisplayController; private final DisplayController mDisplayController; Loading Loading @@ -232,8 +231,7 @@ public class SplitScreenController implements SplitDragPolicy.Starter, MultiInstanceHelper multiInstanceHelper, MultiInstanceHelper multiInstanceHelper, SplitState splitState, SplitState splitState, ShellExecutor mainExecutor, ShellExecutor mainExecutor, Handler mainHandler, Handler mainHandler) { ShellExecutor bgExecutor) { mShellCommandHandler = shellCommandHandler; mShellCommandHandler = shellCommandHandler; mShellController = shellController; mShellController = shellController; mTaskOrganizer = shellTaskOrganizer; mTaskOrganizer = shellTaskOrganizer; Loading @@ -243,7 +241,6 @@ public class SplitScreenController implements SplitDragPolicy.Starter, mRootTDAOrganizer = rootTDAOrganizer; mRootTDAOrganizer = rootTDAOrganizer; mMainExecutor = mainExecutor; mMainExecutor = mainExecutor; mMainHandler = mainHandler; mMainHandler = mainHandler; mBgExecutor = bgExecutor; mDisplayController = displayController; mDisplayController = displayController; mDisplayImeController = displayImeController; mDisplayImeController = displayImeController; mDisplayInsetsController = displayInsetsController; mDisplayInsetsController = displayInsetsController; Loading Loading @@ -301,9 +298,8 @@ public class SplitScreenController implements SplitDragPolicy.Starter, return new StageCoordinator(mContext, DEFAULT_DISPLAY, mSyncQueue, return new StageCoordinator(mContext, DEFAULT_DISPLAY, mSyncQueue, mTaskOrganizer, mDisplayController, mDisplayImeController, mTaskOrganizer, mDisplayController, mDisplayImeController, mDisplayInsetsController, mTransitions, mTransactionPool, mIconProvider, mDisplayInsetsController, mTransitions, mTransactionPool, mIconProvider, mMainExecutor, mMainHandler, mBgExecutor, mRecentTasksOptional, mMainExecutor, mMainHandler, mRecentTasksOptional, mLaunchAdjacentController, mLaunchAdjacentController, mWindowDecorViewModel, mSplitState, mWindowDecorViewModel, mSplitState, mDesktopTasksController); mDesktopTasksController); } } @Override @Override Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitDecorManager.java +10 −60 Original line number Original line Diff line number Diff line Loading @@ -33,14 +33,12 @@ import android.animation.AnimatorListenerAdapter; import android.animation.ValueAnimator; import android.animation.ValueAnimator; import android.app.ActivityManager; import android.app.ActivityManager; import android.content.Context; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.content.res.Configuration; import android.graphics.Color; import android.graphics.Color; import android.graphics.PixelFormat; import android.graphics.PixelFormat; import android.graphics.Rect; import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable; import android.os.Binder; import android.os.Binder; import android.os.Trace; import android.view.IWindow; import android.view.IWindow; import android.view.LayoutInflater; import android.view.LayoutInflater; import android.view.SurfaceControl; import android.view.SurfaceControl; Loading @@ -52,12 +50,10 @@ import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.ImageView; import androidx.annotation.NonNull; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.launcher3.icons.IconProvider; import com.android.launcher3.icons.IconProvider; import com.android.wm.shell.R; import com.android.wm.shell.R; import com.android.wm.shell.common.ScreenshotUtils; import com.android.wm.shell.common.ScreenshotUtils; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SurfaceUtils; import com.android.wm.shell.common.SurfaceUtils; import java.util.function.Consumer; import java.util.function.Consumer; Loading @@ -83,19 +79,9 @@ public class SplitDecorManager extends WindowlessWindowManager { private static final String RESIZING_BACKGROUND_SURFACE_NAME = "ResizingBackground"; private static final String RESIZING_BACKGROUND_SURFACE_NAME = "ResizingBackground"; private static final String GAP_BACKGROUND_SURFACE_NAME = "GapBackground"; private static final String GAP_BACKGROUND_SURFACE_NAME = "GapBackground"; // Indicates the loading state of mIcon enum IconLoadState { NOT_LOADED, LOADING, LOADED } private final IconProvider mIconProvider; private final IconProvider mIconProvider; private final ShellExecutor mMainExecutor; private final ShellExecutor mBgExecutor; private Drawable mIcon; private Drawable mIcon; private IconLoadState mIconLoadState = IconLoadState.NOT_LOADED; private ImageView mVeilIconView; private ImageView mVeilIconView; private SurfaceControlViewHost mViewHost; private SurfaceControlViewHost mViewHost; /** The parent surface that this is attached to. Should be the stage root. */ /** The parent surface that this is attached to. Should be the stage root. */ Loading Loading @@ -123,14 +109,9 @@ public class SplitDecorManager extends WindowlessWindowManager { private int mOffsetY; private int mOffsetY; private int mRunningAnimationCount = 0; private int mRunningAnimationCount = 0; public SplitDecorManager(Configuration configuration, public SplitDecorManager(Configuration configuration, IconProvider iconProvider) { IconProvider iconProvider, ShellExecutor mainExecutor, ShellExecutor bgExecutor) { super(configuration, null /* rootSurface */, null /* hostInputToken */); super(configuration, null /* rootSurface */, null /* hostInputToken */); mIconProvider = iconProvider; mIconProvider = iconProvider; mMainExecutor = mainExecutor; mBgExecutor = bgExecutor; } } @Override @Override Loading Loading @@ -218,7 +199,6 @@ public class SplitDecorManager extends WindowlessWindowManager { } } mHostLeash = null; mHostLeash = null; mIcon = null; mIcon = null; mIconLoadState = IconLoadState.NOT_LOADED; mVeilIconView = null; mVeilIconView = null; mIsCurrentlyChanging = false; mIsCurrentlyChanging = false; mShown = false; mShown = false; Loading Loading @@ -310,11 +290,10 @@ public class SplitDecorManager extends WindowlessWindowManager { .setWindowCrop(mGapBackgroundLeash, sideBounds.width(), sideBounds.height()); .setWindowCrop(mGapBackgroundLeash, sideBounds.width(), sideBounds.height()); } } if (mIconLoadState == IconLoadState.NOT_LOADED && resizingTask.topActivityInfo != null) { if (mIcon == null && resizingTask.topActivityInfo != null) { loadIconInBackground(resizingTask.topActivityInfo, () -> { mIcon = mIconProvider.getIcon(resizingTask.topActivityInfo); mVeilIconView.setImageDrawable(mIcon); mVeilIconView.setImageDrawable(mIcon); mVeilIconView.setVisibility(View.VISIBLE); mVeilIconView.setVisibility(View.VISIBLE); }); WindowManager.LayoutParams lp = WindowManager.LayoutParams lp = (WindowManager.LayoutParams) mViewHost.getView().getLayoutParams(); (WindowManager.LayoutParams) mViewHost.getView().getLayoutParams(); Loading Loading @@ -468,10 +447,10 @@ public class SplitDecorManager extends WindowlessWindowManager { } } if (mIcon == null && resizingTask.topActivityInfo != null) { if (mIcon == null && resizingTask.topActivityInfo != null) { loadIconInBackground(resizingTask.topActivityInfo, () -> { // Initialize icon mIcon = mIconProvider.getIcon(resizingTask.topActivityInfo); mVeilIconView.setImageDrawable(mIcon); mVeilIconView.setImageDrawable(mIcon); mVeilIconView.setVisibility(View.VISIBLE); mVeilIconView.setVisibility(View.VISIBLE); }); WindowManager.LayoutParams lp = WindowManager.LayoutParams lp = (WindowManager.LayoutParams) mViewHost.getView().getLayoutParams(); (WindowManager.LayoutParams) mViewHost.getView().getLayoutParams(); Loading Loading @@ -504,7 +483,7 @@ public class SplitDecorManager extends WindowlessWindowManager { return; return; } } // Re-center icon // Recenter icon t.setPosition(mIconLeash, t.setPosition(mIconLeash, mInstantaneousBounds.width() / 2f - mIconSize / 2f, mInstantaneousBounds.width() / 2f - mIconSize / 2f, mInstantaneousBounds.height() / 2f - mIconSize / 2f); mInstantaneousBounds.height() / 2f - mIconSize / 2f); Loading Loading @@ -647,36 +626,7 @@ public class SplitDecorManager extends WindowlessWindowManager { mVeilIconView.setImageDrawable(null); mVeilIconView.setImageDrawable(null); t.hide(mIconLeash); t.hide(mIconLeash); mIcon = null; mIcon = null; mIconLoadState = IconLoadState.NOT_LOADED; } } /** * Loads the icon for the given {@param info}, calling {@param postLoadCb} on the main thread * if provided. */ private void loadIconInBackground(@NonNull ActivityInfo info, @Nullable Runnable postLoadCb) { mIconLoadState = IconLoadState.LOADING; mBgExecutor.setBoost(); mBgExecutor.execute(() -> { Trace.beginSection("SplitDecorManager.loadIconInBackground(" + info.applicationInfo.packageName + ")"); final Drawable icon = mIconProvider.getIcon(info); Trace.endSection(); mMainExecutor.execute(() -> { if (mIconLoadState != IconLoadState.LOADING) { // The request was canceled while loading in the background, just drop the // result return; } } mIcon = icon; mIconLoadState = IconLoadState.LOADED; if (postLoadCb != null) { postLoadCb.run(); } }); mBgExecutor.resetBoost(); }); } } private static float[] getResizingBackgroundColor(ActivityManager.RunningTaskInfo taskInfo) { private static float[] getResizingBackgroundColor(ActivityManager.RunningTaskInfo taskInfo) { Loading
libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java +0 −4 Original line number Original line Diff line number Diff line Loading @@ -799,10 +799,6 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange } } void onStartDragging() { void onStartDragging() { // This triggers initialization of things like the resize veil in preparation for // showing it when the user moves the divider past the slop updateDividerBounds(getDividerPosition(), false /* shouldUseParallaxEffect */); mInteractionJankMonitor.begin(getDividerLeash(), mContext, mHandler, mInteractionJankMonitor.begin(getDividerLeash(), mContext, mHandler, CUJ_SPLIT_SCREEN_RESIZE); CUJ_SPLIT_SCREEN_RESIZE); } } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/TvWMShellModule.java +1 −3 Original line number Original line Diff line number Diff line Loading @@ -34,7 +34,6 @@ import com.android.wm.shell.common.split.SplitState; import com.android.wm.shell.dagger.pip.TvPipModule; import com.android.wm.shell.dagger.pip.TvPipModule; import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.shared.TransactionPool; import com.android.wm.shell.shared.TransactionPool; import com.android.wm.shell.shared.annotations.ShellBackgroundThread; import com.android.wm.shell.shared.annotations.ShellMainThread; import com.android.wm.shell.shared.annotations.ShellMainThread; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.splitscreen.SplitScreenController; import com.android.wm.shell.splitscreen.tv.TvSplitScreenController; import com.android.wm.shell.splitscreen.tv.TvSplitScreenController; Loading Loading @@ -94,12 +93,11 @@ public class TvWMShellModule { SplitState splitState, SplitState splitState, @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread ShellExecutor mainExecutor, Handler mainHandler, Handler mainHandler, @ShellBackgroundThread ShellExecutor bgExecutor, SystemWindows systemWindows) { SystemWindows systemWindows) { return new TvSplitScreenController(context, shellInit, shellCommandHandler, shellController, return new TvSplitScreenController(context, shellInit, shellCommandHandler, shellController, shellTaskOrganizer, syncQueue, rootTDAOrganizer, displayController, shellTaskOrganizer, syncQueue, rootTDAOrganizer, displayController, displayImeController, displayInsetsController, transitions, transactionPool, displayImeController, displayInsetsController, transitions, transactionPool, iconProvider, recentTasks, launchAdjacentController, multiInstanceHelper, iconProvider, recentTasks, launchAdjacentController, multiInstanceHelper, splitState, mainExecutor, mainHandler, bgExecutor, systemWindows); splitState, mainExecutor, mainHandler, systemWindows); } } } }
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +2 −4 Original line number Original line Diff line number Diff line Loading @@ -520,8 +520,7 @@ public abstract class WMShellModule { MultiInstanceHelper multiInstanceHelper, MultiInstanceHelper multiInstanceHelper, SplitState splitState, SplitState splitState, @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread ShellExecutor mainExecutor, @ShellMainThread Handler mainHandler, @ShellMainThread Handler mainHandler) { @ShellBackgroundThread ShellExecutor bgExecutor) { return new SplitScreenController( return new SplitScreenController( context, context, shellInit, shellInit, Loading @@ -545,8 +544,7 @@ public abstract class WMShellModule { multiInstanceHelper, multiInstanceHelper, splitState, splitState, mainExecutor, mainExecutor, mainHandler, mainHandler); bgExecutor); } } // // Loading
libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java +3 −7 Original line number Original line Diff line number Diff line Loading @@ -185,7 +185,6 @@ public class SplitScreenController implements SplitDragPolicy.Starter, private final LauncherApps mLauncherApps; private final LauncherApps mLauncherApps; private final RootTaskDisplayAreaOrganizer mRootTDAOrganizer; private final RootTaskDisplayAreaOrganizer mRootTDAOrganizer; private final ShellExecutor mMainExecutor; private final ShellExecutor mMainExecutor; private final ShellExecutor mBgExecutor; private final Handler mMainHandler; private final Handler mMainHandler; private final SplitScreenImpl mImpl = new SplitScreenImpl(); private final SplitScreenImpl mImpl = new SplitScreenImpl(); private final DisplayController mDisplayController; private final DisplayController mDisplayController; Loading Loading @@ -232,8 +231,7 @@ public class SplitScreenController implements SplitDragPolicy.Starter, MultiInstanceHelper multiInstanceHelper, MultiInstanceHelper multiInstanceHelper, SplitState splitState, SplitState splitState, ShellExecutor mainExecutor, ShellExecutor mainExecutor, Handler mainHandler, Handler mainHandler) { ShellExecutor bgExecutor) { mShellCommandHandler = shellCommandHandler; mShellCommandHandler = shellCommandHandler; mShellController = shellController; mShellController = shellController; mTaskOrganizer = shellTaskOrganizer; mTaskOrganizer = shellTaskOrganizer; Loading @@ -243,7 +241,6 @@ public class SplitScreenController implements SplitDragPolicy.Starter, mRootTDAOrganizer = rootTDAOrganizer; mRootTDAOrganizer = rootTDAOrganizer; mMainExecutor = mainExecutor; mMainExecutor = mainExecutor; mMainHandler = mainHandler; mMainHandler = mainHandler; mBgExecutor = bgExecutor; mDisplayController = displayController; mDisplayController = displayController; mDisplayImeController = displayImeController; mDisplayImeController = displayImeController; mDisplayInsetsController = displayInsetsController; mDisplayInsetsController = displayInsetsController; Loading Loading @@ -301,9 +298,8 @@ public class SplitScreenController implements SplitDragPolicy.Starter, return new StageCoordinator(mContext, DEFAULT_DISPLAY, mSyncQueue, return new StageCoordinator(mContext, DEFAULT_DISPLAY, mSyncQueue, mTaskOrganizer, mDisplayController, mDisplayImeController, mTaskOrganizer, mDisplayController, mDisplayImeController, mDisplayInsetsController, mTransitions, mTransactionPool, mIconProvider, mDisplayInsetsController, mTransitions, mTransactionPool, mIconProvider, mMainExecutor, mMainHandler, mBgExecutor, mRecentTasksOptional, mMainExecutor, mMainHandler, mRecentTasksOptional, mLaunchAdjacentController, mLaunchAdjacentController, mWindowDecorViewModel, mSplitState, mWindowDecorViewModel, mSplitState, mDesktopTasksController); mDesktopTasksController); } } @Override @Override Loading