summaryrefslogtreecommitdiff
path: root/src/com/android/quicksearchbox/SearchWidgetProvider.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/quicksearchbox/SearchWidgetProvider.java')
-rw-r--r--src/com/android/quicksearchbox/SearchWidgetProvider.java187
1 files changed, 0 insertions, 187 deletions
diff --git a/src/com/android/quicksearchbox/SearchWidgetProvider.java b/src/com/android/quicksearchbox/SearchWidgetProvider.java
deleted file mode 100644
index fdd8cf3..0000000
--- a/src/com/android/quicksearchbox/SearchWidgetProvider.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright (C) 2009 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.android.quicksearchbox;
-
-import com.android.common.Search;
-import com.android.common.speech.Recognition;
-import com.android.quicksearchbox.util.Util;
-
-import android.app.Activity;
-import android.app.AlarmManager;
-import android.app.PendingIntent;
-import android.app.SearchManager;
-import android.appwidget.AppWidgetManager;
-import android.content.BroadcastReceiver;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.graphics.Typeface;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.SystemClock;
-import android.speech.RecognizerIntent;
-import android.text.Annotation;
-import android.text.SpannableStringBuilder;
-import android.text.TextUtils;
-import android.text.style.StyleSpan;
-import android.util.Log;
-import android.view.View;
-import android.widget.RemoteViews;
-
-import java.util.ArrayList;
-import java.util.Random;
-
-/**
- * Search widget provider.
- *
- */
-public class SearchWidgetProvider extends BroadcastReceiver {
-
- private static final boolean DBG = false;
- private static final String TAG = "QSB.SearchWidgetProvider";
-
- /**
- * The {@link Search#SOURCE} value used when starting searches from the search widget.
- */
- private static final String WIDGET_SEARCH_SOURCE = "launcher-widget";
-
- @Override
- public void onReceive(Context context, Intent intent) {
- if (DBG) Log.d(TAG, "onReceive(" + intent.toUri(0) + ")");
- String action = intent.getAction();
- if (AppWidgetManager.ACTION_APPWIDGET_ENABLED.equals(action)) {
- // nothing needs doing
- } else if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action)) {
- updateSearchWidgets(context);
- } else {
- if (DBG) Log.d(TAG, "Unhandled intent action=" + action);
- }
- }
-
- private static SearchWidgetState[] getSearchWidgetStates(Context context) {
- AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context);
- int[] appWidgetIds = appWidgetManager.getAppWidgetIds(myComponentName(context));
- SearchWidgetState[] states = new SearchWidgetState[appWidgetIds.length];
- for (int i = 0; i<appWidgetIds.length; ++i) {
- states[i] = getSearchWidgetState(context, appWidgetIds[i]);
- }
- return states;
- }
-
-
- /**
- * Updates all search widgets.
- */
- public static void updateSearchWidgets(Context context) {
- if (DBG) Log.d(TAG, "updateSearchWidgets");
- SearchWidgetState[] states = getSearchWidgetStates(context);
-
- for (SearchWidgetState state : states) {
- state.updateWidget(context, AppWidgetManager.getInstance(context));
- }
- }
-
- /**
- * Gets the component name of this search widget provider.
- */
- private static ComponentName myComponentName(Context context) {
- String pkg = context.getPackageName();
- String cls = pkg + ".SearchWidgetProvider";
- return new ComponentName(pkg, cls);
- }
-
- private static Intent createQsbActivityIntent(Context context, String action,
- Bundle widgetAppData) {
- Intent qsbIntent = new Intent(action);
- qsbIntent.setPackage(context.getPackageName());
- qsbIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
- | Intent.FLAG_ACTIVITY_CLEAR_TOP
- | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
- qsbIntent.putExtra(SearchManager.APP_DATA, widgetAppData);
- return qsbIntent;
- }
-
- private static SearchWidgetState getSearchWidgetState(Context context, int appWidgetId) {
- if (DBG) Log.d(TAG, "Creating appwidget state " + appWidgetId);
- SearchWidgetState state = new SearchWidgetState(appWidgetId);
-
- Bundle widgetAppData = new Bundle();
- widgetAppData.putString(Search.SOURCE, WIDGET_SEARCH_SOURCE);
-
- // Text field click
- Intent qsbIntent = createQsbActivityIntent(
- context,
- SearchManager.INTENT_ACTION_GLOBAL_SEARCH,
- widgetAppData);
- state.setQueryTextViewIntent(qsbIntent);
-
- // Voice search button
- Intent voiceSearchIntent = getVoiceSearchIntent(context, widgetAppData);
- state.setVoiceSearchIntent(voiceSearchIntent);
-
- return state;
- }
-
- private static Intent getVoiceSearchIntent(Context context, Bundle widgetAppData) {
- VoiceSearch voiceSearch = QsbApplication.get(context).getVoiceSearch();
- return voiceSearch.createVoiceWebSearchIntent(widgetAppData);
- }
-
- private static class SearchWidgetState {
- private final int mAppWidgetId;
- private Intent mQueryTextViewIntent;
- private Intent mVoiceSearchIntent;
-
- public SearchWidgetState(int appWidgetId) {
- mAppWidgetId = appWidgetId;
- }
-
- public void setQueryTextViewIntent(Intent queryTextViewIntent) {
- mQueryTextViewIntent = queryTextViewIntent;
- }
-
- public void setVoiceSearchIntent(Intent voiceSearchIntent) {
- mVoiceSearchIntent = voiceSearchIntent;
- }
-
- public void updateWidget(Context context,AppWidgetManager appWidgetMgr) {
- if (DBG) Log.d(TAG, "Updating appwidget " + mAppWidgetId);
- RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.search_widget);
-
- setOnClickActivityIntent(context, views, R.id.search_widget_text,
- mQueryTextViewIntent);
- // Voice Search button
- if (mVoiceSearchIntent != null) {
- setOnClickActivityIntent(context, views, R.id.search_widget_voice_btn,
- mVoiceSearchIntent);
- views.setViewVisibility(R.id.search_widget_voice_btn, View.VISIBLE);
- } else {
- views.setViewVisibility(R.id.search_widget_voice_btn, View.GONE);
- }
-
- appWidgetMgr.updateAppWidget(mAppWidgetId, views);
- }
-
- private void setOnClickActivityIntent(Context context, RemoteViews views, int viewId,
- Intent intent) {
- intent.setPackage(context.getPackageName());
- PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
- views.setOnClickPendingIntent(viewId, pendingIntent);
- }
- }
-
-}