Loading libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimation.java +7 −7 Original line number Diff line number Diff line Loading @@ -28,6 +28,13 @@ import com.android.wm.shell.common.annotations.ExternalThread; @ExternalThread public interface BackAnimation { /** * Returns a binder that can be passed to an external process to update back animations. */ default IBackAnimation createExternalInterface() { return null; } /** * Called when a {@link MotionEvent} is generated by a back gesture. * Loading @@ -46,13 +53,6 @@ public interface BackAnimation { */ void setTriggerBack(boolean triggerBack); /** * Returns a binder that can be passed to an external process to update back animations. */ default IBackAnimation createExternalInterface() { return null; } /** * Sets the threshold values that defining edge swipe behavior. * @param triggerThreshold the min threshold to trigger back. Loading libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java +11 −24 Original line number Diff line number Diff line Loading @@ -39,9 +39,10 @@ import com.android.wm.shell.common.DisplayInsetsController.OnInsetsChangedListen 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.common.annotations.ExternalThread; import com.android.wm.shell.compatui.CompatUIWindowManager.CompatUIHintsState; import com.android.wm.shell.compatui.letterboxedu.LetterboxEduWindowManager; import com.android.wm.shell.sysui.KeyguardChangeListener; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.transition.Transitions; import java.lang.ref.WeakReference; Loading @@ -58,7 +59,7 @@ import dagger.Lazy; * activities are in compatibility mode. */ public class CompatUIController implements OnDisplaysChangedListener, DisplayImeController.ImePositionProcessor { DisplayImeController.ImePositionProcessor, KeyguardChangeListener { /** Callback for compat UI interaction. */ public interface CompatUICallback { Loading Loading @@ -100,13 +101,13 @@ public class CompatUIController implements OnDisplaysChangedListener, private final SparseArray<WeakReference<Context>> mDisplayContextCache = new SparseArray<>(0); private final Context mContext; private final ShellController mShellController; private final DisplayController mDisplayController; private final DisplayInsetsController mDisplayInsetsController; private final DisplayImeController mImeController; private final SyncTransactionQueue mSyncQueue; private final ShellExecutor mMainExecutor; private final Lazy<Transitions> mTransitionsLazy; private final CompatUIImpl mImpl = new CompatUIImpl(); private CompatUICallback mCallback; Loading @@ -118,6 +119,7 @@ public class CompatUIController implements OnDisplaysChangedListener, private boolean mKeyguardShowing; public CompatUIController(Context context, ShellController shellController, DisplayController displayController, DisplayInsetsController displayInsetsController, DisplayImeController imeController, Loading @@ -125,6 +127,7 @@ public class CompatUIController implements OnDisplaysChangedListener, ShellExecutor mainExecutor, Lazy<Transitions> transitionsLazy) { mContext = context; mShellController = shellController; mDisplayController = displayController; mDisplayInsetsController = displayInsetsController; mImeController = imeController; Loading @@ -134,11 +137,7 @@ public class CompatUIController implements OnDisplaysChangedListener, mDisplayController.addDisplayWindowListener(this); mImeController.addPositionProcessor(this); mCompatUIHintsState = new CompatUIHintsState(); } /** Returns implementation of {@link CompatUI}. */ public CompatUI asCompatUI() { return mImpl; shellController.addKeyguardChangeListener(this); } /** Sets the callback for UI interactions. */ Loading Loading @@ -223,9 +222,10 @@ public class CompatUIController implements OnDisplaysChangedListener, layout -> layout.updateVisibility(showOnDisplay(displayId))); } @VisibleForTesting void onKeyguardShowingChanged(boolean showing) { mKeyguardShowing = showing; @Override public void onKeyguardVisibilityChanged(boolean visible, boolean occluded, boolean animatingDismiss) { mKeyguardShowing = visible; // Hide the compat UIs when keyguard is showing. forAllLayouts(layout -> layout.updateVisibility(showOnDisplay(layout.getDisplayId()))); } Loading Loading @@ -373,19 +373,6 @@ public class CompatUIController implements OnDisplaysChangedListener, } } /** * The interface for calls from outside the Shell, within the host process. */ @ExternalThread private class CompatUIImpl implements CompatUI { @Override public void onKeyguardShowingChanged(boolean showing) { mMainExecutor.execute(() -> { CompatUIController.this.onKeyguardShowingChanged(showing); }); } } /** An implementation of {@link OnInsetsChangedListener} for a given display id. */ private class PerDisplayOnInsetsChangedListener implements OnInsetsChangedListener { final int mDisplayId; Loading libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +3 −42 Original line number Diff line number Diff line Loading @@ -57,15 +57,12 @@ import com.android.wm.shell.common.annotations.ShellAnimationThread; import com.android.wm.shell.common.annotations.ShellBackgroundThread; import com.android.wm.shell.common.annotations.ShellMainThread; import com.android.wm.shell.common.annotations.ShellSplashscreenThread; import com.android.wm.shell.compatui.CompatUI; import com.android.wm.shell.compatui.CompatUIController; import com.android.wm.shell.displayareahelper.DisplayAreaHelper; import com.android.wm.shell.displayareahelper.DisplayAreaHelperController; import com.android.wm.shell.draganddrop.DragAndDrop; import com.android.wm.shell.draganddrop.DragAndDropController; import com.android.wm.shell.freeform.FreeformTaskListener; import com.android.wm.shell.fullscreen.FullscreenTaskListener; import com.android.wm.shell.hidedisplaycutout.HideDisplayCutout; import com.android.wm.shell.hidedisplaycutout.HideDisplayCutoutController; import com.android.wm.shell.kidsmode.KidsModeTaskOrganizer; import com.android.wm.shell.onehanded.OneHanded; Loading @@ -85,8 +82,6 @@ import com.android.wm.shell.startingsurface.StartingWindowTypeAlgorithm; import com.android.wm.shell.startingsurface.phone.PhoneStartingWindowTypeAlgorithm; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInterface; import com.android.wm.shell.tasksurfacehelper.TaskSurfaceHelper; import com.android.wm.shell.tasksurfacehelper.TaskSurfaceHelperController; import com.android.wm.shell.transition.ShellTransitions; import com.android.wm.shell.transition.Transitions; import com.android.wm.shell.unfold.ShellUnfoldProgressProvider; Loading Loading @@ -171,12 +166,6 @@ public abstract class WMShellBaseModule { iconProvider, mainExecutor); } @WMSingleton @Provides static Optional<DragAndDrop> provideDragAndDrop(DragAndDropController dragAndDropController) { return Optional.of(dragAndDropController.asDragAndDrop()); } @WMSingleton @Provides static ShellTaskOrganizer provideShellTaskOrganizer(@ShellMainThread ShellExecutor mainExecutor, Loading Loading @@ -206,19 +195,15 @@ public abstract class WMShellBaseModule { recentTasksOptional); } @WMSingleton @Provides static Optional<CompatUI> provideCompatUI(CompatUIController compatUIController) { return Optional.of(compatUIController.asCompatUI()); } @WMSingleton @Provides static CompatUIController provideCompatUIController(Context context, ShellController shellController, DisplayController displayController, DisplayInsetsController displayInsetsController, DisplayImeController imeController, SyncTransactionQueue syncQueue, @ShellMainThread ShellExecutor mainExecutor, Lazy<Transitions> transitionsLazy) { return new CompatUIController(context, displayController, displayInsetsController, imeController, syncQueue, mainExecutor, transitionsLazy); return new CompatUIController(context, shellController, displayController, displayInsetsController, imeController, syncQueue, mainExecutor, transitionsLazy); } @WMSingleton Loading Loading @@ -373,13 +358,6 @@ public abstract class WMShellBaseModule { // Hide display cutout // @WMSingleton @Provides static Optional<HideDisplayCutout> provideHideDisplayCutout( Optional<HideDisplayCutoutController> hideDisplayCutoutController) { return hideDisplayCutoutController.map((controller) -> controller.asHideDisplayCutout()); } @WMSingleton @Provides static Optional<HideDisplayCutoutController> provideHideDisplayCutoutController(Context context, Loading Loading @@ -415,23 +393,6 @@ public abstract class WMShellBaseModule { return Optional.empty(); } // // Task to Surface communication // @WMSingleton @Provides static Optional<TaskSurfaceHelper> provideTaskSurfaceHelper( Optional<TaskSurfaceHelperController> taskSurfaceController) { return taskSurfaceController.map((controller) -> controller.asTaskSurfaceHelper()); } @Provides static Optional<TaskSurfaceHelperController> provideTaskSurfaceHelperController( ShellTaskOrganizer taskOrganizer, @ShellMainThread ShellExecutor mainExecutor) { return Optional.ofNullable(new TaskSurfaceHelperController(taskOrganizer, mainExecutor)); } // // Pip (optional feature) // Loading libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +2 −1 Original line number Diff line number Diff line Loading @@ -225,6 +225,7 @@ public abstract class WMShellModule { @Provides @DynamicOverride static SplitScreenController provideSplitScreenController( ShellController shellController, ShellTaskOrganizer shellTaskOrganizer, SyncTransactionQueue syncQueue, Context context, RootTaskDisplayAreaOrganizer rootTaskDisplayAreaOrganizer, Loading @@ -234,7 +235,7 @@ public abstract class WMShellModule { DisplayInsetsController displayInsetsController, Transitions transitions, TransactionPool transactionPool, IconProvider iconProvider, Optional<RecentTasksController> recentTasks) { return new SplitScreenController(shellTaskOrganizer, syncQueue, context, return new SplitScreenController(shellController, shellTaskOrganizer, syncQueue, context, rootTaskDisplayAreaOrganizer, mainExecutor, displayController, displayImeController, displayInsetsController, transitions, transactionPool, iconProvider, recentTasks); Loading libs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragAndDrop.javadeleted 100644 → 0 +0 −26 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.wm.shell.draganddrop; import com.android.wm.shell.common.annotations.ExternalThread; /** * Interface for telling DragAndDrop stuff. */ @ExternalThread public interface DragAndDrop { } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/back/BackAnimation.java +7 −7 Original line number Diff line number Diff line Loading @@ -28,6 +28,13 @@ import com.android.wm.shell.common.annotations.ExternalThread; @ExternalThread public interface BackAnimation { /** * Returns a binder that can be passed to an external process to update back animations. */ default IBackAnimation createExternalInterface() { return null; } /** * Called when a {@link MotionEvent} is generated by a back gesture. * Loading @@ -46,13 +53,6 @@ public interface BackAnimation { */ void setTriggerBack(boolean triggerBack); /** * Returns a binder that can be passed to an external process to update back animations. */ default IBackAnimation createExternalInterface() { return null; } /** * Sets the threshold values that defining edge swipe behavior. * @param triggerThreshold the min threshold to trigger back. Loading
libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java +11 −24 Original line number Diff line number Diff line Loading @@ -39,9 +39,10 @@ import com.android.wm.shell.common.DisplayInsetsController.OnInsetsChangedListen 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.common.annotations.ExternalThread; import com.android.wm.shell.compatui.CompatUIWindowManager.CompatUIHintsState; import com.android.wm.shell.compatui.letterboxedu.LetterboxEduWindowManager; import com.android.wm.shell.sysui.KeyguardChangeListener; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.transition.Transitions; import java.lang.ref.WeakReference; Loading @@ -58,7 +59,7 @@ import dagger.Lazy; * activities are in compatibility mode. */ public class CompatUIController implements OnDisplaysChangedListener, DisplayImeController.ImePositionProcessor { DisplayImeController.ImePositionProcessor, KeyguardChangeListener { /** Callback for compat UI interaction. */ public interface CompatUICallback { Loading Loading @@ -100,13 +101,13 @@ public class CompatUIController implements OnDisplaysChangedListener, private final SparseArray<WeakReference<Context>> mDisplayContextCache = new SparseArray<>(0); private final Context mContext; private final ShellController mShellController; private final DisplayController mDisplayController; private final DisplayInsetsController mDisplayInsetsController; private final DisplayImeController mImeController; private final SyncTransactionQueue mSyncQueue; private final ShellExecutor mMainExecutor; private final Lazy<Transitions> mTransitionsLazy; private final CompatUIImpl mImpl = new CompatUIImpl(); private CompatUICallback mCallback; Loading @@ -118,6 +119,7 @@ public class CompatUIController implements OnDisplaysChangedListener, private boolean mKeyguardShowing; public CompatUIController(Context context, ShellController shellController, DisplayController displayController, DisplayInsetsController displayInsetsController, DisplayImeController imeController, Loading @@ -125,6 +127,7 @@ public class CompatUIController implements OnDisplaysChangedListener, ShellExecutor mainExecutor, Lazy<Transitions> transitionsLazy) { mContext = context; mShellController = shellController; mDisplayController = displayController; mDisplayInsetsController = displayInsetsController; mImeController = imeController; Loading @@ -134,11 +137,7 @@ public class CompatUIController implements OnDisplaysChangedListener, mDisplayController.addDisplayWindowListener(this); mImeController.addPositionProcessor(this); mCompatUIHintsState = new CompatUIHintsState(); } /** Returns implementation of {@link CompatUI}. */ public CompatUI asCompatUI() { return mImpl; shellController.addKeyguardChangeListener(this); } /** Sets the callback for UI interactions. */ Loading Loading @@ -223,9 +222,10 @@ public class CompatUIController implements OnDisplaysChangedListener, layout -> layout.updateVisibility(showOnDisplay(displayId))); } @VisibleForTesting void onKeyguardShowingChanged(boolean showing) { mKeyguardShowing = showing; @Override public void onKeyguardVisibilityChanged(boolean visible, boolean occluded, boolean animatingDismiss) { mKeyguardShowing = visible; // Hide the compat UIs when keyguard is showing. forAllLayouts(layout -> layout.updateVisibility(showOnDisplay(layout.getDisplayId()))); } Loading Loading @@ -373,19 +373,6 @@ public class CompatUIController implements OnDisplaysChangedListener, } } /** * The interface for calls from outside the Shell, within the host process. */ @ExternalThread private class CompatUIImpl implements CompatUI { @Override public void onKeyguardShowingChanged(boolean showing) { mMainExecutor.execute(() -> { CompatUIController.this.onKeyguardShowingChanged(showing); }); } } /** An implementation of {@link OnInsetsChangedListener} for a given display id. */ private class PerDisplayOnInsetsChangedListener implements OnInsetsChangedListener { final int mDisplayId; Loading
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +3 −42 Original line number Diff line number Diff line Loading @@ -57,15 +57,12 @@ import com.android.wm.shell.common.annotations.ShellAnimationThread; import com.android.wm.shell.common.annotations.ShellBackgroundThread; import com.android.wm.shell.common.annotations.ShellMainThread; import com.android.wm.shell.common.annotations.ShellSplashscreenThread; import com.android.wm.shell.compatui.CompatUI; import com.android.wm.shell.compatui.CompatUIController; import com.android.wm.shell.displayareahelper.DisplayAreaHelper; import com.android.wm.shell.displayareahelper.DisplayAreaHelperController; import com.android.wm.shell.draganddrop.DragAndDrop; import com.android.wm.shell.draganddrop.DragAndDropController; import com.android.wm.shell.freeform.FreeformTaskListener; import com.android.wm.shell.fullscreen.FullscreenTaskListener; import com.android.wm.shell.hidedisplaycutout.HideDisplayCutout; import com.android.wm.shell.hidedisplaycutout.HideDisplayCutoutController; import com.android.wm.shell.kidsmode.KidsModeTaskOrganizer; import com.android.wm.shell.onehanded.OneHanded; Loading @@ -85,8 +82,6 @@ import com.android.wm.shell.startingsurface.StartingWindowTypeAlgorithm; import com.android.wm.shell.startingsurface.phone.PhoneStartingWindowTypeAlgorithm; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInterface; import com.android.wm.shell.tasksurfacehelper.TaskSurfaceHelper; import com.android.wm.shell.tasksurfacehelper.TaskSurfaceHelperController; import com.android.wm.shell.transition.ShellTransitions; import com.android.wm.shell.transition.Transitions; import com.android.wm.shell.unfold.ShellUnfoldProgressProvider; Loading Loading @@ -171,12 +166,6 @@ public abstract class WMShellBaseModule { iconProvider, mainExecutor); } @WMSingleton @Provides static Optional<DragAndDrop> provideDragAndDrop(DragAndDropController dragAndDropController) { return Optional.of(dragAndDropController.asDragAndDrop()); } @WMSingleton @Provides static ShellTaskOrganizer provideShellTaskOrganizer(@ShellMainThread ShellExecutor mainExecutor, Loading Loading @@ -206,19 +195,15 @@ public abstract class WMShellBaseModule { recentTasksOptional); } @WMSingleton @Provides static Optional<CompatUI> provideCompatUI(CompatUIController compatUIController) { return Optional.of(compatUIController.asCompatUI()); } @WMSingleton @Provides static CompatUIController provideCompatUIController(Context context, ShellController shellController, DisplayController displayController, DisplayInsetsController displayInsetsController, DisplayImeController imeController, SyncTransactionQueue syncQueue, @ShellMainThread ShellExecutor mainExecutor, Lazy<Transitions> transitionsLazy) { return new CompatUIController(context, displayController, displayInsetsController, imeController, syncQueue, mainExecutor, transitionsLazy); return new CompatUIController(context, shellController, displayController, displayInsetsController, imeController, syncQueue, mainExecutor, transitionsLazy); } @WMSingleton Loading Loading @@ -373,13 +358,6 @@ public abstract class WMShellBaseModule { // Hide display cutout // @WMSingleton @Provides static Optional<HideDisplayCutout> provideHideDisplayCutout( Optional<HideDisplayCutoutController> hideDisplayCutoutController) { return hideDisplayCutoutController.map((controller) -> controller.asHideDisplayCutout()); } @WMSingleton @Provides static Optional<HideDisplayCutoutController> provideHideDisplayCutoutController(Context context, Loading Loading @@ -415,23 +393,6 @@ public abstract class WMShellBaseModule { return Optional.empty(); } // // Task to Surface communication // @WMSingleton @Provides static Optional<TaskSurfaceHelper> provideTaskSurfaceHelper( Optional<TaskSurfaceHelperController> taskSurfaceController) { return taskSurfaceController.map((controller) -> controller.asTaskSurfaceHelper()); } @Provides static Optional<TaskSurfaceHelperController> provideTaskSurfaceHelperController( ShellTaskOrganizer taskOrganizer, @ShellMainThread ShellExecutor mainExecutor) { return Optional.ofNullable(new TaskSurfaceHelperController(taskOrganizer, mainExecutor)); } // // Pip (optional feature) // Loading
libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellModule.java +2 −1 Original line number Diff line number Diff line Loading @@ -225,6 +225,7 @@ public abstract class WMShellModule { @Provides @DynamicOverride static SplitScreenController provideSplitScreenController( ShellController shellController, ShellTaskOrganizer shellTaskOrganizer, SyncTransactionQueue syncQueue, Context context, RootTaskDisplayAreaOrganizer rootTaskDisplayAreaOrganizer, Loading @@ -234,7 +235,7 @@ public abstract class WMShellModule { DisplayInsetsController displayInsetsController, Transitions transitions, TransactionPool transactionPool, IconProvider iconProvider, Optional<RecentTasksController> recentTasks) { return new SplitScreenController(shellTaskOrganizer, syncQueue, context, return new SplitScreenController(shellController, shellTaskOrganizer, syncQueue, context, rootTaskDisplayAreaOrganizer, mainExecutor, displayController, displayImeController, displayInsetsController, transitions, transactionPool, iconProvider, recentTasks); Loading
libs/WindowManager/Shell/src/com/android/wm/shell/draganddrop/DragAndDrop.javadeleted 100644 → 0 +0 −26 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.wm.shell.draganddrop; import com.android.wm.shell.common.annotations.ExternalThread; /** * Interface for telling DragAndDrop stuff. */ @ExternalThread public interface DragAndDrop { }