diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2014-11-06 10:12:54 -0800 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2014-11-11 10:17:56 -0800 |
commit | 594d76dc66cb5666830b62594909fed187987d42 (patch) | |
tree | ac26bc16ce77b73747c10846577019e03f592111 /src/com/android/launcher3/Utilities.java | |
parent | 8dfe2da6985d38f23fd3426101574c093f509907 (diff) | |
download | android_packages_apps_Trebuchet-594d76dc66cb5666830b62594909fed187987d42.tar.gz android_packages_apps_Trebuchet-594d76dc66cb5666830b62594909fed187987d42.tar.bz2 android_packages_apps_Trebuchet-594d76dc66cb5666830b62594909fed187987d42.zip |
Using the default search widget in Launcher3
> Removing all logic related to search and voice overlays
from Launcher3
> Using the widget provided by global search provider on the
homescreen
> Removing VoiceButtonProxy, as it is not being used anymore
Change-Id: Ie8b09b44f7213c8fa11bce685914442e4884295d
Diffstat (limited to 'src/com/android/launcher3/Utilities.java')
-rw-r--r-- | src/com/android/launcher3/Utilities.java | 38 |
1 files changed, 36 insertions, 2 deletions
diff --git a/src/com/android/launcher3/Utilities.java b/src/com/android/launcher3/Utilities.java index 7a16914b9..1e751b058 100644 --- a/src/com/android/launcher3/Utilities.java +++ b/src/com/android/launcher3/Utilities.java @@ -18,6 +18,9 @@ package com.android.launcher3; import android.annotation.TargetApi; import android.app.Activity; +import android.app.SearchManager; +import android.appwidget.AppWidgetManager; +import android.appwidget.AppWidgetProviderInfo; import android.content.ActivityNotFoundException; import android.content.ComponentName; import android.content.Context; @@ -39,8 +42,6 @@ import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.PaintDrawable; import android.os.Build; -import android.os.Build.VERSION; -import android.os.Build.VERSION_CODES; import android.util.Log; import android.util.Pair; import android.util.SparseArray; @@ -508,4 +509,37 @@ public final class Utilities { return v.getKeyDispatcherState() != null; } } + + /** + * Returns a widget with category {@link AppWidgetProviderInfo#WIDGET_CATEGORY_SEARCHBOX} + * provided by the same package which is set to be global search activity. + * If widgetCategory is not supported, or no such widget is found, returns the first widget + * provided by the package. + */ + @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) + public static AppWidgetProviderInfo getSearchWidgetProvider(Context context) { + SearchManager searchManager = + (SearchManager) context.getSystemService(Context.SEARCH_SERVICE); + ComponentName searchComponent = searchManager.getGlobalSearchActivity(); + if (searchComponent == null) return null; + String providerPkg = searchComponent.getPackageName(); + + AppWidgetProviderInfo defaultWidgetForSearchPackage = null; + + AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); + for (AppWidgetProviderInfo info : appWidgetManager.getInstalledProviders()) { + if (info.provider.getPackageName().equals(providerPkg)) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { + if ((info.widgetCategory & AppWidgetProviderInfo.WIDGET_CATEGORY_SEARCHBOX) != 0) { + return info; + } else if (defaultWidgetForSearchPackage == null) { + defaultWidgetForSearchPackage = info; + } + } else { + return info; + } + } + } + return defaultWidgetForSearchPackage; + } } |