Merge "Fix issue #65055576: VoiceInteractionManagerService sets..." into oc-mr1-dev
am: 9d484f015f
Change-Id: Ib88378916ae9ffbe41253ac0e6dc5e9c8229e700
This commit is contained in:
@@ -1331,11 +1331,13 @@ public final class SystemServer {
|
||||
traceEnd();
|
||||
}
|
||||
|
||||
if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_VOICE_RECOGNIZERS)) {
|
||||
traceBeginAndSlog("StartVoiceRecognitionManager");
|
||||
mSystemServiceManager.startService(VOICE_RECOGNITION_MANAGER_SERVICE_CLASS);
|
||||
traceEnd();
|
||||
}
|
||||
// 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");
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user