From 45308b1b3b1582d048845df2ee5301241e52a5cf Mon Sep 17 00:00:00 2001 From: Jim Miller Date: Mon, 18 Jun 2012 19:23:39 -0700 Subject: [PATCH] Fix 6667238: allow market apps to support ACTION_ASSIST This change allows market apps and 3rd parties to supply an activity that responds to ACTION_ASSIST (e.g. market apps). It also adds a test app to respond to the ASSIST intent and force the intent disambiguation dialog to appear. Change-Id: I5a78863c6a9546d18c66275187d178f6a1c9ee17 --- core/java/android/app/SearchManager.java | 26 +++------ .../widget/multiwaveview/GlowPadView.java | 42 ++++++++------ .../com/android/systemui/SearchPanelView.java | 42 ++++++-------- .../internal/policy/impl/LockScreen.java | 54 +++++------------- .../policy/impl/PhoneWindowManager.java | 24 ++++---- tests/Assistant/Android.mk | 11 ++++ tests/Assistant/AndroidManifest.xml | 39 +++++++++++++ .../ic_action_assist_activated.png | Bin 0 -> 13757 bytes .../drawable-hdpi/ic_action_assist_normal.png | Bin 0 -> 5732 bytes .../ic_action_assist_activated.png | Bin 0 -> 8786 bytes .../drawable-mdpi/ic_action_assist_normal.png | Bin 0 -> 4480 bytes .../ic_action_assist_activated.png | Bin 0 -> 19647 bytes .../ic_action_assist_normal.png | Bin 0 -> 7327 bytes .../res/drawable/ic_action_assist.xml | 36 ++++++++++++ .../res/layout/assist_intent_activity.xml | 43 ++++++++++++++ tests/Assistant/res/values/strings.xml | 20 +++++++ .../test/assistant/AssistActivity.java | 31 ++++++++++ 17 files changed, 253 insertions(+), 115 deletions(-) create mode 100644 tests/Assistant/Android.mk create mode 100644 tests/Assistant/AndroidManifest.xml create mode 100644 tests/Assistant/res/drawable-hdpi/ic_action_assist_activated.png create mode 100644 tests/Assistant/res/drawable-hdpi/ic_action_assist_normal.png create mode 100644 tests/Assistant/res/drawable-mdpi/ic_action_assist_activated.png create mode 100644 tests/Assistant/res/drawable-mdpi/ic_action_assist_normal.png create mode 100644 tests/Assistant/res/drawable-xhdpi/ic_action_assist_activated.png create mode 100644 tests/Assistant/res/drawable-xhdpi/ic_action_assist_normal.png create mode 100644 tests/Assistant/res/drawable/ic_action_assist.xml create mode 100644 tests/Assistant/res/layout/assist_intent_activity.xml create mode 100644 tests/Assistant/res/values/strings.xml create mode 100644 tests/Assistant/src/com/google/android/test/assistant/AssistActivity.java diff --git a/core/java/android/app/SearchManager.java b/core/java/android/app/SearchManager.java index e8bd54645da67..d1d51310d6f8e 100644 --- a/core/java/android/app/SearchManager.java +++ b/core/java/android/app/SearchManager.java @@ -840,29 +840,17 @@ public class SearchManager } /** - * Returns true if the global assist activity is available. - * @return True if the assistant is available. - * - * @hide - */ - public final boolean isAssistantAvailable() { - Intent intent = getAssistIntent(); - return intent != null - && mContext.getPackageManager().queryIntentActivities(intent, - PackageManager.MATCH_DEFAULT_ONLY).size() > 0; - } - - /** - * Gets an intent to launch the global assist activity, or null if not available. + * Gets an intent for launching installed assistant activity, or null if not available. * @return The assist intent. * * @hide */ - public final Intent getAssistIntent() { - ComponentName globalSearchActivity = getGlobalSearchActivity(); - if (globalSearchActivity != null) { - Intent intent = new Intent(Intent.ACTION_ASSIST); - intent.setPackage(globalSearchActivity.getPackageName()); + public static final Intent getAssistIntent(Context context) { + PackageManager pm = context.getPackageManager(); + Intent intent = new Intent(Intent.ACTION_ASSIST); + ComponentName component = intent.resolveActivity(pm); + if (component != null) { + intent.setComponent(component); return intent; } return null; diff --git a/core/java/com/android/internal/widget/multiwaveview/GlowPadView.java b/core/java/com/android/internal/widget/multiwaveview/GlowPadView.java index adea586429743..fc448782d7ab5 100644 --- a/core/java/com/android/internal/widget/multiwaveview/GlowPadView.java +++ b/core/java/com/android/internal/widget/multiwaveview/GlowPadView.java @@ -29,7 +29,6 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Canvas; -import android.graphics.RectF; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Vibrator; @@ -1209,25 +1208,32 @@ public class GlowPadView extends View { int existingResId) { if (existingResId == 0) return false; - try { - PackageManager packageManager = mContext.getPackageManager(); - // Look for the search icon specified in the activity meta-data - Bundle metaData = packageManager.getActivityInfo( - component, PackageManager.GET_META_DATA).metaData; - if (metaData != null) { - int iconResId = metaData.getInt(name); - if (iconResId != 0) { - Resources res = packageManager.getResourcesForActivity(component); - return replaceTargetDrawables(res, existingResId, iconResId); + boolean replaced = false; + if (component != null) { + try { + PackageManager packageManager = mContext.getPackageManager(); + // Look for the search icon specified in the activity meta-data + Bundle metaData = packageManager.getActivityInfo( + component, PackageManager.GET_META_DATA).metaData; + if (metaData != null) { + int iconResId = metaData.getInt(name); + if (iconResId != 0) { + Resources res = packageManager.getResourcesForActivity(component); + replaced = replaceTargetDrawables(res, existingResId, iconResId); + } } + } catch (NameNotFoundException e) { + Log.w(TAG, "Failed to swap drawable; " + + component.flattenToShortString() + " not found", e); + } catch (Resources.NotFoundException nfe) { + Log.w(TAG, "Failed to swap drawable from " + + component.flattenToShortString(), nfe); } - } catch (NameNotFoundException e) { - Log.w(TAG, "Failed to swap drawable; " - + component.flattenToShortString() + " not found", e); - } catch (Resources.NotFoundException nfe) { - Log.w(TAG, "Failed to swap drawable from " - + component.flattenToShortString(), nfe); } - return false; + if (!replaced) { + // Restore the original drawable + replaceTargetDrawables(mContext.getResources(), existingResId, existingResId); + } + return replaced; } } diff --git a/packages/SystemUI/src/com/android/systemui/SearchPanelView.java b/packages/SystemUI/src/com/android/systemui/SearchPanelView.java index acab41ea3c6ca..475fb6d20214c 100644 --- a/packages/SystemUI/src/com/android/systemui/SearchPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/SearchPanelView.java @@ -53,7 +53,6 @@ public class SearchPanelView extends FrameLayout implements private static final String ASSIST_ICON_METADATA_NAME = "com.android.systemui.action_assist_icon"; private final Context mContext; - private final SearchManager mSearchManager; private BaseStatusBar mBar; private StatusBarTouchProxy mStatusBarTouchProxy; @@ -68,25 +67,13 @@ public class SearchPanelView extends FrameLayout implements public SearchPanelView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); mContext = context; - mSearchManager = (SearchManager) mContext.getSystemService(Context.SEARCH_SERVICE); - if (mSearchManager == null) { - Slog.w(TAG, "Search manager not available"); - } - } - - public boolean isAssistantAvailable() { - return mSearchManager != null && mSearchManager.isAssistantAvailable(); - } - - private Intent getAssistIntent() { - return mSearchManager != null ? mSearchManager.getAssistIntent() : null; } private void startAssistActivity() { // Close Recent Apps if needed mBar.animateCollapse(CommandQueue.FLAG_EXCLUDE_SEARCH_PANEL); // Launch Assist - Intent intent = getAssistIntent(); + Intent intent = SearchManager.getAssistIntent(mContext); if (intent == null) return; try { ActivityOptions opts = ActivityOptions.makeCustomAnimation(mContext, @@ -150,19 +137,17 @@ public class SearchPanelView extends FrameLayout implements // TODO: fetch views mGlowPadView = (GlowPadView) findViewById(R.id.glow_pad_view); mGlowPadView.setOnTriggerListener(mGlowPadViewListener); - if (mSearchManager != null) { - ComponentName component = mSearchManager.getGlobalSearchActivity(); - if (component != null) { - if (!mGlowPadView.replaceTargetDrawablesIfPresent(component, - ASSIST_ICON_METADATA_NAME, - com.android.internal.R.drawable.ic_action_assist_generic)) { - Slog.w(TAG, "Couldn't grab icon from component " + component); - } - } else { - Slog.w(TAG, "No search icon specified in component " + component); + } + + private void maybeSwapSearchIcon() { + Intent intent = SearchManager.getAssistIntent(mContext); + if (intent != null) { + ComponentName component = intent.getComponent(); + if (component == null || !mGlowPadView.replaceTargetDrawablesIfPresent(component, + ASSIST_ICON_METADATA_NAME, + com.android.internal.R.drawable.ic_action_assist_generic)) { + if (DEBUG) Slog.v(TAG, "Couldn't grab icon for component " + component); } - } else { - Slog.w(TAG, "No SearchManager"); } } @@ -210,6 +195,7 @@ public class SearchPanelView extends FrameLayout implements } mShowing = show; if (show) { + maybeSwapSearchIcon(); if (getVisibility() != View.VISIBLE) { setVisibility(View.VISIBLE); // Don't start the animation until we've created the layer, which is done @@ -289,4 +275,8 @@ public class SearchPanelView extends FrameLayout implements transitioner.setAnimator(LayoutTransition.DISAPPEARING, null); return transitioner; } + + public boolean isAssistantAvailable() { + return SearchManager.getAssistIntent(mContext) != null; + } } diff --git a/policy/src/com/android/internal/policy/impl/LockScreen.java b/policy/src/com/android/internal/policy/impl/LockScreen.java index 33dda09986320..ec954fefbb706 100644 --- a/policy/src/com/android/internal/policy/impl/LockScreen.java +++ b/policy/src/com/android/internal/policy/impl/LockScreen.java @@ -83,7 +83,6 @@ class LockScreen extends LinearLayout implements KeyguardScreen { private View mUnlockWidget; private boolean mCameraDisabled; private boolean mSearchDisabled; - private SearchManager mSearchManager; // Is there a vibrator private final boolean mHasVibrator; @@ -253,23 +252,6 @@ class LockScreen extends LinearLayout implements KeyguardScreen { } } - private boolean isAssistantAvailable() { - SearchManager searchManager = getSearchManager(); - return searchManager != null && searchManager.isAssistantAvailable(); - } - - private Intent getAssistIntent() { - SearchManager searchManager = getSearchManager(); - return searchManager != null ? searchManager.getAssistIntent() : null; - } - - private SearchManager getSearchManager() { - if (mSearchManager == null) { - mSearchManager = (SearchManager) mContext.getSystemService(Context.SEARCH_SERVICE); - } - return mSearchManager; - } - class GlowPadViewMethods implements GlowPadView.OnTriggerListener, UnlockWidgetCommonMethods { private final GlowPadView mGlowPadView; @@ -297,27 +279,21 @@ class LockScreen extends LinearLayout implements KeyguardScreen { // Update the search icon with drawable from the search .apk if (!mSearchDisabled) { - SearchManager searchManager = getSearchManager(); - if (searchManager != null) { - ComponentName component = searchManager.getGlobalSearchActivity(); - if (component != null) { - // XXX Hack. We need to substitute the icon here but haven't formalized - // the public API. The "_google" metadata will be going away, so - // DON'T USE IT! - boolean replaced = mGlowPadView.replaceTargetDrawablesIfPresent(component, - ASSIST_ICON_METADATA_NAME + "_google", - com.android.internal.R.drawable.ic_action_assist_generic); + Intent intent = SearchManager.getAssistIntent(mContext); + if (intent != null) { + // XXX Hack. We need to substitute the icon here but haven't formalized + // the public API. The "_google" metadata will be going away, so + // DON'T USE IT! + ComponentName component = intent.getComponent(); + boolean replaced = mGlowPadView.replaceTargetDrawablesIfPresent(component, + ASSIST_ICON_METADATA_NAME + "_google", + com.android.internal.R.drawable.ic_action_assist_generic); - if (!replaced && !mGlowPadView.replaceTargetDrawablesIfPresent(component, - ASSIST_ICON_METADATA_NAME, - com.android.internal.R.drawable.ic_action_assist_generic)) { - Slog.w(TAG, "Couldn't grab icon from package " + component); - } - } else { - Slog.w(TAG, "No search icon specified in package " + component); + if (!replaced && !mGlowPadView.replaceTargetDrawablesIfPresent(component, + ASSIST_ICON_METADATA_NAME, + com.android.internal.R.drawable.ic_action_assist_generic)) { + Slog.w(TAG, "Couldn't grab icon from package " + component); } - } else { - Slog.w(TAG, "No SearchManager"); } } @@ -337,7 +313,7 @@ class LockScreen extends LinearLayout implements KeyguardScreen { final int resId = mGlowPadView.getResourceIdForTarget(target); switch (resId) { case com.android.internal.R.drawable.ic_action_assist_generic: - Intent assistIntent = getAssistIntent(); + Intent assistIntent = SearchManager.getAssistIntent(mContext); if (assistIntent != null) { launchActivity(assistIntent); } else { @@ -550,7 +526,7 @@ class LockScreen extends LinearLayout implements KeyguardScreen { } else if (disabledBySimState) { Log.v(TAG, "Camera disabled by Sim State"); } - boolean searchActionAvailable = isAssistantAvailable(); + boolean searchActionAvailable = SearchManager.getAssistIntent(mContext) != null; mCameraDisabled = disabledByAdmin || disabledBySimState || !cameraTargetPresent; mSearchDisabled = disabledBySimState || !searchActionAvailable || !searchTargetPresent; mUnlockWidgetMethods.updateResources(); diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 35f71ec3865b5..4785abd07c8a5 100755 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -2081,6 +2081,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { Intent intent = new Intent(Intent.ACTION_SEARCH_LONG_PRESS); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); try { + // TODO: This only stops the factory-installed search manager. + // Need to formalize an API to handle others SearchManager searchManager = getSearchManager(); if (searchManager != null) { searchManager.stopSearch(); @@ -2093,19 +2095,15 @@ public class PhoneWindowManager implements WindowManagerPolicy { private void launchAssistAction() { sendCloseSystemWindows(SYSTEM_DIALOG_REASON_ASSIST); - - SearchManager searchManager = getSearchManager(); - if (searchManager != null) { - Intent intent = searchManager.getAssistIntent(); - if (intent != null) { - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK - | Intent.FLAG_ACTIVITY_SINGLE_TOP - | Intent.FLAG_ACTIVITY_CLEAR_TOP); - try { - mContext.startActivity(intent); - } catch (ActivityNotFoundException e) { - Slog.w(TAG, "No activity to handle assist action.", e); - } + Intent intent = SearchManager.getAssistIntent(mContext); + if (intent != null) { + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK + | Intent.FLAG_ACTIVITY_SINGLE_TOP + | Intent.FLAG_ACTIVITY_CLEAR_TOP); + try { + mContext.startActivity(intent); + } catch (ActivityNotFoundException e) { + Slog.w(TAG, "No activity to handle assist action.", e); } } } diff --git a/tests/Assistant/Android.mk b/tests/Assistant/Android.mk new file mode 100644 index 0000000000000..bf8cc29e11e3c --- /dev/null +++ b/tests/Assistant/Android.mk @@ -0,0 +1,11 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_SRC_FILES := $(call all-subdir-java-files) + +LOCAL_PACKAGE_NAME := Assistant + +LOCAL_MODULE_TAGS := tests +LOCAL_CERTIFICATE := platform + +include $(BUILD_PACKAGE) diff --git a/tests/Assistant/AndroidManifest.xml b/tests/Assistant/AndroidManifest.xml new file mode 100644 index 0000000000000..b5d4d51306026 --- /dev/null +++ b/tests/Assistant/AndroidManifest.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/Assistant/res/drawable-hdpi/ic_action_assist_activated.png b/tests/Assistant/res/drawable-hdpi/ic_action_assist_activated.png new file mode 100644 index 0000000000000000000000000000000000000000..cea8ac4e27790a805611c31511bd7ec4be77f6c3 GIT binary patch literal 13757 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 L^i-==Y~KDq(2Ic- literal 0 HcmV?d00001 diff --git a/tests/Assistant/res/drawable-mdpi/ic_action_assist_activated.png b/tests/Assistant/res/drawable-mdpi/ic_action_assist_activated.png new file mode 100644 index 0000000000000000000000000000000000000000..5841d82b22ae6fee7412d8269321e03c894f45f0 GIT binary patch literal 8786 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 IM6N<$f`i2%Q2+n{ literal 0 HcmV?d00001 diff --git a/tests/Assistant/res/drawable-mdpi/ic_action_assist_normal.png b/tests/Assistant/res/drawable-mdpi/ic_action_assist_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..3851f03f84050615a62481a58a489fe9fceb52ce GIT binary patch literal 4480 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 awCji3XJ9%5`@4-0fwqR8deuwYcmD@u_S%jB literal 0 HcmV?d00001 diff --git a/tests/Assistant/res/drawable/ic_action_assist.xml b/tests/Assistant/res/drawable/ic_action_assist.xml new file mode 100644 index 0000000000000..05c4bf5796dc5 --- /dev/null +++ b/tests/Assistant/res/drawable/ic_action_assist.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + diff --git a/tests/Assistant/res/layout/assist_intent_activity.xml b/tests/Assistant/res/layout/assist_intent_activity.xml new file mode 100644 index 0000000000000..49785bc78a263 --- /dev/null +++ b/tests/Assistant/res/layout/assist_intent_activity.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + diff --git a/tests/Assistant/res/values/strings.xml b/tests/Assistant/res/values/strings.xml new file mode 100644 index 0000000000000..a59c1ef74c603 --- /dev/null +++ b/tests/Assistant/res/values/strings.xml @@ -0,0 +1,20 @@ + + + + + Assistant + Orilla Search Engine + diff --git a/tests/Assistant/src/com/google/android/test/assistant/AssistActivity.java b/tests/Assistant/src/com/google/android/test/assistant/AssistActivity.java new file mode 100644 index 0000000000000..51894a15efd7f --- /dev/null +++ b/tests/Assistant/src/com/google/android/test/assistant/AssistActivity.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.android.test.assistant; + +import android.app.Activity; +import android.os.Bundle; +import com.google.android.test.assistant.R; + +public class AssistActivity extends Activity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.assist_intent_activity); + } + +}