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

Commit b27cd42b authored by Felipe Leme's avatar Felipe Leme Committed by android-build-merger
Browse files

Merge "Don't start intelligence services that are not provided by the OEM." into qt-qpr1-dev

am: 4e807089

Change-Id: Iba93086430c52c23828d0899b1440b1724e14d81
parents 2f382ec5 4e807089
Loading
Loading
Loading
Loading
+22 −12
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import static android.os.IServiceManager.DUMP_FLAG_PROTO;
import static android.view.Display.DEFAULT_DISPLAY;

import android.annotation.NonNull;
import android.annotation.StringRes;
import android.app.ActivityThread;
import android.app.INotificationManager;
import android.app.usage.UsageStatsManagerInternal;
@@ -1257,14 +1258,22 @@ public final class SystemServer {
            startSystemCaptionsManagerService(context);

            // App prediction manager service
            if (deviceHasConfigString(context, R.string.config_defaultAppPredictionService)) {
                traceBeginAndSlog("StartAppPredictionService");
                mSystemServiceManager.startService(APP_PREDICTION_MANAGER_SERVICE_CLASS);
                traceEnd();
            } else {
                Slog.d(TAG, "AppPredictionService not defined by OEM");
            }

            // Content suggestions manager service
            if (deviceHasConfigString(context, R.string.config_defaultContentSuggestionsService)) {
                traceBeginAndSlog("StartContentSuggestionsService");
                mSystemServiceManager.startService(CONTENT_SUGGESTIONS_SERVICE_CLASS);
                traceEnd();
            } else {
                Slog.d(TAG, "ContentSuggestionsService not defined by OEM");
            }

            traceBeginAndSlog("InitNetworkStackClient");
            try {
@@ -2247,10 +2256,13 @@ public final class SystemServer {
        }, BOOT_TIMINGS_TRACE_LOG);
    }

    private boolean deviceHasConfigString(@NonNull Context context, @StringRes int resId) {
        String serviceName = context.getString(resId);
        return !TextUtils.isEmpty(serviceName);
    }

    private void startSystemCaptionsManagerService(@NonNull Context context) {
        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;
        }
@@ -2277,9 +2289,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;
            }