summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorlinus_lee <llee@cyngn.com>2014-08-26 19:13:38 -0700
committerlinus_lee <llee@cyngn.com>2014-11-20 11:58:47 -0800
commitbcc8e52433bc844bef8f4a114a628252b7124dd8 (patch)
tree061db95d03bbe72e79902887d3734c7e08caaedc /src
parentf5a90f5f31ffcb83e8323c8dc97e65b649724286 (diff)
downloadandroid_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')
-rw-r--r--src/com/cyngn/eleven/IElevenService.aidl2
-rw-r--r--src/com/cyngn/eleven/MusicPlaybackService.java54
-rw-r--r--src/com/cyngn/eleven/adapters/ProfileSongAdapter.java3
-rw-r--r--src/com/cyngn/eleven/loaders/FavoritesLoader.java108
-rw-r--r--src/com/cyngn/eleven/loaders/PlaylistLoader.java5
-rw-r--r--src/com/cyngn/eleven/menu/FragmentMenuItems.java6
-rw-r--r--src/com/cyngn/eleven/provider/FavoritesStore.java240
-rw-r--r--src/com/cyngn/eleven/ui/activities/BaseActivity.java4
-rw-r--r--src/com/cyngn/eleven/ui/activities/ProfileActivity.java23
-rw-r--r--src/com/cyngn/eleven/ui/activities/ShortcutActivity.java33
-rw-r--r--src/com/cyngn/eleven/ui/fragments/AlbumFragment.java2
-rw-r--r--src/com/cyngn/eleven/ui/fragments/ArtistFragment.java2
-rw-r--r--src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java3
-rw-r--r--src/com/cyngn/eleven/ui/fragments/PlaylistFragment.java9
-rw-r--r--src/com/cyngn/eleven/ui/fragments/QueueFragment.java7
-rw-r--r--src/com/cyngn/eleven/ui/fragments/RecentFragment.java2
-rw-r--r--src/com/cyngn/eleven/ui/fragments/SongFragment.java7
-rw-r--r--src/com/cyngn/eleven/ui/fragments/phone/MusicBrowserPhoneFragment.java8
-rw-r--r--src/com/cyngn/eleven/ui/fragments/profile/AlbumSongFragment.java7
-rw-r--r--src/com/cyngn/eleven/ui/fragments/profile/ArtistAlbumFragment.java2
-rw-r--r--src/com/cyngn/eleven/ui/fragments/profile/ArtistSongFragment.java7
-rw-r--r--src/com/cyngn/eleven/ui/fragments/profile/FavoriteFragment.java339
-rw-r--r--src/com/cyngn/eleven/ui/fragments/profile/GenreSongFragment.java7
-rw-r--r--src/com/cyngn/eleven/ui/fragments/profile/LastAddedFragment.java7
-rw-r--r--src/com/cyngn/eleven/ui/fragments/profile/PlaylistSongFragment.java7
-rw-r--r--src/com/cyngn/eleven/utils/MusicUtils.java88
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();