diff options
| author | Steve Elliott <steell@google.com> | 2018-10-16 21:05:23 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-10-16 21:05:23 +0000 |
| commit | 5269abcf95448bad9d96fe7b61e3dface2ee8f3b (patch) | |
| tree | 678fa20e80ba5b0cad101e920e372760262da93d /core/java | |
| parent | cfc152af9cbfc47ed4c8ab8a8b6e9ee4214206ea (diff) | |
| parent | 433c83dc81ba86e6517c1c695cb350f067b19a74 (diff) | |
Merge "Add configurable default setting for assistant componentname"
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/com/android/internal/app/AssistUtils.java | 21 |
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) { |
