コード例 #1
0
 /** {@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();
   }
 }
コード例 #2
0
 /** {@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);
 }
コード例 #3
0
  /** {@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();
  }
コード例 #4
0
  @Override
  public boolean onQueryTextChange(String query) {

    final List<NoteDetail> filteredModelList = filter(allDatas, query);
    mAdapter.animateTo(filteredModelList);
    mRecyclerView.scrollToPosition(0);
    return true;
  }
コード例 #5
0
 /** {@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);
 }
コード例 #6
0
 @Override
 public void loadMore() {
   mFootUpdate.showLoading();
   if (listView.getAdapter() == searchAdapter) {
     searchAdapter.loadMore();
   } else {
     chooseAdapter.loadMore();
   }
 }
コード例 #7
0
ファイル: AddActivity.java プロジェクト: Ertyguy/ContTent
 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();
   }
 }
コード例 #8
0
 /** {@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);
 }
コード例 #9
0
 /** {@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;
 }
コード例 #10
0
 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();
 }
コード例 #11
0
ファイル: AddActivity.java プロジェクト: Ertyguy/ContTent
  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();
    }
  }
コード例 #12
0
ファイル: AddActivity.java プロジェクト: Ertyguy/ContTent
  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));
    }
  }
コード例 #13
0
  /** {@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);
  }