diff options
| author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-08-15 07:36:07 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-08-15 07:36:07 +0000 |
| commit | 29569b5114dff66abc94b65774f9dec3f52333e4 (patch) | |
| tree | 857c4734409215961f35d8318d786ff1add96577 /services/java/com/android/server/SystemServer.java | |
| parent | 69172522899789612dcfe324cc9f22af7a4fc037 (diff) | |
| parent | 83e8f2464ffb20803cc88a472a990902f47e5172 (diff) | |
Merge "Revert "Revert "Don't start intelligence services that are not provided by the OEM."""
Diffstat (limited to 'services/java/com/android/server/SystemServer.java')
| -rw-r--r-- | services/java/com/android/server/SystemServer.java | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 4ba75a60e4ab..ed900b15e8d8 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -25,6 +25,7 @@ import static android.view.Display.DEFAULT_DISPLAY; import static com.android.server.utils.TimingsTraceAndSlog.SYSTEM_SERVER_TIMING_TAG; import android.annotation.NonNull; +import android.annotation.StringRes; import android.app.ActivityThread; import android.app.INotificationManager; import android.app.usage.UsageStatsManagerInternal; @@ -1267,14 +1268,22 @@ public final class SystemServer { startSystemCaptionsManagerService(context, t); // App prediction manager service - t.traceBegin("StartAppPredictionService"); - mSystemServiceManager.startService(APP_PREDICTION_MANAGER_SERVICE_CLASS); - t.traceEnd(); + if (deviceHasConfigString(context, R.string.config_defaultAppPredictionService)) { + t.traceBegin("StartAppPredictionService"); + mSystemServiceManager.startService(APP_PREDICTION_MANAGER_SERVICE_CLASS); + t.traceEnd(); + } else { + Slog.d(TAG, "AppPredictionService not defined by OEM"); + } // Content suggestions manager service - t.traceBegin("StartContentSuggestionsService"); - mSystemServiceManager.startService(CONTENT_SUGGESTIONS_SERVICE_CLASS); - t.traceEnd(); + if (deviceHasConfigString(context, R.string.config_defaultContentSuggestionsService)) { + t.traceBegin("StartContentSuggestionsService"); + mSystemServiceManager.startService(CONTENT_SUGGESTIONS_SERVICE_CLASS); + t.traceEnd(); + } else { + Slog.d(TAG, "ContentSuggestionsService not defined by OEM"); + } t.traceBegin("InitConnectivityModuleConnector"); try { @@ -2242,11 +2251,14 @@ public final class SystemServer { t.traceEnd(); // startOtherServices } + private boolean deviceHasConfigString(@NonNull Context context, @StringRes int resId) { + String serviceName = context.getString(resId); + return !TextUtils.isEmpty(serviceName); + } + private void startSystemCaptionsManagerService(@NonNull Context context, @NonNull TimingsTraceAndSlog t) { - String serviceName = context.getString( - com.android.internal.R.string.config_defaultSystemCaptionsManagerService); - if (TextUtils.isEmpty(serviceName)) { + if (!deviceHasConfigString(context, R.string.config_defaultSystemCaptionsManagerService)) { Slog.d(TAG, "SystemCaptionsManagerService disabled because resource is not overlaid"); return; } @@ -2274,9 +2286,7 @@ public final class SystemServer { // Then check if OEM overlaid the resource that defines the service. if (!explicitlyEnabled) { - final String serviceName = context - .getString(com.android.internal.R.string.config_defaultContentCaptureService); - if (TextUtils.isEmpty(serviceName)) { + if (!deviceHasConfigString(context, R.string.config_defaultContentCaptureService)) { Slog.d(TAG, "ContentCaptureService disabled because resource is not overlaid"); return; } |
