Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bc0bb0da authored by Antonio Kantek's avatar Antonio Kantek Committed by Yuncheol Heo
Browse files

Add config for device specific IMMS

Bug: 245798405
Test: m
Change-Id: I337e2804871ce66553306696d6819b21e3307081
parent e1309aad
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -4406,6 +4406,10 @@
        or empty if the default should be used. -->
    <string translatable="false" name="config_deviceSpecificDeviceStatePolicyProvider"></string>

    <!-- Class name of the device specific implementation of InputMethodManagerService
        or empty if the default should be used. -->
    <string translatable="false" name="config_deviceSpecificInputMethodManagerService"></string>

    <!-- Component name of media projection permission dialog -->
    <string name="config_mediaProjectionPermissionDialogComponent" translatable="false">com.android.systemui/com.android.systemui.media.MediaProjectionPermissionActivity</string>

+1 −0
Original line number Diff line number Diff line
@@ -483,6 +483,7 @@
  <java-symbol type="array" name="config_deviceSpecificSystemServices" />
  <java-symbol type="string" name="config_deviceSpecificDevicePolicyManagerService" />
  <java-symbol type="string" name="config_deviceSpecificAudioService" />
  <java-symbol type="string" name="config_deviceSpecificInputMethodManagerService" />
  <java-symbol type="integer" name="config_num_physical_slots" />
  <java-symbol type="integer" name="config_default_cellular_usage_setting" />
  <java-symbol type="array" name="config_supported_cellular_usage_settings" />
+12 −1
Original line number Diff line number Diff line
@@ -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");
            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");