diff options
| -rw-r--r-- | libs/WindowManager/Shell/res/values/config.xml | 3 | ||||
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java | 51 |
2 files changed, 40 insertions, 14 deletions
diff --git a/libs/WindowManager/Shell/res/values/config.xml b/libs/WindowManager/Shell/res/values/config.xml index 6a6f2b02766d..e4abae48c8fd 100644 --- a/libs/WindowManager/Shell/res/values/config.xml +++ b/libs/WindowManager/Shell/res/values/config.xml @@ -141,4 +141,7 @@ window. If false, the splash screen will be a solid color splash screen whenever the app has not provided a windowSplashScreenAnimatedIcon. --> <bool name="config_canUseAppIconForSplashScreen">true</bool> + + <!-- Whether CompatUIController is enabled --> + <bool name="config_enableCompatUIController">true</bool> </resources> diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java index 54cf84c32276..27dc870e81ae 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java @@ -221,34 +221,57 @@ public abstract class WMShellBaseModule { Context context, ShellInit shellInit, ShellCommandHandler shellCommandHandler, - CompatUIController compatUI, + Optional<CompatUIController> compatUI, Optional<UnfoldAnimationController> unfoldAnimationController, Optional<RecentTasksController> recentTasksOptional, - @ShellMainThread ShellExecutor mainExecutor - ) { + @ShellMainThread ShellExecutor mainExecutor) { if (!context.getResources().getBoolean(R.bool.config_registerShellTaskOrganizerOnInit)) { // TODO(b/238217847): Force override shell init if registration is disabled shellInit = new ShellInit(mainExecutor); } - return new ShellTaskOrganizer(shellInit, shellCommandHandler, compatUI, - unfoldAnimationController, recentTasksOptional, mainExecutor); + return new ShellTaskOrganizer( + shellInit, + shellCommandHandler, + compatUI.orElse(null), + unfoldAnimationController, + recentTasksOptional, + mainExecutor); } @WMSingleton @Provides - static CompatUIController provideCompatUIController(Context context, + static Optional<CompatUIController> provideCompatUIController( + Context context, ShellInit shellInit, ShellController shellController, - DisplayController displayController, DisplayInsetsController displayInsetsController, - DisplayImeController imeController, SyncTransactionQueue syncQueue, - @ShellMainThread ShellExecutor mainExecutor, Lazy<Transitions> transitionsLazy, - DockStateReader dockStateReader, CompatUIConfiguration compatUIConfiguration, + DisplayController displayController, + DisplayInsetsController displayInsetsController, + DisplayImeController imeController, + SyncTransactionQueue syncQueue, + @ShellMainThread ShellExecutor mainExecutor, + Lazy<Transitions> transitionsLazy, + DockStateReader dockStateReader, + CompatUIConfiguration compatUIConfiguration, CompatUIShellCommandHandler compatUIShellCommandHandler, AccessibilityManager accessibilityManager) { - return new CompatUIController(context, shellInit, shellController, displayController, - displayInsetsController, imeController, syncQueue, mainExecutor, transitionsLazy, - dockStateReader, compatUIConfiguration, compatUIShellCommandHandler, - accessibilityManager); + if (!context.getResources().getBoolean(R.bool.config_enableCompatUIController)) { + return Optional.empty(); + } + return Optional.of( + new CompatUIController( + context, + shellInit, + shellController, + displayController, + displayInsetsController, + imeController, + syncQueue, + mainExecutor, + transitionsLazy, + dockStateReader, + compatUIConfiguration, + compatUIShellCommandHandler, + accessibilityManager)); } @WMSingleton |