diff options
author | linus_lee <llee@cyngn.com> | 2014-08-26 19:13:38 -0700 |
---|---|---|
committer | linus_lee <llee@cyngn.com> | 2014-11-20 11:58:47 -0800 |
commit | bcc8e52433bc844bef8f4a114a628252b7124dd8 (patch) | |
tree | 061db95d03bbe72e79902887d3734c7e08caaedc /src | |
parent | f5a90f5f31ffcb83e8323c8dc97e65b649724286 (diff) | |
download | android_packages_apps_Eleven-bcc8e52433bc844bef8f4a114a628252b7124dd8.tar.gz android_packages_apps_Eleven-bcc8e52433bc844bef8f4a114a628252b7124dd8.tar.bz2 android_packages_apps_Eleven-bcc8e52433bc844bef8f4a114a628252b7124dd8.zip |
Eleven: Rip out favorites logic as it is too similar to playlists
We can add it back in when we have a better definition of what we wants favorites
to be
Change-Id: I6e91ed290414b1226b6a7b78066c7b657727fe5b
Diffstat (limited to 'src')
26 files changed, 14 insertions, 968 deletions
diff --git a/src/com/cyngn/eleven/IElevenService.aidl b/src/com/cyngn/eleven/IElevenService.aidl index 3aa3c93..04347e5 100644 --- a/src/com/cyngn/eleven/IElevenService.aidl +++ b/src/com/cyngn/eleven/IElevenService.aidl @@ -16,9 +16,7 @@ interface IElevenService void setShuffleMode(int shufflemode); void setRepeatMode(int repeatmode); void moveQueueItem(int from, int to); - void toggleFavorite(); void refresh(); - boolean isFavorite(); boolean isPlaying(); long [] getQueue(); long duration(); diff --git a/src/com/cyngn/eleven/MusicPlaybackService.java b/src/com/cyngn/eleven/MusicPlaybackService.java index 61d04a1b..23df4d5 100644 --- a/src/com/cyngn/eleven/MusicPlaybackService.java +++ b/src/com/cyngn/eleven/MusicPlaybackService.java @@ -53,7 +53,6 @@ import com.cyngn.eleven.appwidgets.AppWidgetSmall; import com.cyngn.eleven.appwidgets.RecentWidgetProvider; import com.cyngn.eleven.cache.ImageCache; import com.cyngn.eleven.cache.ImageFetcher; -import com.cyngn.eleven.provider.FavoritesStore; import com.cyngn.eleven.provider.RecentStore; import com.cyngn.eleven.utils.ApolloUtils; import com.cyngn.eleven.utils.Lists; @@ -479,11 +478,6 @@ public class MusicPlaybackService extends Service { private RecentStore mRecentsCache; /** - * Favorites database - */ - private FavoritesStore mFavoritesCache; - - /** * {@inheritDoc} */ @Override @@ -540,7 +534,6 @@ public class MusicPlaybackService extends Service { // Initialize the favorites and recents databases mRecentsCache = RecentStore.getInstance(this); - mFavoritesCache = FavoritesStore.getInstance(this); // Initialize the notification helper mNotificationHelper = new NotificationHelper(this); @@ -1327,7 +1320,6 @@ public class MusicPlaybackService extends Service { intent.putExtra("album", getAlbumName()); intent.putExtra("track", getTrackName()); intent.putExtra("playing", isPlaying()); - intent.putExtra("isfavorite", isFavorite()); sendStickyBroadcast(intent); final Intent musicIntent = new Intent(intent); @@ -1335,11 +1327,6 @@ public class MusicPlaybackService extends Service { sendStickyBroadcast(musicIntent); if (what.equals(META_CHANGED)) { - // Increase the play count for favorite songs. - if (mFavoritesCache.getSongId(getAudioId()) != null) { - mFavoritesCache.addSongId(getAudioId(), getTrackName(), getAlbumName(), - getArtistName()); - } // Add the track to the recently played list. mRecentsCache.addAlbumId(getAlbumId(), getAlbumName(), getArtistName(), MusicUtils.getSongCountForAlbum(this, getAlbumId()), @@ -1910,19 +1897,6 @@ public class MusicPlaybackService extends Service { } /** - * True if the current track is a "favorite", false otherwise - */ - public boolean isFavorite() { - if (mFavoritesCache != null) { - synchronized (this) { - final Long id = mFavoritesCache.getSongId(getAudioId()); - return id != null ? true : false; - } - } - return false; - } - - /** * Opens a list for playback * * @param list The list of tracks to open @@ -2093,18 +2067,6 @@ public class MusicPlaybackService extends Service { } /** - * Toggles the current song as a favorite. - */ - public void toggleFavorite() { - if (mFavoritesCache != null) { - synchronized (this) { - mFavoritesCache.toggleSong(getAudioId(), getTrackName(), getAlbumName(), - getArtistName()); - } - } - } - - /** * Moves an item in the queue from one position to another * * @param from The position the item is currently at @@ -2824,14 +2786,6 @@ public class MusicPlaybackService extends Service { * {@inheritDoc} */ @Override - public void toggleFavorite() throws RemoteException { - mService.get().toggleFavorite(); - } - - /** - * {@inheritDoc} - */ - @Override public void refresh() throws RemoteException { mService.get().refresh(); } @@ -2840,14 +2794,6 @@ public class MusicPlaybackService extends Service { * {@inheritDoc} */ @Override - public boolean isFavorite() throws RemoteException { - return mService.get().isFavorite(); - } - - /** - * {@inheritDoc} - */ - @Override public boolean isPlaying() throws RemoteException { return mService.get().isPlaying(); } diff --git a/src/com/cyngn/eleven/adapters/ProfileSongAdapter.java b/src/com/cyngn/eleven/adapters/ProfileSongAdapter.java index 8ed092b..2995775 100644 --- a/src/com/cyngn/eleven/adapters/ProfileSongAdapter.java +++ b/src/com/cyngn/eleven/adapters/ProfileSongAdapter.java @@ -22,7 +22,6 @@ import com.cyngn.eleven.model.Song; import com.cyngn.eleven.ui.MusicHolder; import com.cyngn.eleven.ui.fragments.profile.AlbumSongFragment; import com.cyngn.eleven.ui.fragments.profile.ArtistSongFragment; -import com.cyngn.eleven.ui.fragments.profile.FavoriteFragment; import com.cyngn.eleven.ui.fragments.profile.GenreSongFragment; import com.cyngn.eleven.ui.fragments.profile.LastAddedFragment; import com.cyngn.eleven.ui.fragments.profile.PlaylistSongFragment; @@ -35,7 +34,7 @@ import java.util.List; * This {@link ArrayAdapter} is used to display the songs for a particular * artist, album, playlist, or genre for {@link ArtistSongFragment}, * {@link AlbumSongFragment},{@link PlaylistSongFragment}, - * {@link GenreSongFragment},{@link FavoriteFragment},{@link LastAddedFragment}. + * {@link GenreSongFragment},{@link LastAddedFragment}. * * @author Andrew Neal (andrewdneal@gmail.com) */ diff --git a/src/com/cyngn/eleven/loaders/FavoritesLoader.java b/src/com/cyngn/eleven/loaders/FavoritesLoader.java deleted file mode 100644 index fa96a79..0000000 --- a/src/com/cyngn/eleven/loaders/FavoritesLoader.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (C) 2012 Andrew Neal Licensed under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law - * or agreed to in writing, software distributed under the License is - * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ - -package com.cyngn.eleven.loaders; - -import android.content.Context; -import android.database.Cursor; - -import com.cyngn.eleven.model.Song; -import com.cyngn.eleven.provider.FavoritesStore; -import com.cyngn.eleven.provider.FavoritesStore.FavoriteColumns; -import com.cyngn.eleven.utils.Lists; - -import java.util.ArrayList; -import java.util.List; - -/** - * Used to query the {@link FavoritesStore} for the tracks marked as favorites. - * - * @author Andrew Neal (andrewdneal@gmail.com) - */ -public class FavoritesLoader extends WrappedAsyncTaskLoader<List<Song>> { - - /** - * The result - */ - private final ArrayList<Song> mSongList = Lists.newArrayList(); - - /** - * The {@link Cursor} used to run the query. - */ - private Cursor mCursor; - - /** - * Constructor of <code>FavoritesHandler</code> - * - * @param context The {@link Context} to use. - */ - public FavoritesLoader(final Context context) { - super(context); - } - - /** - * {@inheritDoc} - */ - @Override - public List<Song> loadInBackground() { - // Create the Cursor - mCursor = makeFavoritesCursor(getContext()); - // Gather the data - if (mCursor != null && mCursor.moveToFirst()) { - do { - - // Copy the song Id - final long id = mCursor.getLong(mCursor - .getColumnIndexOrThrow(FavoriteColumns.ID)); - - // Copy the song name - final String songName = mCursor.getString(mCursor - .getColumnIndexOrThrow(FavoriteColumns.SONGNAME)); - - // Copy the artist name - final String artist = mCursor.getString(mCursor - .getColumnIndexOrThrow(FavoriteColumns.ARTISTNAME)); - - // Copy the album name - final String album = mCursor.getString(mCursor - .getColumnIndexOrThrow(FavoriteColumns.ALBUMNAME)); - - // Create a new song - final Song song = new Song(id, songName, artist, album, -1, -1); - - // Add everything up - mSongList.add(song); - } while (mCursor.moveToNext()); - } - // Close the cursor - if (mCursor != null) { - mCursor.close(); - mCursor = null; - } - return mSongList; - } - - /** - * @param context The {@link Context} to use. - * @return The {@link Cursor} used to run the favorites query. - */ - public static final Cursor makeFavoritesCursor(final Context context) { - return FavoritesStore - .getInstance(context) - .getReadableDatabase() - .query(FavoriteColumns.NAME, - new String[] { - FavoriteColumns.ID + " as _id", FavoriteColumns.ID, - FavoriteColumns.SONGNAME, FavoriteColumns.ALBUMNAME, - FavoriteColumns.ARTISTNAME, FavoriteColumns.PLAYCOUNT - }, null, null, null, null, FavoriteColumns.PLAYCOUNT + " DESC"); - } -} diff --git a/src/com/cyngn/eleven/loaders/PlaylistLoader.java b/src/com/cyngn/eleven/loaders/PlaylistLoader.java index 3e34e75..485520f 100644 --- a/src/com/cyngn/eleven/loaders/PlaylistLoader.java +++ b/src/com/cyngn/eleven/loaders/PlaylistLoader.java @@ -90,11 +90,6 @@ public class PlaylistLoader extends WrappedAsyncTaskLoader<List<Playlist>> { private void makeDefaultPlaylists() { final Resources resources = getContext().getResources(); - /* Favorites list */ - final Playlist favorites = new Playlist(-1, - resources.getString(R.string.playlist_favorites)); - mPlaylistList.add(favorites); - /* Last added list */ final Playlist lastAdded = new Playlist(-2, resources.getString(R.string.playlist_last_added)); diff --git a/src/com/cyngn/eleven/menu/FragmentMenuItems.java b/src/com/cyngn/eleven/menu/FragmentMenuItems.java index 37ad97c..18570e9 100644 --- a/src/com/cyngn/eleven/menu/FragmentMenuItems.java +++ b/src/com/cyngn/eleven/menu/FragmentMenuItems.java @@ -31,9 +31,6 @@ public class FragmentMenuItems { /* Used to add to a playlist */ public static final int ADD_TO_PLAYLIST = 3; - /* Used to add to the favorites cache */ - public static final int ADD_TO_FAVORITES = 4; - /* Used to create a new playlist */ public static final int NEW_PLAYLIST = 5; @@ -58,9 +55,6 @@ public class FragmentMenuItems { /* Used to set a track as a ringtone */ public static final int USE_AS_RINGTONE = 12; - /* Used to remove a track from the favorites cache */ - public static final int REMOVE_FROM_FAVORITES = 13; - /* Used to remove a track from a playlist */ public static final int REMOVE_FROM_PLAYLIST = 14; diff --git a/src/com/cyngn/eleven/provider/FavoritesStore.java b/src/com/cyngn/eleven/provider/FavoritesStore.java deleted file mode 100644 index 2220e28..0000000 --- a/src/com/cyngn/eleven/provider/FavoritesStore.java +++ /dev/null @@ -1,240 +0,0 @@ -/* - * Copyright (C) 2012 Andrew Neal Licensed under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law - * or agreed to in writing, software distributed under the License is - * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ - -package com.cyngn.eleven.provider; - -import android.content.ContentValues; -import android.content.Context; -import android.database.Cursor; -import android.database.sqlite.SQLiteDatabase; -import android.database.sqlite.SQLiteOpenHelper; - -/** - * This class is used to to create the database used to make the Favorites - * playlist. - * - * @author Andrew Neal (andrewdneal@gmail.com) - */ -/** - * @author Andrew Neal (andrewdneal@gmail.com) - */ -public class FavoritesStore extends SQLiteOpenHelper { - - /* Version constant to increment when the database should be rebuilt */ - private static final int VERSION = 1; - - /* Name of database file */ - public static final String DATABASENAME = "favorites.db"; - - private static FavoritesStore sInstance = null; - - /** - * Constructor of <code>FavoritesStore</code> - * - * @param context The {@link Context} to use - */ - public FavoritesStore(final Context context) { - super(context, DATABASENAME, null, VERSION); - } - - /** - * {@inheritDoc} - */ - @Override - public void onCreate(final SQLiteDatabase db) { - db.execSQL("CREATE TABLE IF NOT EXISTS " + FavoriteColumns.NAME + " (" + FavoriteColumns.ID - + " LONG NOT NULL," + FavoriteColumns.SONGNAME + " TEXT NOT NULL," - + FavoriteColumns.ALBUMNAME + " TEXT NOT NULL," + FavoriteColumns.ARTISTNAME - + " TEXT NOT NULL," + FavoriteColumns.PLAYCOUNT + " LONG NOT NULL);"); - } - - /** - * {@inheritDoc} - */ - @Override - public void onUpgrade(final SQLiteDatabase db, final int oldVersion, final int newVersion) { - db.execSQL("DROP TABLE IF EXISTS " + FavoriteColumns.NAME); - onCreate(db); - } - - /** - * @param context The {@link Context} to use - * @return A new instance of this class - */ - public static final synchronized FavoritesStore getInstance(final Context context) { - if (sInstance == null) { - sInstance = new FavoritesStore(context.getApplicationContext()); - } - return sInstance; - } - - /** - * Used to store song Ids in our database - * - * @param songId The album's ID - * @param songName The song name - * @param albumName The album name - * @param artistName The artist name - */ - public void addSongId(final Long songId, final String songName, final String albumName, - final String artistName) { - if (songId == null || songName == null || albumName == null || artistName == null) { - return; - } - - final Long playCount = getPlayCount(songId); - final SQLiteDatabase database = getWritableDatabase(); - final ContentValues values = new ContentValues(5); - - database.beginTransaction(); - - values.put(FavoriteColumns.ID, songId); - values.put(FavoriteColumns.SONGNAME, songName); - values.put(FavoriteColumns.ALBUMNAME, albumName); - values.put(FavoriteColumns.ARTISTNAME, artistName); - values.put(FavoriteColumns.PLAYCOUNT, playCount != 0 ? playCount + 1 : 1); - - database.delete(FavoriteColumns.NAME, FavoriteColumns.ID + " = ?", new String[] { - String.valueOf(songId) - }); - database.insert(FavoriteColumns.NAME, null, values); - database.setTransactionSuccessful(); - database.endTransaction(); - - } - - /** - * Used to retrieve a single song Id from our database - * - * @param songId The song Id to reference - * @return The song Id - */ - public Long getSongId(final Long songId) { - if (songId <= -1) { - return null; - } - - final SQLiteDatabase database = getReadableDatabase(); - final String[] projection = new String[] { - FavoriteColumns.ID, FavoriteColumns.SONGNAME, FavoriteColumns.ALBUMNAME, - FavoriteColumns.ARTISTNAME, FavoriteColumns.PLAYCOUNT - }; - final String selection = FavoriteColumns.ID + "=?"; - final String[] having = new String[] { - String.valueOf(songId) - }; - Cursor cursor = database.query(FavoriteColumns.NAME, projection, selection, having, null, - null, null, null); - if (cursor != null && cursor.moveToFirst()) { - final Long id = cursor.getLong(cursor.getColumnIndexOrThrow(FavoriteColumns.ID)); - cursor.close(); - cursor = null; - return id; - } - if (cursor != null) { - cursor.close(); - cursor = null; - } - return null; - } - - /** - * Used to retrieve the play count - * - * @param songId The song Id to reference - * @return The play count for a song - */ - public Long getPlayCount(final Long songId) { - if (songId <= -1) { - return null; - } - - final SQLiteDatabase database = getReadableDatabase(); - final String[] projection = new String[] { - FavoriteColumns.ID, FavoriteColumns.SONGNAME, FavoriteColumns.ALBUMNAME, - FavoriteColumns.ARTISTNAME, FavoriteColumns.PLAYCOUNT - }; - final String selection = FavoriteColumns.ID + "=?"; - final String[] having = new String[] { - String.valueOf(songId) - }; - Cursor cursor = database.query(FavoriteColumns.NAME, projection, selection, having, null, - null, null, null); - if (cursor != null && cursor.moveToFirst()) { - final Long playCount = cursor.getLong(cursor - .getColumnIndexOrThrow(FavoriteColumns.PLAYCOUNT)); - cursor.close(); - cursor = null; - return playCount; - } - if (cursor != null) { - cursor.close(); - cursor = null; - } - - return (long)0; - } - - /** - * Clear the cache. - * - * @param context The {@link Context} to use. - */ - public static void deleteDatabase(final Context context) { - context.deleteDatabase(DATABASENAME); - } - - /** - * Toggle the current song as favorite - */ - public void toggleSong(final Long songId, final String songName, final String albumName, - final String artistName) { - if (getSongId(songId) == null) { - addSongId(songId, songName, albumName, artistName); - } else { - removeItem(songId); - } - - } - - /** - * @param item The song Id to remove - */ - public void removeItem(final Long songId) { - final SQLiteDatabase database = getReadableDatabase(); - database.delete(FavoriteColumns.NAME, FavoriteColumns.ID + " = ?", new String[] { - String.valueOf(songId) - }); - - } - - public interface FavoriteColumns { - - /* Table name */ - public static final String NAME = "favorites"; - - /* Song IDs column */ - public static final String ID = "songid"; - - /* Song name column */ - public static final String SONGNAME = "songname"; - - /* Album name column */ - public static final String ALBUMNAME = "albumname"; - - /* Artist name column */ - public static final String ARTISTNAME = "artistname"; - - /* Play count column */ - public static final String PLAYCOUNT = "playcount"; - } - -} diff --git a/src/com/cyngn/eleven/ui/activities/BaseActivity.java b/src/com/cyngn/eleven/ui/activities/BaseActivity.java index 173994f..7188f27 100644 --- a/src/com/cyngn/eleven/ui/activities/BaseActivity.java +++ b/src/com/cyngn/eleven/ui/activities/BaseActivity.java @@ -148,8 +148,6 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo updatePlaybackControls(); // Current info updateBottomActionBarInfo(); - // Update the favorites icon - invalidateOptionsMenu(); } /** @@ -396,8 +394,6 @@ public abstract class BaseActivity extends FragmentActivity implements ServiceCo if (action.equals(MusicPlaybackService.META_CHANGED)) { // Current info mReference.get().updateBottomActionBarInfo(); - // Update the favorites icon - mReference.get().invalidateOptionsMenu(); // Let the listener know to the meta chnaged for (final MusicStateListener listener : mReference.get().mMusicStateListener) { if (listener != null) { diff --git a/src/com/cyngn/eleven/ui/activities/ProfileActivity.java b/src/com/cyngn/eleven/ui/activities/ProfileActivity.java index d4a256d..70886e7 100644 --- a/src/com/cyngn/eleven/ui/activities/ProfileActivity.java +++ b/src/com/cyngn/eleven/ui/activities/ProfileActivity.java @@ -37,7 +37,6 @@ import com.cyngn.eleven.menu.PhotoSelectionDialog.ProfileType; import com.cyngn.eleven.ui.fragments.profile.AlbumSongFragment; import com.cyngn.eleven.ui.fragments.profile.ArtistAlbumFragment; import com.cyngn.eleven.ui.fragments.profile.ArtistSongFragment; -import com.cyngn.eleven.ui.fragments.profile.FavoriteFragment; import com.cyngn.eleven.ui.fragments.profile.GenreSongFragment; import com.cyngn.eleven.ui.fragments.profile.LastAddedFragment; import com.cyngn.eleven.ui.fragments.profile.PlaylistSongFragment; @@ -179,17 +178,6 @@ public class ProfileActivity extends BaseActivity implements OnPageChangeListene // Action bar subtitle = year released getActionBar().setSubtitle(mArguments.getString(Config.ALBUM_YEAR)); } else - // Set up the favorites profile - if (isFavorites()) { - // Add the carousel images - mTabCarousel.setPlaylistOrGenreProfileHeader(this, mProfileName); - - // Favorite fragment - mPagerAdapter.add(FavoriteFragment.class, null); - - // Action bar title = Favorites - getActionBar().setTitle(mProfileName); - } else // Set up the last added profile if (isLastAdded()) { // Add the carousel images @@ -261,7 +249,7 @@ public class ProfileActivity extends BaseActivity implements OnPageChangeListene // Set the shuffle all title to "play all" if a playlist. final MenuItem shuffle = menu.findItem(R.id.menu_shuffle); String title = null; - if (isFavorites() || isLastAdded() || isPlaylist()) { + if (isLastAdded() || isPlaylist()) { title = getString(R.string.menu_play_all); } else { title = getString(R.string.menu_shuffle); @@ -326,8 +314,6 @@ public class ProfileActivity extends BaseActivity implements OnPageChangeListene } if (isPlaylist()) { MusicUtils.playPlaylist(this, id); - } else if (isFavorites()) { - MusicUtils.playFavorites(this); } else if (isLastAdded()) { MusicUtils.playLastAdded(this); } else { @@ -654,13 +640,6 @@ public class ProfileActivity extends BaseActivity implements OnPageChangeListene } /** - * @return True if the MIME type is "Favorites", false otherwise. - */ - private final boolean isFavorites() { - return mType.equals(getString(R.string.playlist_favorites)); - } - - /** * @return True if the MIME type is "LastAdded", false otherwise. */ private final boolean isLastAdded() { diff --git a/src/com/cyngn/eleven/ui/activities/ShortcutActivity.java b/src/com/cyngn/eleven/ui/activities/ShortcutActivity.java index d30da08..08da62b 100644 --- a/src/com/cyngn/eleven/ui/activities/ShortcutActivity.java +++ b/src/com/cyngn/eleven/ui/activities/ShortcutActivity.java @@ -160,15 +160,6 @@ public class ShortcutActivity extends FragmentActivity implements ServiceConnect // Get the playlist song list mList = MusicUtils.getSongListForPlaylist(ShortcutActivity.this, getId()); } else - // Check the Favorites playlist - if (getString(R.string.playlist_favorites).equals(requestedMimeType)) { - - // Don't shuffle the Favorites track list - mShouldShuffle = false; - - // Get the Favorites song list - mList = MusicUtils.getSongListForFavorites(ShortcutActivity.this); - } else // Check for the Last added playlist if (getString(R.string.playlist_last_added).equals(requestedMimeType)) { @@ -235,11 +226,6 @@ public class ShortcutActivity extends FragmentActivity implements ServiceConnect // If the user searched for a playlist or genre, this list will // return empty if (data.isEmpty()) { - // Before running the playlist loader, try to play the - // "Favorites" playlist - if (isFavorite()) { - MusicUtils.playFavorites(ShortcutActivity.this); - } // Finish up allDone(); return; @@ -304,25 +290,6 @@ public class ShortcutActivity extends FragmentActivity implements ServiceConnect } /** - * @return True if the user searched for the favorites playlist - */ - private boolean isFavorite() { - // Check to see if the user spoke the word "Favorites" - final String favoritePlaylist = getString(R.string.playlist_favorites); - if (mVoiceQuery.equals(favoritePlaylist)) { - return true; - } - - // Check to see if the user spoke the word "Favorite" - final String favorite = getString(R.string.playlist_favorite); - if (mVoiceQuery.equals(favorite)) { - return true; - } - - return false; - } - - /** * Starts playback, open {@link AudioPlayerFragment} and finishes this one */ private void allDone() { diff --git a/src/com/cyngn/eleven/ui/fragments/AlbumFragment.java b/src/com/cyngn/eleven/ui/fragments/AlbumFragment.java index 1796e24..72b72fb 100644 --- a/src/com/cyngn/eleven/ui/fragments/AlbumFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/AlbumFragment.java @@ -193,7 +193,7 @@ public class AlbumFragment extends Fragment implements LoaderCallbacks<SectionLi // Add the album to a playlist final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, false); + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu); // View more content by the album artist menu.add(GROUP_ID, FragmentMenuItems.MORE_BY_ARTIST, Menu.NONE, diff --git a/src/com/cyngn/eleven/ui/fragments/ArtistFragment.java b/src/com/cyngn/eleven/ui/fragments/ArtistFragment.java index 36c5176..b7fd763 100644 --- a/src/com/cyngn/eleven/ui/fragments/ArtistFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/ArtistFragment.java @@ -203,7 +203,7 @@ public class ArtistFragment extends Fragment implements LoaderCallbacks<SectionL // Add the artist to a playlist final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, false); + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu); // Delete the artist menu.add(GROUP_ID, FragmentMenuItems.DELETE, Menu.NONE, diff --git a/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java b/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java index 7c3d305..b3c3b97 100644 --- a/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java @@ -168,8 +168,6 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection, updatePlaybackControls(); // Current info updateNowPlayingInfo(); - // Update the favorites icon - dismissPopupMenu(); } @Override @@ -749,7 +747,6 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection, if (action.equals(MusicPlaybackService.META_CHANGED)) { // Current info mReference.get().updateNowPlayingInfo(); - // Update the favorites icon mReference.get().dismissPopupMenu(); } else if (action.equals(MusicPlaybackService.PLAYSTATE_CHANGED)) { // Set the play and pause image diff --git a/src/com/cyngn/eleven/ui/fragments/PlaylistFragment.java b/src/com/cyngn/eleven/ui/fragments/PlaylistFragment.java index dc2e4eb..4f775cf 100644 --- a/src/com/cyngn/eleven/ui/fragments/PlaylistFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/PlaylistFragment.java @@ -183,8 +183,6 @@ public class PlaylistFragment extends Fragment implements LoaderCallbacks<List<P switch (item.getItemId()) { case FragmentMenuItems.PLAY_SELECTION: if (info.position == 0) { - MusicUtils.playFavorites(getActivity()); - } else if (info.position == 1) { MusicUtils.playLastAdded(getActivity()); } else { MusicUtils.playPlaylist(getActivity(), mPlaylist.mPlaylistId); @@ -193,8 +191,6 @@ public class PlaylistFragment extends Fragment implements LoaderCallbacks<List<P case FragmentMenuItems.ADD_TO_QUEUE: long[] list = null; if (info.position == 0) { - list = MusicUtils.getSongListForFavorites(getActivity()); - } else if (info.position == 1) { list = MusicUtils.getSongListForLastAdded(getActivity()); } else { list = MusicUtils.getSongListForPlaylist(getActivity(), @@ -225,12 +221,7 @@ public class PlaylistFragment extends Fragment implements LoaderCallbacks<List<P final Bundle bundle = new Bundle(); mPlaylist = mAdapter.getItem(position); String playlistName; - // Favorites list if (position == 0) { - playlistName = getString(R.string.playlist_favorites); - bundle.putString(Config.MIME_TYPE, getString(R.string.playlist_favorites)); - // Last added - } else if (position == 1) { playlistName = getString(R.string.playlist_last_added); bundle.putString(Config.MIME_TYPE, getString(R.string.playlist_last_added)); } else { diff --git a/src/com/cyngn/eleven/ui/fragments/QueueFragment.java b/src/com/cyngn/eleven/ui/fragments/QueueFragment.java index 0df8be0..8559046 100644 --- a/src/com/cyngn/eleven/ui/fragments/QueueFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/QueueFragment.java @@ -46,7 +46,6 @@ import com.cyngn.eleven.menu.CreateNewPlaylist; import com.cyngn.eleven.menu.DeleteDialog; import com.cyngn.eleven.menu.FragmentMenuItems; import com.cyngn.eleven.model.Song; -import com.cyngn.eleven.provider.FavoritesStore; import com.cyngn.eleven.recycler.RecycleHolder; import com.cyngn.eleven.ui.HeaderBar; import com.cyngn.eleven.ui.HeaderBar.PopupMenuCreator; @@ -256,7 +255,7 @@ public class QueueFragment extends Fragment implements LoaderCallbacks<List<Song // Add the song to a playlist final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, true); + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu); // Remove the song from the queue menu.add(GROUP_ID, FragmentMenuItems.REMOVE_FROM_QUEUE, Menu.NONE, @@ -297,10 +296,6 @@ public class QueueFragment extends Fragment implements LoaderCallbacks<List<Song MusicUtils.removeTrack(mSelectedId); refreshQueue(); return true; - case FragmentMenuItems.ADD_TO_FAVORITES: - FavoritesStore.getInstance(getActivity()).addSongId( - mSelectedId, mSongName, mAlbumName, mArtistName); - return true; case FragmentMenuItems.NEW_PLAYLIST: CreateNewPlaylist.getInstance(new long[] { mSelectedId diff --git a/src/com/cyngn/eleven/ui/fragments/RecentFragment.java b/src/com/cyngn/eleven/ui/fragments/RecentFragment.java index 317a6ec..050282c 100644 --- a/src/com/cyngn/eleven/ui/fragments/RecentFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/RecentFragment.java @@ -192,7 +192,7 @@ public class RecentFragment extends Fragment implements LoaderCallbacks<List<Alb // Add the album to a playlist final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, false); + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu); // View more content by the album artist menu.add(GROUP_ID, FragmentMenuItems.MORE_BY_ARTIST, Menu.NONE, diff --git a/src/com/cyngn/eleven/ui/fragments/SongFragment.java b/src/com/cyngn/eleven/ui/fragments/SongFragment.java index df85036..444d81f 100644 --- a/src/com/cyngn/eleven/ui/fragments/SongFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/SongFragment.java @@ -41,7 +41,6 @@ import com.cyngn.eleven.menu.CreateNewPlaylist; import com.cyngn.eleven.menu.DeleteDialog; import com.cyngn.eleven.menu.FragmentMenuItems; import com.cyngn.eleven.model.Song; -import com.cyngn.eleven.provider.FavoritesStore; import com.cyngn.eleven.recycler.RecycleHolder; import com.cyngn.eleven.sectionadapter.SectionAdapter; import com.cyngn.eleven.sectionadapter.SectionCreator; @@ -203,7 +202,7 @@ public class SongFragment extends Fragment implements LoaderCallbacks<SectionLis // Add the song to a playlist final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, true); + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu); // View more content by the song artist menu.add(GROUP_ID, FragmentMenuItems.MORE_BY_ARTIST, Menu.NONE, @@ -237,10 +236,6 @@ public class SongFragment extends Fragment implements LoaderCallbacks<SectionLis mSelectedId }); return true; - case FragmentMenuItems.ADD_TO_FAVORITES: - FavoritesStore.getInstance(getActivity()).addSongId( - mSelectedId, mSongName, mAlbumName, mArtistName); - return true; case FragmentMenuItems.NEW_PLAYLIST: CreateNewPlaylist.getInstance(new long[] { mSelectedId diff --git a/src/com/cyngn/eleven/ui/fragments/phone/MusicBrowserPhoneFragment.java b/src/com/cyngn/eleven/ui/fragments/phone/MusicBrowserPhoneFragment.java index 7ad0dda..4addbb3 100644 --- a/src/com/cyngn/eleven/ui/fragments/phone/MusicBrowserPhoneFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/phone/MusicBrowserPhoneFragment.java @@ -147,8 +147,6 @@ public class MusicBrowserPhoneFragment extends Fragment implements @Override public void onCreateOptionsMenu(final Menu menu, final MenuInflater inflater) { super.onCreateOptionsMenu(menu, inflater); - // Favorite action - inflater.inflate(R.menu.favorite, menu); // Shuffle all inflater.inflate(R.menu.shuffle, menu); if (isArtistPage()) { @@ -170,12 +168,6 @@ public class MusicBrowserPhoneFragment extends Fragment implements // Shuffle all the songs MusicUtils.shuffleAll(getActivity()); return true; - case R.id.menu_favorite: - // Toggle the current track as a favorite and update the menu - // item - MusicUtils.toggleFavorite(); - getActivity().invalidateOptionsMenu(); - return true; case R.id.menu_sort_by_az: if (isArtistPage()) { mPreferences.setArtistSortOrder(SortOrder.ArtistSortOrder.ARTIST_A_Z); diff --git a/src/com/cyngn/eleven/ui/fragments/profile/AlbumSongFragment.java b/src/com/cyngn/eleven/ui/fragments/profile/AlbumSongFragment.java index 64e646c..b99fe8b 100644 --- a/src/com/cyngn/eleven/ui/fragments/profile/AlbumSongFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/profile/AlbumSongFragment.java @@ -38,7 +38,6 @@ import com.cyngn.eleven.menu.CreateNewPlaylist; import com.cyngn.eleven.menu.DeleteDialog; import com.cyngn.eleven.menu.FragmentMenuItems; import com.cyngn.eleven.model.Song; -import com.cyngn.eleven.provider.FavoritesStore; import com.cyngn.eleven.recycler.RecycleHolder; import com.cyngn.eleven.utils.MusicUtils; import com.cyngn.eleven.widgets.ProfileTabCarousel; @@ -212,7 +211,7 @@ public class AlbumSongFragment extends Fragment implements LoaderCallbacks<List< // Add the song to a playlist final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, true); + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu); // Make the song a ringtone menu.add(GROUP_ID, FragmentMenuItems.USE_AS_RINGTONE, Menu.NONE, @@ -242,10 +241,6 @@ public class AlbumSongFragment extends Fragment implements LoaderCallbacks<List< mSelectedId }); return true; - case FragmentMenuItems.ADD_TO_FAVORITES: - FavoritesStore.getInstance(getActivity()).addSongId( - mSelectedId, mSongName, mAlbumName, mArtistName); - return true; case FragmentMenuItems.NEW_PLAYLIST: CreateNewPlaylist.getInstance(new long[] { mSelectedId diff --git a/src/com/cyngn/eleven/ui/fragments/profile/ArtistAlbumFragment.java b/src/com/cyngn/eleven/ui/fragments/profile/ArtistAlbumFragment.java index b016e92..37d0d30 100644 --- a/src/com/cyngn/eleven/ui/fragments/profile/ArtistAlbumFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/profile/ArtistAlbumFragment.java @@ -205,7 +205,7 @@ public class ArtistAlbumFragment extends Fragment implements LoaderCallbacks<Lis // Add the album to a playlist final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, false); + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu); // Delete the album menu.add(GROUP_ID, FragmentMenuItems.DELETE, Menu.NONE, diff --git a/src/com/cyngn/eleven/ui/fragments/profile/ArtistSongFragment.java b/src/com/cyngn/eleven/ui/fragments/profile/ArtistSongFragment.java index 1aef217..b161001 100644 --- a/src/com/cyngn/eleven/ui/fragments/profile/ArtistSongFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/profile/ArtistSongFragment.java @@ -38,7 +38,6 @@ import com.cyngn.eleven.menu.CreateNewPlaylist; import com.cyngn.eleven.menu.DeleteDialog; import com.cyngn.eleven.menu.FragmentMenuItems; import com.cyngn.eleven.model.Song; -import com.cyngn.eleven.provider.FavoritesStore; import com.cyngn.eleven.recycler.RecycleHolder; import com.cyngn.eleven.utils.MusicUtils; import com.cyngn.eleven.widgets.ProfileTabCarousel; @@ -208,7 +207,7 @@ public class ArtistSongFragment extends Fragment implements LoaderCallbacks<List // Add the song to a playlist final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, true); + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu); // Make the song a ringtone menu.add(GROUP_ID, FragmentMenuItems.USE_AS_RINGTONE, Menu.NONE, @@ -238,10 +237,6 @@ public class ArtistSongFragment extends Fragment implements LoaderCallbacks<List mSelectedId }); return true; - case FragmentMenuItems.ADD_TO_FAVORITES: - FavoritesStore.getInstance(getActivity()).addSongId( - mSelectedId, mSongName, mAlbumName, mArtistName); - return true; case FragmentMenuItems.NEW_PLAYLIST: CreateNewPlaylist.getInstance(new long[] { mSelectedId diff --git a/src/com/cyngn/eleven/ui/fragments/profile/FavoriteFragment.java b/src/com/cyngn/eleven/ui/fragments/profile/FavoriteFragment.java deleted file mode 100644 index 7eb1dc8..0000000 --- a/src/com/cyngn/eleven/ui/fragments/profile/FavoriteFragment.java +++ /dev/null @@ -1,339 +0,0 @@ -/* - * Copyright (C) 2012 Andrew Neal Licensed under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law - * or agreed to in writing, software distributed under the License is - * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ - -package com.cyngn.eleven.ui.fragments.profile; - -import android.app.Activity; -import android.database.Cursor; -import android.os.Bundle; -import android.os.SystemClock; -import android.support.v4.app.Fragment; -import android.support.v4.app.LoaderManager.LoaderCallbacks; -import android.support.v4.content.Loader; -import android.view.ContextMenu; -import android.view.ContextMenu.ContextMenuInfo; -import android.view.LayoutInflater; -import android.view.Menu; -import android.view.SubMenu; -import android.view.View; -import android.view.ViewGroup; -import android.widget.AdapterView; -import android.widget.AdapterView.AdapterContextMenuInfo; -import android.widget.AdapterView.OnItemClickListener; -import android.widget.ListView; -import android.widget.TextView; - -import com.cyngn.eleven.R; -import com.cyngn.eleven.adapters.ProfileSongAdapter; -import com.cyngn.eleven.loaders.FavoritesLoader; -import com.cyngn.eleven.menu.CreateNewPlaylist; -import com.cyngn.eleven.menu.DeleteDialog; -import com.cyngn.eleven.menu.FragmentMenuItems; -import com.cyngn.eleven.model.Song; -import com.cyngn.eleven.provider.FavoritesStore; -import com.cyngn.eleven.recycler.RecycleHolder; -import com.cyngn.eleven.utils.MusicUtils; -import com.cyngn.eleven.utils.NavUtils; -import com.cyngn.eleven.widgets.ProfileTabCarousel; -import com.cyngn.eleven.widgets.VerticalScrollListener; - -import java.util.List; - -/** - * This class is used to display all of the songs in {@link FavoritesStore - * }. - * - * @author Andrew Neal (andrewdneal@gmail.com) - */ -public class FavoriteFragment extends Fragment implements LoaderCallbacks<List<Song>>, - OnItemClickListener { - - /** - * Used to keep context menu items from bleeding into other fragments - */ - private static final int GROUP_ID = 6; - - /** - * LoaderCallbacks identifier - */ - private static final int LOADER = 0; - - /** - * Fragment UI - */ - private ViewGroup mRootView; - - /** - * The adapter for the list - */ - private ProfileSongAdapter mAdapter; - - /** - * The list view - */ - private ListView mListView; - - /** - * Represents a song - */ - private Song mSong; - - /** - * Position of a context menu item - */ - private int mSelectedPosition; - - /** - * Id of a context menu item - */ - private long mSelectedId; - - /** - * Artist name used in the context menu - */ - private String mArtistName; - - /** - * Profile header - */ - private ProfileTabCarousel mProfileTabCarousel; - - /** - * Empty constructor as per the {@link Fragment} documentation - */ - public FavoriteFragment() { - } - - /** - * {@inheritDoc} - */ - @Override - public void onAttach(final Activity activity) { - super.onAttach(activity); - mProfileTabCarousel = (ProfileTabCarousel)activity - .findViewById(R.id.acivity_profile_base_tab_carousel); - } - - /** - * {@inheritDoc} - */ - @Override - public void onCreate(final Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - // Create the adpater - mAdapter = new ProfileSongAdapter( - getActivity(), - R.layout.list_item_simple, - ProfileSongAdapter.DISPLAY_PLAYLIST_SETTING - ); - } - - /** - * {@inheritDoc} - */ - @Override - public View onCreateView(final LayoutInflater inflater, final ViewGroup container, - final Bundle savedInstanceState) { - // The View for the fragment's UI - mRootView = (ViewGroup)inflater.inflate(R.layout.list_base, null); - // Initialize the list - mListView = (ListView)mRootView.findViewById(R.id.list_base); - // Set the data behind the list - mListView.setAdapter(mAdapter); - // Release any references to the recycled Views - mListView.setRecyclerListener(new RecycleHolder()); - // Listen for ContextMenus to be created - mListView.setOnCreateContextMenuListener(this); - // Play the selected song - mListView.setOnItemClickListener(this); - // To help make scrolling smooth - mListView.setOnScrollListener(new VerticalScrollListener(null, mProfileTabCarousel, 0)); - // Remove the scrollbars and padding for the fast scroll - mListView.setVerticalScrollBarEnabled(false); - mListView.setFastScrollEnabled(false); - mListView.setPadding(0, 0, 0, 0); - return mRootView; - } - - /** - * {@inheritDoc} - */ - @Override - public void onActivityCreated(final Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - // Enable the options menu - setHasOptionsMenu(true); - // Start the loader - getLoaderManager().initLoader(LOADER, null, this); - } - - /** - * {@inheritDoc} - */ - @Override - public void onCreateContextMenu(final ContextMenu menu, final View v, - final ContextMenuInfo menuInfo) { - super.onCreateContextMenu(menu, v, menuInfo); - // Get the position of the selected item - final AdapterContextMenuInfo info = (AdapterContextMenuInfo)menuInfo; - mSelectedPosition = info.position - 1; - // Creat a new song - mSong = mAdapter.getItem(mSelectedPosition); - mSelectedId = mSong.mSongId; - mArtistName = mSong.mArtistName; - - // Play the song - menu.add(GROUP_ID, FragmentMenuItems.PLAY_SELECTION, Menu.NONE, - getString(R.string.context_menu_play_selection)); - - // Play next - menu.add(GROUP_ID, FragmentMenuItems.PLAY_NEXT, Menu.NONE, - getString(R.string.context_menu_play_next)); - - // Add the song to the queue - menu.add(GROUP_ID, FragmentMenuItems.ADD_TO_QUEUE, Menu.NONE, - getString(R.string.add_to_queue)); - - // Add the song to a playlist - final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, - Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, false); - - // View more content by the song artist - menu.add(GROUP_ID, FragmentMenuItems.MORE_BY_ARTIST, Menu.NONE, - getString(R.string.context_menu_more_by_artist)); - - // Make the song a ringtone - menu.add(GROUP_ID, FragmentMenuItems.USE_AS_RINGTONE, Menu.NONE, - getString(R.string.context_menu_use_as_ringtone)); - - // Remove from favorites - menu.add(GROUP_ID, FragmentMenuItems.REMOVE_FROM_FAVORITES, Menu.NONE, - getString(R.string.remove_from_favorites)); - - // Delete the song - menu.add(GROUP_ID, FragmentMenuItems.DELETE, Menu.NONE, - getString(R.string.context_menu_delete)); - } - - @Override - public boolean onContextItemSelected(final android.view.MenuItem item) { - if (item.getGroupId() == GROUP_ID) { - switch (item.getItemId()) { - case FragmentMenuItems.PLAY_SELECTION: - MusicUtils.playAll(getActivity(), new long[] { - mSelectedId - }, 0, false); - return true; - case FragmentMenuItems.PLAY_NEXT: - MusicUtils.playNext(new long[] { - mSelectedId - }); - return true; - case FragmentMenuItems.ADD_TO_QUEUE: - MusicUtils.addToQueue(getActivity(), new long[] { - mSelectedId - }); - return true; - case FragmentMenuItems.NEW_PLAYLIST: - CreateNewPlaylist.getInstance(new long[] { - mSelectedId - }).show(getFragmentManager(), "CreatePlaylist"); - return true; - case FragmentMenuItems.PLAYLIST_SELECTED: - final long mPlaylistId = item.getIntent().getLongExtra("playlist", 0); - MusicUtils.addToPlaylist(getActivity(), new long[] { - mSelectedId - }, mPlaylistId); - return true; - case FragmentMenuItems.MORE_BY_ARTIST: - NavUtils.openArtistProfile(getActivity(), mArtistName); - return true; - case FragmentMenuItems.USE_AS_RINGTONE: - MusicUtils.setRingtone(getActivity(), mSelectedId); - return true; - case FragmentMenuItems.REMOVE_FROM_FAVORITES: - FavoritesStore.getInstance(getActivity()).removeItem(mSelectedId); - getLoaderManager().restartLoader(LOADER, null, this); - return true; - case FragmentMenuItems.DELETE: - DeleteDialog.newInstance(mSong.mSongName, new long[] { - mSelectedId - }, null).show(getFragmentManager(), "DeleteDialog"); - SystemClock.sleep(10); - mAdapter.notifyDataSetChanged(); - getLoaderManager().restartLoader(LOADER, null, this); - return true; - default: - break; - } - } - return super.onContextItemSelected(item); - } - - /** - * {@inheritDoc} - */ - @Override - public void onItemClick(final AdapterView<?> parent, final View view, final int position, - final long id) { - if (position == 0) { - return; - } - Cursor cursor = FavoritesLoader.makeFavoritesCursor(getActivity()); - final long[] list = MusicUtils.getSongListForCursor(cursor); - MusicUtils.playAll(getActivity(), list, position - 1, false); - cursor.close(); - cursor = null; - } - - /** - * {@inheritDoc} - */ - @Override - public Loader<List<Song>> onCreateLoader(final int id, final Bundle args) { - return new FavoritesLoader(getActivity()); - } - - /** - * {@inheritDoc} - */ - @Override - public void onLoadFinished(final Loader<List<Song>> loader, final List<Song> data) { - // Check for any errors - if (data.isEmpty()) { - // Set the empty text - final TextView empty = (TextView)mRootView.findViewById(R.id.empty); - empty.setText(getString(R.string.empty_favorite)); - mListView.setEmptyView(empty); - return; - } - - // Start fresh - mAdapter.unload(); - // Return the correct count - mAdapter.setCount(data); - // Add the data to the adpater - for (final Song song : data) { - mAdapter.add(song); - } - } - - /** - * {@inheritDoc} - */ - @Override - public void onLoaderReset(final Loader<List<Song>> loader) { - // Clear the data in the adapter - mAdapter.unload(); - } - -} diff --git a/src/com/cyngn/eleven/ui/fragments/profile/GenreSongFragment.java b/src/com/cyngn/eleven/ui/fragments/profile/GenreSongFragment.java index 1f13c39..3be54fa 100644 --- a/src/com/cyngn/eleven/ui/fragments/profile/GenreSongFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/profile/GenreSongFragment.java @@ -38,7 +38,6 @@ import com.cyngn.eleven.menu.CreateNewPlaylist; import com.cyngn.eleven.menu.DeleteDialog; import com.cyngn.eleven.menu.FragmentMenuItems; import com.cyngn.eleven.model.Song; -import com.cyngn.eleven.provider.FavoritesStore; import com.cyngn.eleven.recycler.RecycleHolder; import com.cyngn.eleven.utils.MusicUtils; import com.cyngn.eleven.utils.NavUtils; @@ -209,7 +208,7 @@ public class GenreSongFragment extends Fragment implements LoaderCallbacks<List< // Add the song to a playlist final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, true); + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu); // View more content by the song artist menu.add(GROUP_ID, FragmentMenuItems.MORE_BY_ARTIST, Menu.NONE, @@ -243,10 +242,6 @@ public class GenreSongFragment extends Fragment implements LoaderCallbacks<List< mSelectedId }); return true; - case FragmentMenuItems.ADD_TO_FAVORITES: - FavoritesStore.getInstance(getActivity()).addSongId( - mSelectedId, mSongName, mAlbumName, mArtistName); - return true; case FragmentMenuItems.NEW_PLAYLIST: CreateNewPlaylist.getInstance(new long[] { mSelectedId diff --git a/src/com/cyngn/eleven/ui/fragments/profile/LastAddedFragment.java b/src/com/cyngn/eleven/ui/fragments/profile/LastAddedFragment.java index 1f60fcd..af7dbcd 100644 --- a/src/com/cyngn/eleven/ui/fragments/profile/LastAddedFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/profile/LastAddedFragment.java @@ -38,7 +38,6 @@ import com.cyngn.eleven.menu.CreateNewPlaylist; import com.cyngn.eleven.menu.DeleteDialog; import com.cyngn.eleven.menu.FragmentMenuItems; import com.cyngn.eleven.model.Song; -import com.cyngn.eleven.provider.FavoritesStore; import com.cyngn.eleven.recycler.RecycleHolder; import com.cyngn.eleven.utils.MusicUtils; import com.cyngn.eleven.utils.NavUtils; @@ -207,7 +206,7 @@ public class LastAddedFragment extends Fragment implements LoaderCallbacks<List< // Add the song to a playlist final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, false); + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu); // View more content by the song artist menu.add(GROUP_ID, FragmentMenuItems.MORE_BY_ARTIST, Menu.NONE, @@ -241,10 +240,6 @@ public class LastAddedFragment extends Fragment implements LoaderCallbacks<List< mSelectedId }); return true; - case FragmentMenuItems.ADD_TO_FAVORITES: - FavoritesStore.getInstance(getActivity()).addSongId( - mSelectedId, mSongName, mAlbumName, mArtistName); - return true; case FragmentMenuItems.NEW_PLAYLIST: CreateNewPlaylist.getInstance(new long[] { mSelectedId diff --git a/src/com/cyngn/eleven/ui/fragments/profile/PlaylistSongFragment.java b/src/com/cyngn/eleven/ui/fragments/profile/PlaylistSongFragment.java index 51fc1b6..492de25 100644 --- a/src/com/cyngn/eleven/ui/fragments/profile/PlaylistSongFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/profile/PlaylistSongFragment.java @@ -43,7 +43,6 @@ import com.cyngn.eleven.menu.CreateNewPlaylist; import com.cyngn.eleven.menu.DeleteDialog; import com.cyngn.eleven.menu.FragmentMenuItems; import com.cyngn.eleven.model.Song; -import com.cyngn.eleven.provider.FavoritesStore; import com.cyngn.eleven.recycler.RecycleHolder; import com.cyngn.eleven.utils.MusicUtils; import com.cyngn.eleven.utils.NavUtils; @@ -230,7 +229,7 @@ public class PlaylistSongFragment extends Fragment implements LoaderCallbacks<Li // Add the song to a playlist final SubMenu subMenu = menu.addSubMenu(GROUP_ID, FragmentMenuItems.ADD_TO_PLAYLIST, Menu.NONE, R.string.add_to_playlist); - MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu, true); + MusicUtils.makePlaylistMenu(getActivity(), GROUP_ID, subMenu); // View more content by the song artist menu.add(GROUP_ID, FragmentMenuItems.MORE_BY_ARTIST, Menu.NONE, @@ -268,10 +267,6 @@ public class PlaylistSongFragment extends Fragment implements LoaderCallbacks<Li mSelectedId }); return true; - case FragmentMenuItems.ADD_TO_FAVORITES: - FavoritesStore.getInstance(getActivity()).addSongId( - mSelectedId, mSongName, mAlbumName, mArtistName); - return true; case FragmentMenuItems.NEW_PLAYLIST: CreateNewPlaylist.getInstance(new long[] { mSelectedId diff --git a/src/com/cyngn/eleven/utils/MusicUtils.java b/src/com/cyngn/eleven/utils/MusicUtils.java index 5080a59..e5977c0 100644 --- a/src/com/cyngn/eleven/utils/MusicUtils.java +++ b/src/com/cyngn/eleven/utils/MusicUtils.java @@ -40,13 +40,10 @@ import android.view.SubMenu; import com.cyngn.eleven.IElevenService; import com.cyngn.eleven.MusicPlaybackService; import com.cyngn.eleven.R; -import com.cyngn.eleven.loaders.FavoritesLoader; import com.cyngn.eleven.loaders.LastAddedLoader; import com.cyngn.eleven.loaders.PlaylistLoader; import com.cyngn.eleven.loaders.SongLoader; import com.cyngn.eleven.menu.FragmentMenuItems; -import com.cyngn.eleven.provider.FavoritesStore; -import com.cyngn.eleven.provider.FavoritesStore.FavoriteColumns; import com.cyngn.eleven.provider.RecentStore; import com.devspark.appmsg.AppMsg; @@ -1017,31 +1014,6 @@ public final class MusicUtils { } /** - * Toggles the current song as a favorite. - */ - public static void toggleFavorite() { - try { - if (mService != null) { - mService.toggleFavorite(); - } - } catch (final RemoteException ignored) { - } - } - - /** - * @return True if the current song is a favorite, false otherwise. - */ - public static final boolean isFavorite() { - try { - if (mService != null) { - return mService.isFavorite(); - } - } catch (final RemoteException ignored) { - } - return false; - } - - /** * @param context The {@link Context} to sue * @param playlistId The playlist Id * @return The track list for a playlist @@ -1078,56 +1050,6 @@ public final class MusicUtils { } /** - * @param cursor The {@link Cursor} used to gather the list in our favorites - * database - * @return The song list for the favorite playlist - */ - public final static long[] getSongListForFavoritesCursor(Cursor cursor) { - if (cursor == null) { - return sEmptyList; - } - final int len = cursor.getCount(); - final long[] list = new long[len]; - cursor.moveToFirst(); - int colidx = -1; - try { - colidx = cursor.getColumnIndexOrThrow(FavoriteColumns.ID); - } catch (final Exception ignored) { - } - for (int i = 0; i < len; i++) { - list[i] = cursor.getLong(colidx); - cursor.moveToNext(); - } - cursor.close(); - cursor = null; - return list; - } - - /** - * @param context The {@link Context} to use - * @return The song list from our favorites database - */ - public final static long[] getSongListForFavorites(final Context context) { - Cursor cursor = FavoritesLoader.makeFavoritesCursor(context); - if (cursor != null) { - final long[] list = getSongListForFavoritesCursor(cursor); - cursor.close(); - cursor = null; - return list; - } - return sEmptyList; - } - - /** - * Play the songs that have been marked as favorites. - * - * @param context The {@link Context} to use - */ - public static void playFavorites(final Context context) { - playAll(context, getSongListForFavorites(context), 0, false); - } - - /** * @param context The {@link Context} to use * @return The song list for the last added playlist */ @@ -1161,16 +1083,10 @@ public final class MusicUtils { * @param context The {@link Context} to use. * @param groupId The group Id of the menu. * @param subMenu The {@link SubMenu} to add to. - * @param showFavorites True if we should show the option to add to the - * Favorites cache. */ public static void makePlaylistMenu(final Context context, final int groupId, - final SubMenu subMenu, final boolean showFavorites) { + final SubMenu subMenu) { subMenu.clear(); - if (showFavorites) { - subMenu.add(groupId, FragmentMenuItems.ADD_TO_FAVORITES, Menu.NONE, - R.string.add_to_favorites); - } subMenu.add(groupId, FragmentMenuItems.NEW_PLAYLIST, Menu.NONE, R.string.new_playlist); Cursor cursor = PlaylistLoader.makePlaylistCursor(context); if (cursor != null && cursor.getCount() > 0 && cursor.moveToFirst()) { @@ -1328,8 +1244,6 @@ public final class MusicUtils { // Remove from current playlist final long id = c.getLong(0); removeTrack(id); - // Remove from the favorites playlist - FavoritesStore.getInstance(context).removeItem(id); // Remove any items in the recents database RecentStore.getInstance(context).removeItem(c.getLong(2)); c.moveToNext(); |