/** {@inheritDoc} */ @Override public void onScrollStateChanged(final AbsListView view, final int scrollState) { // Pause disk cache access to ensure smoother scrolling if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_FLING || scrollState == AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL) { mAdapter.setPauseDiskCache(true); } else { mAdapter.setPauseDiskCache(false); mAdapter.notifyDataSetChanged(); } }
/** {@inheritDoc} */ @Override public void onLoaderReset(final Loader<Cursor> loader) { // This is called when the last Cursor provided to onLoadFinished() // above is about to be closed. We need to make sure we are no // longer using it. mAdapter.swapCursor(null); }
/** {@inheritDoc} */ @Override public void onItemClick( final AdapterView<?> parent, final View view, final int position, final long id) { Cursor cursor = mAdapter.getCursor(); cursor.moveToPosition(position); if (cursor.isBeforeFirst() || cursor.isAfterLast()) { return; } // Get the MIME type final String mimeType = cursor.getString(cursor.getColumnIndexOrThrow(MediaColumns.MIME_TYPE)); // If it's an artist, open the artist profile if ("artist".equals(mimeType)) { NavUtils.openArtistProfile( this, cursor.getString(cursor.getColumnIndexOrThrow(ArtistColumns.ARTIST))); } else if ("album".equals(mimeType)) { // If it's an album, open the album profile NavUtils.openAlbumProfile( this, cursor.getString(cursor.getColumnIndexOrThrow(AlbumColumns.ALBUM)), cursor.getString(cursor.getColumnIndexOrThrow(AlbumColumns.ARTIST))); } else if (position >= 0 && id >= 0) { // If it's a song, play it and leave final long[] list = new long[] {id}; MusicUtils.playAll(this, list, 0, false); } // Close it up cursor.close(); cursor = null; // All done finish(); }
@Override public boolean onQueryTextChange(String query) { final List<NoteDetail> filteredModelList = filter(allDatas, query); mAdapter.animateTo(filteredModelList); mRecyclerView.scrollToPosition(0); return true; }
/** {@inheritDoc} */ @Override protected void onNewIntent(final Intent intent) { super.onNewIntent(intent); final String query = intent.getStringExtra(SearchManager.QUERY); mFilterString = !TextUtils.isEmpty(query) ? query : null; // Set the prefix mAdapter.setPrefix(mFilterString); getSupportLoaderManager().restartLoader(0, null, this); }
@Override public void loadMore() { mFootUpdate.showLoading(); if (listView.getAdapter() == searchAdapter) { searchAdapter.loadMore(); } else { chooseAdapter.loadMore(); } }
private void searchYoutube() { if (search != null && search.length() > 2) { if (searchTask != null) { searchTask.cancel(true); searchTask = null; } searchTask = new SearchYoutubeTask(); searchTask.execute(search); } else { youtubeChannelSearch.clear(); searchAdapter.notifyDataSetChanged(); } }
/** {@inheritDoc} */ @Override public void onLoadFinished(final Loader<Cursor> loader, final Cursor data) { if (data == null || data.isClosed() || data.getCount() <= 0) { // Set the empty text final TextView empty = (TextView) findViewById(R.id.empty); empty.setText(getString(R.string.empty_search)); mGridView.setEmptyView(empty); return; } // Swap the new cursor in. (The framework will take care of closing the // old cursor once we return.) mAdapter.swapCursor(data); }
/** {@inheritDoc} */ @Override public boolean onQueryTextChange(final String newText) { if (TextUtils.isEmpty(newText)) { return false; } // Called when the action bar search text has changed. Update // the search filter, and restart the loader to do a new query // with this filter. mFilterString = !TextUtils.isEmpty(newText) ? newText : null; // Set the prefix mAdapter.setPrefix(mFilterString); getSupportLoaderManager().restartLoader(0, null, this); return true; }
private void reset() { currentCity = null; latitude = longitude = 0; chooseAdapter.searcher.configure(this, null, null); chooseAdapter.list.clear(); chooseAdapter.list.add(emptyLocation); if (selectedLocation != null && selectedLocation.type != LocationObject.Type.Undefined) { chooseAdapter.list.add(selectedLocation); } else { selectedLocation = emptyLocation; } chooseAdapter.notifyDataSetChanged(); searchAdapter.disabled(); }
private void searchTwitter() { if (search != null && search.length() > 2) { if (searchTwitterTask != null) { searchTwitterTask.cancel(true); searchTwitterTask = null; } searchTwitter_v.setVisibility(twitter.hasAccessToken() ? View.GONE : View.VISIBLE); searchDiv_v.setVisibility(twitter.hasAccessToken() ? View.GONE : View.VISIBLE); searchTwitterTask = new SearchTwitterTask(); searchTwitterTask.execute(); } else { twitterFeedSearch.clear(); searchAdapter.notifyDataSetChanged(); } }
private void toggleSearch(int searchMode) { this.searchMode = searchMode; search_v.setVisibility(searchModePreSearch() ? View.GONE : View.VISIBLE); searchTwitter_v.setVisibility( (searchMode == Var.SEARCH_TWITTER && !twitter.hasAccessToken()) ? View.VISIBLE : View.GONE); searchDiv_v.setVisibility( (searchMode == Var.SEARCH_TWITTER && twitter.hasAccessToken()) ? View.GONE : View.VISIBLE); youtube_ll.setVisibility((searchMode == Var.SEARCH_OPTIONS) ? View.VISIBLE : View.GONE); twitter_ll.setVisibility((searchMode == Var.SEARCH_OPTIONS) ? View.VISIBLE : View.GONE); channel_v.setVisibility((searchMode == Var.SEARCH_YT_CHANNEL) ? View.VISIBLE : View.GONE); search_fab.setVisibility( (searchModePreSearch() || searchMode == Var.SEARCH_YT_CHANNEL) ? View.VISIBLE : View.GONE); search_fab.setDrawable( getResources() .getDrawable( searchMode == Var.SEARCH_YT_CHANNEL ? R.drawable.ic_add_white_18dp : R.drawable.ic_search_white_24dp)); search_lv.setChoiceMode( (searchMode == Var.SEARCH_YT_CHANNEL) ? ListView.CHOICE_MODE_MULTIPLE : ListView.CHOICE_MODE_SINGLE); if (searchMode == Var.SEARCH_NONE) { dismissSearch(); // searchView.setQuery("", false); // searchView.setVisibility(View.GONE); search_rl.setVisibility(View.GONE); search_edt.getText().clear(); action_fab.setVisibility((editUser.getMediaFeed().size() > 0) ? View.VISIBLE : View.GONE); search_lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE); youtubeChannelSearch.clear(); twitterFeedSearch.clear(); searchAdapter.notifyDataSetChanged(); } if (searchMode == Var.SEARCH_YT_CHANNEL) { dismissSearch(); action_fab.setVisibility(View.VISIBLE); search_lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); clearSearchOptions(); } else if (searchMode == Var.SEARCH_YOUTUBE || searchMode == Var.SEARCH_TWITTER) { // if(searchItem != null) { // searchView.setQueryHint(getResources().getString((searchMode == Var.SEARCH_YOUTUBE) ? // R.string.search_youtube : R.string.search_twitter)); // searchView.setIconified(false); // searchView.setVisibility(View.VISIBLE); // searchView.requestFocusFromTouch(); search_edt.setHint( (searchMode == Var.SEARCH_YOUTUBE) ? R.string.search_youtube : R.string.search_twitter); search_rl.setVisibility(View.VISIBLE); search_rl.requestFocus(); // } } if (searchModePreSearch()) { search_fab.setDrawable( getResources() .getDrawable( searchMode == Var.SEARCH_NONE ? R.drawable.ic_search_white_24dp : R.drawable.ic_close_white_36dp)); } }
/** {@inheritDoc} */ @SuppressWarnings("deprecation") @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Title bar shows up in gingerbread, I'm too tired to figure out why. if (!ApolloUtils.hasHoneycomb()) { requestWindowFeature(Window.FEATURE_NO_TITLE); } // Initialze the theme resources mResources = new ThemeUtils(this); // Set the overflow style mResources.setOverflowStyle(this); // Fade it in overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); // Control the media volume setVolumeControlStream(AudioManager.STREAM_MUSIC); // Bind Apollo's service mToken = MusicUtils.bindToService(this, this); // Theme the action bar final ActionBar actionBar = getSupportActionBar(); mResources.themeActionBar(actionBar, getString(R.string.app_name)); actionBar.setDisplayHomeAsUpEnabled(true); // Set the layout setContentView(R.layout.grid_base); // Give the background a little UI final FrameLayout background = (FrameLayout) findViewById(R.id.grid_base_container); background.setBackgroundDrawable(getResources().getDrawable(R.drawable.pager_background)); // Get the query final String query = getIntent().getStringExtra(SearchManager.QUERY); mFilterString = !TextUtils.isEmpty(query) ? query : null; // Action bar subtitle mResources.setSubtitle("\"" + mFilterString + "\""); // Initialize the adapter mAdapter = new SearchAdapter(this); // Set the prefix mAdapter.setPrefix(mFilterString); // Initialze the list mGridView = (GridView) findViewById(R.id.grid_base); // Bind the data mGridView.setAdapter(mAdapter); // Recycle the data mGridView.setRecyclerListener(new RecycleHolder()); // Seepd up scrolling mGridView.setOnScrollListener(this); mGridView.setOnItemClickListener(this); if (ApolloUtils.isLandscape(this)) { mGridView.setNumColumns(TWO); } else { mGridView.setNumColumns(ONE); } // Prepare the loader. Either re-connect with an existing one, // or start a new one. getSupportLoaderManager().initLoader(0, null, this); }