From a1b51215520bf847d82f9f66aea3867c3c171e7b Mon Sep 17 00:00:00 2001 From: linus_lee Date: Tue, 28 Oct 2014 12:12:06 -0700 Subject: Eleven: Don't show unknown artist/album entries https://cyanogen.atlassian.net/browse/MUSIC-117 Change-Id: I02aeca81f35fa3b2f013d01d11e7c5611f70b943 --- src/com/cyngn/eleven/loaders/AlbumLoader.java | 5 +++++ src/com/cyngn/eleven/loaders/ArtistAlbumLoader.java | 5 +++++ src/com/cyngn/eleven/loaders/ArtistLoader.java | 5 +++++ src/com/cyngn/eleven/ui/fragments/QueueFragment.java | 13 +++++++++++++ src/com/cyngn/eleven/utils/AlbumPopupMenuHelper.java | 13 +++++++++++++ src/com/cyngn/eleven/utils/SongPopupMenuHelper.java | 14 ++++++++++++++ 6 files changed, 55 insertions(+) (limited to 'src') diff --git a/src/com/cyngn/eleven/loaders/AlbumLoader.java b/src/com/cyngn/eleven/loaders/AlbumLoader.java index 48bc944..f3348b8 100644 --- a/src/com/cyngn/eleven/loaders/AlbumLoader.java +++ b/src/com/cyngn/eleven/loaders/AlbumLoader.java @@ -81,6 +81,11 @@ public class AlbumLoader extends SectionCreator.SimpleListLoader { // Copy the release year final String year = mCursor.getString(4); + // as per designer's request, don't show unknown albums + if (MediaStore.UNKNOWN_STRING.equals(albumName)) { + continue; + } + // Create a new album final Album album = new Album(id, albumName, artist, songCount, year); diff --git a/src/com/cyngn/eleven/loaders/ArtistAlbumLoader.java b/src/com/cyngn/eleven/loaders/ArtistAlbumLoader.java index d977751..56bf9bd 100644 --- a/src/com/cyngn/eleven/loaders/ArtistAlbumLoader.java +++ b/src/com/cyngn/eleven/loaders/ArtistAlbumLoader.java @@ -84,6 +84,11 @@ public class ArtistAlbumLoader extends WrappedAsyncTaskLoader> { // Copy the release year final String year = mCursor.getString(4); + // as per designer's request, don't show unknown albums + if (MediaStore.UNKNOWN_STRING.equals(albumName)) { + continue; + } + // Create a new album final Album album = new Album(id, albumName, artist, songCount, year); diff --git a/src/com/cyngn/eleven/loaders/ArtistLoader.java b/src/com/cyngn/eleven/loaders/ArtistLoader.java index 4894006..87767bc 100644 --- a/src/com/cyngn/eleven/loaders/ArtistLoader.java +++ b/src/com/cyngn/eleven/loaders/ArtistLoader.java @@ -75,6 +75,11 @@ public class ArtistLoader extends SectionCreator.SimpleListLoader { // Copy the number of songs final int songCount = mCursor.getInt(3); + // as per designer's request, don't show unknown artist + if (MediaStore.UNKNOWN_STRING.equals(artistName)) { + continue; + } + // Create a new artist final Artist artist = new Artist(id, artistName, songCount, albumCount); diff --git a/src/com/cyngn/eleven/ui/fragments/QueueFragment.java b/src/com/cyngn/eleven/ui/fragments/QueueFragment.java index e46242f..a97715a 100644 --- a/src/com/cyngn/eleven/ui/fragments/QueueFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/QueueFragment.java @@ -21,6 +21,7 @@ import android.content.IntentFilter; import android.content.ServiceConnection; import android.os.Bundle; import android.os.IBinder; +import android.provider.MediaStore; import android.support.v4.app.Fragment; import android.support.v4.app.LoaderManager.LoaderCallbacks; import android.support.v4.content.Loader; @@ -41,6 +42,7 @@ import com.cyngn.eleven.dragdrop.DragSortListView.RemoveListener; import com.cyngn.eleven.loaders.NowPlayingCursor; import com.cyngn.eleven.loaders.QueueLoader; import com.cyngn.eleven.menu.DeleteDialog; +import com.cyngn.eleven.menu.FragmentMenuItems; import com.cyngn.eleven.model.Song; import com.cyngn.eleven.recycler.RecycleHolder; import com.cyngn.eleven.service.MusicPlaybackTrack; @@ -54,6 +56,7 @@ import com.cyngn.eleven.widgets.PlayPauseProgressButton; import java.lang.ref.WeakReference; import java.util.List; +import java.util.TreeSet; /** * This class is used to display all of the songs in the queue. @@ -179,6 +182,16 @@ public class QueueFragment extends Fragment implements LoaderCallbacks set) { + super.updateMenuIds(type, set); + + // Don't show more by artist if it is an unknown artist + if (MediaStore.UNKNOWN_STRING.equals(mSong.mArtistName)) { + set.remove(FragmentMenuItems.MORE_BY_ARTIST); + } + } }; // Create the adapter diff --git a/src/com/cyngn/eleven/utils/AlbumPopupMenuHelper.java b/src/com/cyngn/eleven/utils/AlbumPopupMenuHelper.java index b67c373..20c233e 100644 --- a/src/com/cyngn/eleven/utils/AlbumPopupMenuHelper.java +++ b/src/com/cyngn/eleven/utils/AlbumPopupMenuHelper.java @@ -4,6 +4,7 @@ package com.cyngn.eleven.utils; import android.app.Activity; +import android.provider.MediaStore; import android.support.v4.app.FragmentManager; import android.view.MenuItem; @@ -14,6 +15,8 @@ import com.cyngn.eleven.menu.FragmentMenuItems; import com.cyngn.eleven.menu.PhotoSelectionDialog; import com.cyngn.eleven.model.Album; +import java.util.TreeSet; + public abstract class AlbumPopupMenuHelper extends PopupMenuHelper { protected Album mAlbum; @@ -80,4 +83,14 @@ public abstract class AlbumPopupMenuHelper extends PopupMenuHelper { return handled; } + + @Override + protected void updateMenuIds(PopupMenuType type, TreeSet set) { + super.updateMenuIds(type, set); + + // Don't show more by artist if it is an unknown artist + if (MediaStore.UNKNOWN_STRING.equals(mAlbum.mArtistName)) { + set.remove(FragmentMenuItems.MORE_BY_ARTIST); + } + } } diff --git a/src/com/cyngn/eleven/utils/SongPopupMenuHelper.java b/src/com/cyngn/eleven/utils/SongPopupMenuHelper.java index 76f15fc..9046b93 100644 --- a/src/com/cyngn/eleven/utils/SongPopupMenuHelper.java +++ b/src/com/cyngn/eleven/utils/SongPopupMenuHelper.java @@ -5,11 +5,15 @@ package com.cyngn.eleven.utils; import android.app.Activity; +import android.provider.MediaStore; import android.support.v4.app.FragmentManager; import com.cyngn.eleven.menu.DeleteDialog; +import com.cyngn.eleven.menu.FragmentMenuItems; import com.cyngn.eleven.model.Song; +import java.util.TreeSet; + public abstract class SongPopupMenuHelper extends PopupMenuHelper { protected Song mSong; @@ -45,4 +49,14 @@ public abstract class SongPopupMenuHelper extends PopupMenuHelper { DeleteDialog.newInstance(mSong.mSongName, getIdList(), null) .show(mFragmentManager, "DeleteDialog"); } + + @Override + protected void updateMenuIds(PopupMenuType type, TreeSet set) { + super.updateMenuIds(type, set); + + // Don't show more by artist if it is an unknown artist + if (MediaStore.UNKNOWN_STRING.equals(mSong.mArtistName)) { + set.remove(FragmentMenuItems.MORE_BY_ARTIST); + } + } } -- cgit v1.2.3