summaryrefslogtreecommitdiff
path: root/services/java/com
diff options
context:
space:
mode:
authorJosh Yang <yzj@google.com>2022-01-11 21:28:09 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-01-11 21:28:09 +0000
commita14bbf57aaaa10ad8aed07bf240eb08dc9ab76a2 (patch)
treef11c5882fd3a83012960040105c9b7e387df33d9 /services/java/com
parent06aea330788618845cd31e3c41d0e9e7c6a6e79c (diff)
parent759a6d44db0009863dcae4a78f7c05db8bc19858 (diff)
Merge "SystemServer: add Telephony guards"
Diffstat (limited to 'services/java/com')
-rw-r--r--services/java/com/android/server/SystemServer.java41
1 files changed, 23 insertions, 18 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index e0b8672a0ac0..fe5c358bc5c1 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -1454,13 +1454,18 @@ public final class SystemServer implements Dumpable {
ServiceManager.addService("scheduling_policy", new SchedulingPolicyService());
t.traceEnd();
- t.traceBegin("StartTelecomLoaderService");
- mSystemServiceManager.startService(TelecomLoaderService.class);
- t.traceEnd();
+ // TelecomLoader hooks into classes with defined HFP logic,
+ // so check for either telephony or microphone.
+ if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_MICROPHONE) ||
+ mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
+ t.traceBegin("StartTelecomLoaderService");
+ mSystemServiceManager.startService(TelecomLoaderService.class);
+ t.traceEnd();
+ }
t.traceBegin("StartTelephonyRegistry");
telephonyRegistry = new TelephonyRegistry(
- context, new TelephonyRegistry.ConfigurationProvider());
+ context, new TelephonyRegistry.ConfigurationProvider());
ServiceManager.addService("telephony.registry", telephonyRegistry);
t.traceEnd();
@@ -2566,10 +2571,12 @@ public final class SystemServer implements Dumpable {
mActivityManagerService.enterSafeMode();
}
- // MMS service broker
- t.traceBegin("StartMmsService");
- mmsService = mSystemServiceManager.startService(MmsServiceBroker.class);
- t.traceEnd();
+ if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
+ // MMS service broker
+ t.traceBegin("StartMmsService");
+ mmsService = mSystemServiceManager.startService(MmsServiceBroker.class);
+ t.traceEnd();
+ }
if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_AUTOFILL)) {
t.traceBegin("StartAutoFillService");
@@ -2985,9 +2992,7 @@ public final class SystemServer implements Dumpable {
t.traceEnd();
t.traceBegin("MakeTelephonyRegistryReady");
try {
- if (telephonyRegistryF != null) {
- telephonyRegistryF.systemRunning();
- }
+ if (telephonyRegistryF != null) telephonyRegistryF.systemRunning();
} catch (Throwable e) {
reportWtf("Notifying TelephonyRegistry running", e);
}
@@ -3001,15 +3006,15 @@ public final class SystemServer implements Dumpable {
reportWtf("Notifying MediaRouterService running", e);
}
t.traceEnd();
- t.traceBegin("MakeMmsServiceReady");
- try {
- if (mmsServiceF != null) {
- mmsServiceF.systemRunning();
+ if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) {
+ t.traceBegin("MakeMmsServiceReady");
+ try {
+ if (mmsServiceF != null) mmsServiceF.systemRunning();
+ } catch (Throwable e) {
+ reportWtf("Notifying MmsService running", e);
}
- } catch (Throwable e) {
- reportWtf("Notifying MmsService running", e);
+ t.traceEnd();
}
- t.traceEnd();
t.traceBegin("IncidentDaemonReady");
try {