summaryrefslogtreecommitdiffstats
path: root/samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchSupportFragment.java
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2016-03-10 18:13:45 -0800
committerSteve Kondik <steve@cyngn.com>2016-03-10 18:13:45 -0800
commit0a521f6d93206567c14bbacdc13819bf4baf82d3 (patch)
tree2e11b47c9856368387b394b6831726f2526bf6dd /samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchSupportFragment.java
parent171957c0bdc547ae6013daddffc03c8ec3ac2e3e (diff)
parentadce814038b96c87ea66fc1e5bfd85ab28d80590 (diff)
downloadandroid_development-stable/cm-13.0-ZNH2K.tar.gz
android_development-stable/cm-13.0-ZNH2K.tar.bz2
android_development-stable/cm-13.0-ZNH2K.zip
Merge tag 'android-6.0.1_r22' of https://android.googlesource.com/platform/development into cm-13.0staging/cm-13.0+r22stable/cm-13.0-ZNH2KBstable/cm-13.0-ZNH2K
Android 6.0.1 release 22
Diffstat (limited to 'samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchSupportFragment.java')
-rw-r--r--samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchSupportFragment.java104
1 files changed, 104 insertions, 0 deletions
diff --git a/samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchSupportFragment.java b/samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchSupportFragment.java
new file mode 100644
index 000000000..35c5eb251
--- /dev/null
+++ b/samples/SupportLeanbackDemos/src/com/example/android/leanback/SearchSupportFragment.java
@@ -0,0 +1,104 @@
+/* This file is auto-generated from SearchFragment.java. DO NOT MODIFY. */
+
+package com.example.android.leanback;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Handler;
+import android.support.v4.app.ActivityOptionsCompat;
+import android.support.v17.leanback.widget.ArrayObjectAdapter;
+import android.support.v17.leanback.widget.HeaderItem;
+import android.support.v17.leanback.widget.ImageCardView;
+import android.support.v17.leanback.widget.ListRow;
+import android.support.v17.leanback.widget.ListRowPresenter;
+import android.support.v17.leanback.widget.ObjectAdapter;
+import android.support.v17.leanback.widget.OnItemViewClickedListener;
+import android.support.v17.leanback.widget.Presenter;
+import android.support.v17.leanback.widget.Row;
+import android.support.v17.leanback.widget.RowPresenter;
+import android.text.TextUtils;
+import android.util.Log;
+
+public class SearchSupportFragment extends android.support.v17.leanback.app.SearchSupportFragment
+ implements android.support.v17.leanback.app.SearchSupportFragment.SearchResultProvider {
+ private static final String TAG = "leanback.SearchSupportFragment";
+ private static final int NUM_ROWS = 3;
+ private static final int SEARCH_DELAY_MS = 1000;
+
+ private ArrayObjectAdapter mRowsAdapter;
+ private Handler mHandler = new Handler();
+ private String mQuery;
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ mRowsAdapter = new ArrayObjectAdapter(new ListRowPresenter());
+
+ setBadgeDrawable(getActivity().getResources().getDrawable(R.drawable.ic_title));
+ setTitle("Leanback Sample App");
+ setSearchResultProvider(this);
+ setOnItemViewClickedListener(new ItemViewClickedListener());
+ }
+
+ @Override
+ public ObjectAdapter getResultsAdapter() {
+ return mRowsAdapter;
+ }
+
+ @Override
+ public boolean onQueryTextChange(String newQuery) {
+ Log.i(TAG, String.format("Search Query Text Change %s", newQuery));
+ mRowsAdapter.clear();
+ loadQuery(newQuery);
+ return true;
+ }
+
+ @Override
+ public boolean onQueryTextSubmit(String query) {
+ Log.i(TAG, String.format("Search Query Text Submit %s", query));
+ mRowsAdapter.clear();
+ loadQuery(query);
+ return true;
+ }
+
+ private void loadQuery(String query) {
+ mQuery = query;
+ mHandler.removeCallbacks(mDelayedLoad);
+ if (!TextUtils.isEmpty(query) && !query.equals("nil")) {
+ mHandler.postDelayed(mDelayedLoad, SEARCH_DELAY_MS);
+ }
+ }
+
+ private void loadRows() {
+ for (int i = 0; i < NUM_ROWS; ++i) {
+ ArrayObjectAdapter listRowAdapter = new ArrayObjectAdapter(new CardPresenter());
+ listRowAdapter.add(new PhotoItem("Hello world", R.drawable.gallery_photo_1));
+ listRowAdapter.add(new PhotoItem("This is a test", R.drawable.gallery_photo_2));
+ HeaderItem header = new HeaderItem(i, mQuery + " results row " + i);
+ mRowsAdapter.add(new ListRow(header, listRowAdapter));
+ }
+ }
+
+ private Runnable mDelayedLoad = new Runnable() {
+ @Override
+ public void run() {
+ loadRows();
+ }
+ };
+
+ private final class ItemViewClickedListener implements OnItemViewClickedListener {
+ @Override
+ public void onItemClicked(Presenter.ViewHolder itemViewHolder, Object item,
+ RowPresenter.ViewHolder rowViewHolder, Row row) {
+ Intent intent = new Intent(getActivity(), DetailsSupportActivity.class);
+ intent.putExtra(DetailsSupportActivity.EXTRA_ITEM, (PhotoItem) item);
+
+ Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(
+ getActivity(),
+ ((ImageCardView)itemViewHolder.view).getMainImageView(),
+ DetailsSupportActivity.SHARED_ELEMENT_NAME).toBundle();
+ getActivity().startActivity(intent, bundle);
+ }
+ }
+}