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

Commit 83e8f246 authored by Felipe Leme's avatar Felipe Leme
Browse files

Revert "Revert "Don't start intelligence services that are not provided by the OEM.""

This reverts commit b897b173.

Reason for revert: real fix on Iea89b3d379792327657e01869c9494975e7b0306

Bug: 139416391
Bug: 135218095
Change-Id: Ib8f97ca460ccea90d2b674e83cbda2a62be2538e
Test: none
parent b897b173
Loading
Loading
Loading
Loading
+22 −12
Original line number Diff line number Diff line
@@ -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;
@@ -1265,14 +1266,22 @@ public final class SystemServer {
            startSystemCaptionsManagerService(context, t);

            // App prediction manager service
            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
            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("InitNetworkStackClient");
            try {
@@ -2257,11 +2266,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;
        }
@@ -2289,9 +2301,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;
            }