From bc0bb0da46a883d4ca53058aaebb308faa7623aa Mon Sep 17 00:00:00 2001 From: Antonio Kantek Date: Thu, 8 Sep 2022 21:23:05 +0000 Subject: [PATCH] Add config for device specific IMMS Bug: 245798405 Test: m Change-Id: I337e2804871ce66553306696d6819b21e3307081 --- core/res/res/values/config.xml | 4 ++++ core/res/res/values/symbols.xml | 1 + services/java/com/android/server/SystemServer.java | 13 ++++++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index fcf38c5f78b13..c25aa206187cd 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -4406,6 +4406,10 @@ or empty if the default should be used. --> + + + com.android.systemui/com.android.systemui.media.MediaProjectionPermissionActivity diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 7b6284196bfd5..13804f794fd9c 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -483,6 +483,7 @@ + diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 88c0ec6d9c954..fe2d0be0fe36c 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -1665,7 +1665,18 @@ public final class SystemServer implements Dumpable { // Bring up services needed for UI. if (mFactoryTestMode != FactoryTest.FACTORY_TEST_LOW_LEVEL) { t.traceBegin("StartInputMethodManagerLifecycle"); - mSystemServiceManager.startService(InputMethodManagerService.Lifecycle.class); + String immsClassName = context.getResources().getString( + R.string.config_deviceSpecificInputMethodManagerService); + if (immsClassName.isEmpty()) { + mSystemServiceManager.startService(InputMethodManagerService.Lifecycle.class); + } else { + try { + Slog.i(TAG, "Starting custom IMMS: " + immsClassName); + mSystemServiceManager.startService(immsClassName); + } catch (Throwable e) { + reportWtf("starting " + immsClassName, e); + } + } t.traceEnd(); t.traceBegin("StartAccessibilityManagerService");