diff options
| author | 2018-11-08 18:15:46 +0800 | |
|---|---|---|
| committer | 2018-11-08 18:29:42 +0800 | |
| commit | 0a1b32245edcacc77ed38f639f90a0c0fb7d4fbe (patch) | |
| tree | b368aba8f12aed6c428aa940e062c8139c7f5efc | |
| parent | 3cbf07268f0ea3f70779a31af61870fea867e4d4 (diff) | |
SystemServer: Support deviceSpecificAudioService for ARC
Load device specific audio service for needed devices.
Bug: 119241152
Test: Apply full topic to test Arc audio functionality
Change-Id: Ibc1a7844faf5a6e54acc3342cf603023ada74b92
| -rw-r--r-- | services/java/com/android/server/SystemServer.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 43190ac40a31..698623b49ec7 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -816,6 +816,9 @@ public final class SystemServer { boolean isWatch = context.getPackageManager().hasSystemFeature( PackageManager.FEATURE_WATCH); + boolean isArc = context.getPackageManager().hasSystemFeature( + "org.chromium.arc"); + boolean enableVrService = context.getPackageManager().hasSystemFeature( PackageManager.FEATURE_VR_MODE_HIGH_PERFORMANCE); @@ -1338,7 +1341,17 @@ public final class SystemServer { } traceBeginAndSlog("StartAudioService"); - mSystemServiceManager.startService(AudioService.Lifecycle.class); + if (!isArc) { + mSystemServiceManager.startService(AudioService.Lifecycle.class); + } else { + String className = context.getResources() + .getString(R.string.config_deviceSpecificAudioService); + try { + mSystemServiceManager.startService(className + "$Lifecycle"); + } catch (Throwable e) { + reportWtf("starting " + className, e); + } + } traceEnd(); if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_BROADCAST_RADIO)) { |