summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorSteve Elliott <steell@google.com>2018-10-16 21:05:23 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-10-16 21:05:23 +0000
commit5269abcf95448bad9d96fe7b61e3dface2ee8f3b (patch)
tree678fa20e80ba5b0cad101e920e372760262da93d /core/java
parentcfc152af9cbfc47ed4c8ab8a8b6e9ee4214206ea (diff)
parent433c83dc81ba86e6517c1c695cb350f067b19a74 (diff)
Merge "Add configurable default setting for assistant componentname"
Diffstat (limited to 'core/java')
-rw-r--r--core/java/com/android/internal/app/AssistUtils.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/core/java/com/android/internal/app/AssistUtils.java b/core/java/com/android/internal/app/AssistUtils.java
index 0f8295ac5868..7c371cb18878 100644
--- a/core/java/com/android/internal/app/AssistUtils.java
+++ b/core/java/com/android/internal/app/AssistUtils.java
@@ -31,6 +31,8 @@ import android.os.ServiceManager;
import android.provider.Settings;
import android.util.Log;
+import com.android.internal.R;
+
import java.util.ArrayList;
import java.util.Set;
@@ -42,6 +44,14 @@ public class AssistUtils {
private static final String TAG = "AssistUtils";
+ /**
+ * Sentinel value for "no default assistant specified."
+ *
+ * Empty string is already used to represent an explicit setting of No Assistant. null cannot
+ * be used because we can't represent a null value in XML.
+ */
+ private static final String UNSET = "#+UNSET";
+
private final Context mContext;
private final IVoiceInteractionManagerService mVoiceInteractionManagerService;
@@ -178,10 +188,21 @@ public class AssistUtils {
return ComponentName.unflattenFromString(setting);
}
+ final String defaultSetting = mContext.getResources().getString(
+ R.string.config_defaultAssistantComponentName);
+ if (defaultSetting != null && !defaultSetting.equals(UNSET)) {
+ return ComponentName.unflattenFromString(defaultSetting);
+ }
+
// Fallback to keep backward compatible behavior when there is no user setting.
if (activeServiceSupportsAssistGesture()) {
return getActiveServiceComponentName();
}
+
+ if (UNSET.equals(defaultSetting)) {
+ return null;
+ }
+
final SearchManager searchManager =
(SearchManager) mContext.getSystemService(Context.SEARCH_SERVICE);
if (searchManager == null) {