summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author paulhsia <paulhsia@google.com> 2018-11-08 18:15:46 +0800
committer paulhsia <paulhsia@google.com> 2018-11-08 18:29:42 +0800
commit0a1b32245edcacc77ed38f639f90a0c0fb7d4fbe (patch)
treeb368aba8f12aed6c428aa940e062c8139c7f5efc
parent3cbf07268f0ea3f70779a31af61870fea867e4d4 (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.java15
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)) {