Merge "Fix issue #30929080: Default Assist app is set to None..." into nyc-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d6ece3e175
@@ -535,6 +535,18 @@ public class VoiceInteractionManagerService extends SystemService {
|
|||||||
+ " user=" + userHandle);
|
+ " user=" + userHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ComponentName getCurAssistant(int userHandle) {
|
||||||
|
String curAssistant = Settings.Secure.getStringForUser(
|
||||||
|
mContext.getContentResolver(),
|
||||||
|
Settings.Secure.ASSISTANT, userHandle);
|
||||||
|
if (TextUtils.isEmpty(curAssistant)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (DEBUG) Slog.d(TAG, "getCurAssistant curAssistant=" + curAssistant
|
||||||
|
+ " user=" + userHandle);
|
||||||
|
return ComponentName.unflattenFromString(curAssistant);
|
||||||
|
}
|
||||||
|
|
||||||
void resetCurAssistant(int userHandle) {
|
void resetCurAssistant(int userHandle) {
|
||||||
Settings.Secure.putStringForUser(mContext.getContentResolver(),
|
Settings.Secure.putStringForUser(mContext.getContentResolver(),
|
||||||
Settings.Secure.ASSISTANT, null, userHandle);
|
Settings.Secure.ASSISTANT, null, userHandle);
|
||||||
@@ -1178,6 +1190,7 @@ public class VoiceInteractionManagerService extends SystemService {
|
|||||||
synchronized (VoiceInteractionManagerServiceStub.this) {
|
synchronized (VoiceInteractionManagerServiceStub.this) {
|
||||||
ComponentName curInteractor = getCurInteractor(userHandle);
|
ComponentName curInteractor = getCurInteractor(userHandle);
|
||||||
ComponentName curRecognizer = getCurRecognizer(userHandle);
|
ComponentName curRecognizer = getCurRecognizer(userHandle);
|
||||||
|
ComponentName curAssistant = getCurAssistant(userHandle);
|
||||||
if (curRecognizer == null) {
|
if (curRecognizer == null) {
|
||||||
// Could a new recognizer appear when we don't have one pre-installed?
|
// Could a new recognizer appear when we don't have one pre-installed?
|
||||||
if (anyPackagesAppearing()) {
|
if (anyPackagesAppearing()) {
|
||||||
@@ -1196,6 +1209,7 @@ public class VoiceInteractionManagerService extends SystemService {
|
|||||||
// the default config.
|
// the default config.
|
||||||
setCurInteractor(null, userHandle);
|
setCurInteractor(null, userHandle);
|
||||||
setCurRecognizer(null, userHandle);
|
setCurRecognizer(null, userHandle);
|
||||||
|
resetCurAssistant(userHandle);
|
||||||
initForUser(userHandle);
|
initForUser(userHandle);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1212,6 +1226,20 @@ public class VoiceInteractionManagerService extends SystemService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (curAssistant != null) {
|
||||||
|
int change = isPackageDisappearing(curAssistant.getPackageName());
|
||||||
|
if (change == PACKAGE_PERMANENT_CHANGE) {
|
||||||
|
// If the currently set assistant is being removed, then we should
|
||||||
|
// reset back to the default state (which is probably that we prefer
|
||||||
|
// to have the default full voice interactor enabled).
|
||||||
|
setCurInteractor(null, userHandle);
|
||||||
|
setCurRecognizer(null, userHandle);
|
||||||
|
resetCurAssistant(userHandle);
|
||||||
|
initForUser(userHandle);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// There is no interactor, so just deal with a simple recognizer.
|
// There is no interactor, so just deal with a simple recognizer.
|
||||||
int change = isPackageDisappearing(curRecognizer.getPackageName());
|
int change = isPackageDisappearing(curRecognizer.getPackageName());
|
||||||
if (change == PACKAGE_PERMANENT_CHANGE
|
if (change == PACKAGE_PERMANENT_CHANGE
|
||||||
|
|||||||
Reference in New Issue
Block a user