Android Open Source - PlayTunes Search Artists Adapter From Project Back to project page PlayTunes .
License The source code is released under:
Copyright (c) 2014, Impeccable Labs, LLC. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions ar...
If you think the Android project PlayTunes listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.ideabag.playtunes.adapter.search;
/ / w w w . j a v a 2 s . c o m
import com.ideabag.playtunes.adapter.ArtistListAdapter;
import com.ideabag.playtunes.database.MediaQuery;
import com.ideabag.playtunes.util.ISearchableAdapter;
import android.content.Context;
import android.provider.MediaStore;
public class SearchArtistsAdapter extends ArtistListAdapter implements ISearchableAdapter {
private String searchTerms;
private int mTruncateAmount;
public SearchArtistsAdapter( Context context, String query, int truncate, MediaQuery.OnQueryCompletedListener listener ) {
super ( context );
mTruncateAmount = truncate;
setOnQueryCompletedListener( listener );
if ( null != query && query.length() > 0) {
setSearchTerms( query );
}
}
@Override public void setSearchTerms( String queryString ) {
if ( null != queryString && !queryString.equals( searchTerms ) ) {
searchTerms = queryString;
String[] terms = searchTerms.split( "\\s+" );
String mRelevance = "(" ;
for ( int i = 0, count = terms.length; i < count; i++ ) {
String term = terms[ i ];
if ( i > 0 ) {
mRelevance += "+" ;
}
mRelevance += "(" + MediaStore.Audio.Artists.ARTIST + " LIKE '%" + term + "%' )" ;
mRelevance += "+ 10 * (" + MediaStore.Audio.Artists.ARTIST + " LIKE '" + term + "%' )" ;
mRelevance += "+ 3 * (" + MediaStore.Audio.Artists.ARTIST + " LIKE '% +" + term + "%' )" ;
}
mRelevance += ") WEIGHT" ;
String[] artistsSelection = new String[] {
MediaStore.Audio.Artists.ARTIST,
MediaStore.Audio.Artists.NUMBER_OF_ALBUMS,
MediaStore.Audio.Artists.NUMBER_OF_TRACKS,
MediaStore.Audio.Artists._ID,
mRelevance
};
mQuery = new MediaQuery(
MediaStore.Audio.Artists.EXTERNAL_CONTENT_URI,
artistsSelection,
"WEIGHT > 0" ,
null,
"WEIGHT DESC"
);
requery();
}
}
@Override public int getCount() {
int count = 0;
if ( null != mCursor ) {
if ( mTruncateAmount <= 0 ) {
count = mCursor.getCount();
} else {
count = ( mCursor.getCount() > mTruncateAmount ? mTruncateAmount : mCursor.getCount() );
}
}
return count;
}
public int hasMore() {
return ( mCursor != null && mTruncateAmount > 0 && mCursor.getCount() > mTruncateAmount ? mCursor.getCount() - mTruncateAmount : 0 );
}
public void setTruncateAmount( int mAmt ) {
mTruncateAmount = mAmt;
notifyDataSetChanged();
}
}
Java Source Code List com.ideabag.playtunes.PlaylistManager.java com.ideabag.playtunes.DragNDrop.DragListener.java com.ideabag.playtunes.DragNDrop.DragNDropListView.java com.ideabag.playtunes.DragNDrop.DropListener.java com.ideabag.playtunes.DragNDrop.RemoveListener.java com.ideabag.playtunes.activity.MainActivity.java com.ideabag.playtunes.activity.NowPlayingActivity.java com.ideabag.playtunes.activity.SettingsActivity.java com.ideabag.playtunes.adapter.AlbumListAdapter.java com.ideabag.playtunes.adapter.AlbumsAllAdapter.java com.ideabag.playtunes.adapter.AlbumsOneAdapter.java com.ideabag.playtunes.adapter.ArtistAlbumsAdapter.java com.ideabag.playtunes.adapter.ArtistAllSongsAdapter.java com.ideabag.playtunes.adapter.ArtistListAdapter.java com.ideabag.playtunes.adapter.ArtistSinglesAdapter.java com.ideabag.playtunes.adapter.ArtistsAllAdapter.java com.ideabag.playtunes.adapter.AsyncQueryAdapter.java com.ideabag.playtunes.adapter.GenresAllAdapter.java com.ideabag.playtunes.adapter.GenresOneAdapter.java com.ideabag.playtunes.adapter.NavigationListAdapter.java com.ideabag.playtunes.adapter.PlaylistsAllAdapter.java com.ideabag.playtunes.adapter.PlaylistsOneAdapter.java com.ideabag.playtunes.adapter.SongListAdapter.java com.ideabag.playtunes.adapter.SongsAllAdapter.java com.ideabag.playtunes.adapter.search.SearchAlbumsAdapter.java com.ideabag.playtunes.adapter.search.SearchArtistsAdapter.java com.ideabag.playtunes.adapter.search.SearchSongsAdapter.java com.ideabag.playtunes.database.MediaQuery.java com.ideabag.playtunes.dialog.AddToPlaylistDialogFragment.java com.ideabag.playtunes.dialog.CreatePlaylistDialogFragment.java com.ideabag.playtunes.dialog.FeedbackDialogFragment.java com.ideabag.playtunes.dialog.PlaylistDeleteDialogFragment.java com.ideabag.playtunes.dialog.PlaylistMenuDialogFragment.java com.ideabag.playtunes.dialog.PlaylistRenameDialogFragment.java com.ideabag.playtunes.dialog.RateAppDialogFragment.java com.ideabag.playtunes.dialog.SongMenuDialogFragment.java com.ideabag.playtunes.fragment.AlbumsAllFragment.java com.ideabag.playtunes.fragment.AlbumsOneFragment.java com.ideabag.playtunes.fragment.ArtistSinglesFragment.java com.ideabag.playtunes.fragment.ArtistsAllFragment.java com.ideabag.playtunes.fragment.ArtistsOneFragment.java com.ideabag.playtunes.fragment.FooterControlsFragment.java com.ideabag.playtunes.fragment.GenresAllFragment.java com.ideabag.playtunes.fragment.GenresOneFragment.java com.ideabag.playtunes.fragment.MusicBrowserFragment.java com.ideabag.playtunes.fragment.NavigationDrawerFragment.java com.ideabag.playtunes.fragment.NavigationFragment.java com.ideabag.playtunes.fragment.PlaylistsAllFragment.java com.ideabag.playtunes.fragment.PlaylistsOneFragment.java com.ideabag.playtunes.fragment.SaveScrollListFragment.java com.ideabag.playtunes.fragment.SongsFragment.java com.ideabag.playtunes.fragment.TrackProgressFragment.java com.ideabag.playtunes.fragment.search.SearchAlbumsFragment.java com.ideabag.playtunes.fragment.search.SearchAllFragment.java com.ideabag.playtunes.fragment.search.SearchArtistsFragment.java com.ideabag.playtunes.fragment.search.SearchFragment.java com.ideabag.playtunes.fragment.search.SearchSongsFragment.java com.ideabag.playtunes.fragment.search.SearchSuggestionsFragment.java com.ideabag.playtunes.media.AudioFocusHelper.java com.ideabag.playtunes.media.MusicFocusable.java com.ideabag.playtunes.media.MusicIntentReceiver.java com.ideabag.playtunes.media.PlaylistMediaPlayer.java com.ideabag.playtunes.media.RemoteControlClientCompat.java com.ideabag.playtunes.media.RemoteControlHelper.java com.ideabag.playtunes.service.LockscreenManager.java com.ideabag.playtunes.service.MusicPlayerService.java com.ideabag.playtunes.service.PlaybackNotification.java com.ideabag.playtunes.util.AdmobUtil.java com.ideabag.playtunes.util.AlbumSongsCountTask.java com.ideabag.playtunes.util.AsyncDrawable.java com.ideabag.playtunes.util.BitmapWorkerTask.java com.ideabag.playtunes.util.CheckRemoteVersionFileTask.java com.ideabag.playtunes.util.DrawerLayout.java com.ideabag.playtunes.util.GAEvent.java com.ideabag.playtunes.util.IMusicBrowser.java com.ideabag.playtunes.util.ISearchableAdapter.java com.ideabag.playtunes.util.LoadAlbumStackTask.java com.ideabag.playtunes.util.MergeAdapter.java com.ideabag.playtunes.util.QueryCountTask.java com.ideabag.playtunes.util.SackOfViewsAdapter.java com.ideabag.playtunes.util.SearchHistory.java com.ideabag.playtunes.util.StarToggleTask.java com.ideabag.playtunes.util.TrackerSingleton.java