Skip to content
Snippets Groups Projects
Commit 8ec4cb0d authored by Geoffrey Métais's avatar Geoffrey Métais
Browse files

Set type to medialibrary items

In order to avoid calls to instanceof
parent d66e1162
No related branches found
No related tags found
No related merge requests found
......@@ -57,6 +57,11 @@ public class Album extends MediaLibraryItem {
return nativeGetTracksFromAlbum(ml, mId);
}
@Override
public int getItemType() {
return TYPE_ALBUM;
}
private native MediaWrapper[] nativeGetTracksFromAlbum(Medialibrary ml, long mId);
@Override
......
......@@ -46,6 +46,11 @@ public class Artist extends MediaLibraryItem {
return nativeGetMediaFromArtist(ml, mId);
}
@Override
public int getItemType() {
return TYPE_ARTIST;
}
private native Album[] nativeGetAlbumsFromArtist(Medialibrary ml, long mId);
private native MediaWrapper[] nativeGetMediaFromArtist(Medialibrary ml, long mId);
......
......@@ -16,6 +16,11 @@ public class DummyItem extends MediaLibraryItem {
return new MediaWrapper[0];
}
@Override
public int getItemType() {
return TYPE_DUMMY;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
super.writeToParcel(parcel, i);
......
......@@ -23,6 +23,11 @@ public class Genre extends MediaLibraryItem {
return nativeGetTracksFromGenre(ml, mId);
}
@Override
public int getItemType() {
return TYPE_GENRE;
}
private native Album[] nativeGetAlbumsFromGenre(Medialibrary ml, long mId);
private native Artist[] nativeGetArtistsFromGenre(Medialibrary ml, long mId);
private native MediaWrapper[] nativeGetTracksFromGenre(Medialibrary ml, long mId);
......
......@@ -7,7 +7,15 @@ import org.videolan.medialibrary.Medialibrary;
public abstract class MediaLibraryItem implements Parcelable {
public static final int TYPE_ALBUM = 0;
public static final int TYPE_ARTIST = 1;
public static final int TYPE_GENRE = 2;
public static final int TYPE_PLAYLIST = 3;
public static final int TYPE_MEDIA = 4;
public static final int TYPE_DUMMY = 5;
public abstract MediaWrapper[] getTracks(Medialibrary ml);
public abstract int getItemType();
protected long mId;
protected String mTitle;
......
......@@ -265,6 +265,11 @@ public class MediaWrapper extends MediaLibraryItem implements Parcelable {
return new MediaWrapper[] {this};
}
@Override
public int getItemType() {
return TYPE_MEDIA;
}
public long getId() {
return mId;
}
......
......@@ -19,6 +19,11 @@ public class Playlist extends MediaLibraryItem {
return nativeGetTracksFromPlaylist(ml, mId);
}
@Override
public int getItemType() {
return TYPE_PLAYLIST;
}
public boolean append(Medialibrary ml, long mediaId) {
return nativePlaylistAppend(ml, mId, mediaId);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment