summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Winson Chung <winsonc@google.com> 2022-09-29 00:25:36 +0000
committer Winson Chung <winsonc@google.com> 2022-09-29 20:36:26 +0000
commit2da6ee0d2784a7b0a8c7b40c024c654de29aaef2 (patch)
treef5392c5490edfba9d1332aada575f5f76e0db9d3
parent5c4704b781a1236588fcf719d9918cf85b29ff7a (diff)
Add config for registering shell task organizer
- This should be temporary until we resolve b/238217847 to not initialize base WM components unless requested to do so Bug: 238217847 Test: Manual Change-Id: I205a8e457f12924f797a5cd1a34e499e7efe5a04
-rw-r--r--libs/WindowManager/Shell/res/values/config.xml4
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/dagger/WMShellBaseModule.java6
2 files changed, 10 insertions, 0 deletions
diff --git a/libs/WindowManager/Shell/res/values/config.xml b/libs/WindowManager/Shell/res/values/config.xml
index f03b7f66cdc8..30c3d50ed8ad 100644
--- a/libs/WindowManager/Shell/res/values/config.xml
+++ b/libs/WindowManager/Shell/res/values/config.xml
@@ -19,6 +19,10 @@
by the resources of the app using the Shell library. -->
<bool name="config_enableShellMainThread">false</bool>
+ <!-- Determines whether to register the shell task organizer on init.
+ TODO(b/238217847): This config is temporary until we refactor the base WMComponent. -->
+ <bool name="config_registerShellTaskOrganizerOnInit">true</bool>
+
<!-- Animation duration for PIP when entering. -->
<integer name="config_pipEnterAnimationDuration">425</integer>
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 f4dda4cc461a..ed7082332504 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
@@ -29,6 +29,7 @@ import android.view.WindowManager;
import com.android.internal.logging.UiEventLogger;
import com.android.launcher3.icons.IconProvider;
import com.android.wm.shell.ProtoLogController;
+import com.android.wm.shell.R;
import com.android.wm.shell.RootDisplayAreaOrganizer;
import com.android.wm.shell.RootTaskDisplayAreaOrganizer;
import com.android.wm.shell.ShellTaskOrganizer;
@@ -173,6 +174,7 @@ public abstract class WMShellBaseModule {
@WMSingleton
@Provides
static ShellTaskOrganizer provideShellTaskOrganizer(
+ Context context,
ShellInit shellInit,
ShellCommandHandler shellCommandHandler,
CompatUIController compatUI,
@@ -180,6 +182,10 @@ public abstract class WMShellBaseModule {
Optional<RecentTasksController> recentTasksOptional,
@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);
}