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

Commit 9d484f01 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix issue #65055576: VoiceInteractionManagerService sets..." into oc-mr1-dev

parents f19edfda 31cb01d5
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -1331,11 +1331,13 @@ public final class SystemServer {
                    traceEnd();
                }

                if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_VOICE_RECOGNIZERS)) {
                // We need to always start this service, regardless of whether the
                // FEATURE_VOICE_RECOGNIZERS feature is set, because it needs to take care
                // of initializing various settings.  It will internally modify its behavior
                // based on that feature.
                traceBeginAndSlog("StartVoiceRecognitionManager");
                mSystemServiceManager.startService(VOICE_RECOGNITION_MANAGER_SERVICE_CLASS);
                traceEnd();
                }

                if (GestureLauncherService.isGestureLauncherEnabled(context.getResources())) {
                    traceBeginAndSlog("StartGestureLauncher");
+10 −5
Original line number Diff line number Diff line
@@ -183,7 +183,7 @@ public class VoiceInteractionManagerService extends SystemService {
        private final boolean mEnableService;

        VoiceInteractionManagerServiceStub() {
            mEnableService = shouldEnableService(mContext.getResources());
            mEnableService = shouldEnableService(mContext);
        }

        // TODO: VI Make sure the caller is the current user or profile
@@ -348,10 +348,15 @@ public class VoiceInteractionManagerService extends SystemService {
            }
        }

        private boolean shouldEnableService(Resources res) {
            // VoiceInteractionService should not be enabled on low ram devices unless it has the config flag.
            return !ActivityManager.isLowRamDeviceStatic() ||
                    getForceVoiceInteractionServicePackage(res) != null;
        private boolean shouldEnableService(Context context) {
            // VoiceInteractionService should not be enabled on any low RAM devices
            // or devices that have not declared the recognition feature, unless the
            // device's configuration has explicitly set the config flag for a fixed
            // voice interaction service.
            return (!ActivityManager.isLowRamDeviceStatic()
                            && context.getPackageManager().hasSystemFeature(
                                    PackageManager.FEATURE_VOICE_RECOGNIZERS)) ||
                    getForceVoiceInteractionServicePackage(context.getResources()) != null;
        }

        private String getForceVoiceInteractionServicePackage(Resources res) {