diff options
author | Amith Yamasani <yamasani@google.com> | 2012-08-14 09:32:02 -0700 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2012-08-14 12:39:29 -0700 |
commit | c1d07a4bd26c0ecf87bfa151ae43cb92c0c73791 (patch) | |
tree | 620e4b1cf4e7534b41ea94f9ac3732fa622e4670 /packages | |
parent | b26295b7a0bc23deb2987c4ff10810c3ce2f1869 (diff) | |
download | frameworks_base-c1d07a4bd26c0ecf87bfa151ae43cb92c0c73791.zip frameworks_base-c1d07a4bd26c0ecf87bfa151ae43cb92c0c73791.tar.gz frameworks_base-c1d07a4bd26c0ecf87bfa151ae43cb92c0c73791.tar.bz2 |
Launch ASSIST intent on the current user
Lockscreen and statusbar now launch the intent on the current user.
Make sure that the intent resolution is made to the package manager
for the specific user, as the app could have been disabled for that
user or may have an alternative app installed.
Change-Id: I93b0f972d6c7e8880b146da83dc3d08a68fe7e51
Diffstat (limited to 'packages')
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/SearchPanelView.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/SearchPanelView.java b/packages/SystemUI/src/com/android/systemui/SearchPanelView.java index 475fb6d..b36e71a 100644 --- a/packages/SystemUI/src/com/android/systemui/SearchPanelView.java +++ b/packages/SystemUI/src/com/android/systemui/SearchPanelView.java @@ -24,6 +24,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.res.Resources; +import android.os.UserId; import android.os.Vibrator; import android.provider.Settings; import android.util.AttributeSet; @@ -73,14 +74,15 @@ public class SearchPanelView extends FrameLayout implements // Close Recent Apps if needed mBar.animateCollapse(CommandQueue.FLAG_EXCLUDE_SEARCH_PANEL); // Launch Assist - Intent intent = SearchManager.getAssistIntent(mContext); + Intent intent = ((SearchManager) mContext.getSystemService(Context.SEARCH_SERVICE)) + .getAssistIntent(mContext, UserId.USER_CURRENT); if (intent == null) return; try { ActivityOptions opts = ActivityOptions.makeCustomAnimation(mContext, R.anim.search_launch_enter, R.anim.search_launch_exit, getHandler(), this); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - mContext.startActivity(intent, opts.toBundle()); + mContext.startActivityAsUser(intent, opts.toBundle(), UserId.USER_CURRENT); } catch (ActivityNotFoundException e) { Slog.w(TAG, "Activity not found for " + intent.getAction()); onAnimationStarted(); @@ -140,7 +142,8 @@ public class SearchPanelView extends FrameLayout implements } private void maybeSwapSearchIcon() { - Intent intent = SearchManager.getAssistIntent(mContext); + Intent intent = ((SearchManager) mContext.getSystemService(Context.SEARCH_SERVICE)) + .getAssistIntent(mContext, UserId.USER_CURRENT); if (intent != null) { ComponentName component = intent.getComponent(); if (component == null || !mGlowPadView.replaceTargetDrawablesIfPresent(component, @@ -277,6 +280,7 @@ public class SearchPanelView extends FrameLayout implements } public boolean isAssistantAvailable() { - return SearchManager.getAssistIntent(mContext) != null; + return ((SearchManager) mContext.getSystemService(Context.SEARCH_SERVICE)) + .getAssistIntent(mContext, UserId.USER_CURRENT) != null; } } |