diff options
| author | Bjorn Bringert <bringert@android.com> | 2010-01-06 09:29:11 +0000 |
|---|---|---|
| committer | Bjorn Bringert <bringert@android.com> | 2010-01-09 13:19:52 +0000 |
| commit | 32d580c360da0a0f15e7a080f4ebd0b7b514fe4c (patch) | |
| tree | abdd91232ac40dc59b227a7ee431c78b6192930c /core/java/android/app/SearchDialog.java | |
| parent | 71de7851a2d1c1ef0251bdc1ea59c5e6f58cf429 (diff) | |
Copy SearchSourceSelector from QuickSearchBox
The widget shows the icon for a search source, and when clicked
fires an intent that shows a search source selection activity.
That intent is handled by the QuickSearchBox app.
This change also adds the source selector to the in-app
search dialog.
An upcoming change to QuickSearchBox will add the search source
selector to the home screen search widget and to the Quick Search Box
activity.
TODO: Add assets for selected and pressed states to the search selector.
TODO: The SearchDialog hides when the soruce selection activity
appears. This will be fixed when SearchDialog is changed from a
system window to a normal app window.
Change-Id: I91eadd60682577614e274ecf5b995b927c70a48a
Diffstat (limited to 'core/java/android/app/SearchDialog.java')
| -rw-r--r-- | core/java/android/app/SearchDialog.java | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/core/java/android/app/SearchDialog.java b/core/java/android/app/SearchDialog.java index 8968553ff07c..b3963968b09a 100644 --- a/core/java/android/app/SearchDialog.java +++ b/core/java/android/app/SearchDialog.java @@ -60,7 +60,6 @@ import android.widget.AdapterView; import android.widget.AutoCompleteTextView; import android.widget.Button; import android.widget.ImageButton; -import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; @@ -106,7 +105,7 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS // views & widgets private TextView mBadgeLabel; - private ImageView mAppIcon; + private SearchSourceSelector mSourceSelector; private SearchAutoComplete mSearchAutoComplete; private Button mGoButton; private ImageButton mVoiceButton; @@ -209,7 +208,8 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS mBadgeLabel = (TextView) findViewById(com.android.internal.R.id.search_badge); mSearchAutoComplete = (SearchAutoComplete) findViewById(com.android.internal.R.id.search_src_text); - mAppIcon = (ImageView) findViewById(com.android.internal.R.id.search_app_icon); + mSourceSelector = new SearchSourceSelector( + findViewById(com.android.internal.R.id.search_source_selector)); mGoButton = (Button) findViewById(com.android.internal.R.id.search_go_btn); mVoiceButton = (ImageButton) findViewById(com.android.internal.R.id.search_voice_btn); mSearchPlate = findViewById(com.android.internal.R.id.search_plate); @@ -606,13 +606,16 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS } private void updateSearchAppIcon() { + mSourceSelector.setSource(mSearchable.getSearchActivity()); + mSourceSelector.setAppSearchData(mAppSearchData); + // In Donut, we special-case the case of the browser to hide the app icon as if it were // global search, for extra space for url entry. // // TODO: Remove this special case once the issue has been reconciled in Eclair. if (mGlobalSearchMode || isBrowserSearch()) { - mAppIcon.setImageResource(0); - mAppIcon.setVisibility(View.GONE); + mSourceSelector.setSourceIcon(null); + mSourceSelector.setVisibility(View.GONE); mSearchPlate.setPadding(SEARCH_PLATE_LEFT_PADDING_GLOBAL, mSearchPlate.getPaddingTop(), mSearchPlate.getPaddingRight(), @@ -628,8 +631,8 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS icon = pm.getDefaultActivityIcon(); Log.w(LOG_TAG, mLaunchComponent + " not found, using generic app icon"); } - mAppIcon.setImageDrawable(icon); - mAppIcon.setVisibility(View.VISIBLE); + mSourceSelector.setSourceIcon(icon); + mSourceSelector.setVisibility(View.VISIBLE); mSearchPlate.setPadding(SEARCH_PLATE_LEFT_PADDING_NON_GLOBAL, mSearchPlate.getPaddingTop(), mSearchPlate.getPaddingRight(), @@ -812,6 +815,7 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS if (!mSearchAutoComplete.isPerformingCompletion()) { // The user changed the query, remember it. mUserQuery = s == null ? "" : s.toString(); + mSourceSelector.setQuery(mUserQuery); } } @@ -1927,6 +1931,7 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS query = ""; } mUserQuery = query; + mSourceSelector.setQuery(query); mSearchAutoComplete.setText(query); mSearchAutoComplete.setSelection(query.length()); } |
