diff --git a/app/src/main/java/org/xbmc/kore/provider/MediaContract.java b/app/src/main/java/org/xbmc/kore/provider/MediaContract.java index 8acfa2d..1b07b23 100644 --- a/app/src/main/java/org/xbmc/kore/provider/MediaContract.java +++ b/app/src/main/java/org/xbmc/kore/provider/MediaContract.java @@ -577,6 +577,7 @@ public class MediaContract { String FILE = "file"; String TRACK = "track"; String TITLE = "title"; + String DISC = "disc"; } public static class Songs implements BaseColumns, SyncColumns, SongsColumns { @@ -622,7 +623,7 @@ public class MediaContract { } public final static String[] ALL_COLUMNS = { - _ID, UPDATED, HOST_ID, ALBUMID, SONGID, DURATION, THUMBNAIL, FILE, TRACK, TITLE, + _ID, UPDATED, HOST_ID, ALBUMID, SONGID, DURATION, THUMBNAIL, FILE, TRACK, TITLE, DISC }; } diff --git a/app/src/main/java/org/xbmc/kore/provider/MediaDatabase.java b/app/src/main/java/org/xbmc/kore/provider/MediaDatabase.java index df9ed2a..9a88f03 100644 --- a/app/src/main/java/org/xbmc/kore/provider/MediaDatabase.java +++ b/app/src/main/java/org/xbmc/kore/provider/MediaDatabase.java @@ -34,7 +34,8 @@ public class MediaDatabase extends SQLiteOpenHelper { private static final int DB_VERSION_PRE_EVENT_SERVER = 4, DB_VERSION_PRE_SONG_ARTISTS = 5, DB_VERSION_PRE_SONG_DISPLAY_ARTIST = 6, - DB_VERSION = 7; + DB_VERSION_PRE_SONG_DISC = 7, + DB_VERSION = 8; /** * Tables exposed @@ -355,6 +356,7 @@ public class MediaDatabase extends SQLiteOpenHelper { MediaContract.SyncColumns.UPDATED + " INTEGER NOT NULL," + MediaContract.SongsColumns.HOST_ID + " INTEGER NOT NULL " + References.HOST_ID + ", " + MediaContract.SongsColumns.ALBUMID + " INTEGER NOT NULL, " + + MediaContract.SongsColumns.DISC + " INTEGER NOT NULL, " + MediaContract.SongsColumns.SONGID + " INTEGER NOT NULL, " + MediaContract.SongsColumns.DURATION + " INTEGER, " + MediaContract.SongsColumns.THUMBNAIL + " TEXT, " + @@ -490,6 +492,10 @@ public class MediaDatabase extends SQLiteOpenHelper { db.execSQL("ALTER TABLE " + Tables.SONGS + " ADD COLUMN " + MediaContract.SongsColumns.DISPLAYARTIST + " TEXT;"); + case DB_VERSION_PRE_SONG_DISC: + db.execSQL("ALTER TABLE " + Tables.SONGS + + " ADD COLUMN " + MediaContract.SongsColumns.DISC + + " INTEGER DEFAULT 1;"); } } diff --git a/app/src/main/java/org/xbmc/kore/service/library/SyncMusic.java b/app/src/main/java/org/xbmc/kore/service/library/SyncMusic.java index 345a42e..df94d01 100644 --- a/app/src/main/java/org/xbmc/kore/service/library/SyncMusic.java +++ b/app/src/main/java/org/xbmc/kore/service/library/SyncMusic.java @@ -269,11 +269,12 @@ public class SyncMusic extends SyncItem { //AudioType.FieldsSong.PLAYCOUNT, AudioType.FieldsSong.FANART, AudioType.FieldsSong.THUMBNAIL, AudioType.FieldsSong.FILE, AudioType.FieldsSong.ALBUMID, - //AudioType.FieldsSong.LASTPLAYED, AudioType.FieldsSong.DISC, + //AudioType.FieldsSong.LASTPLAYED, + AudioType.FieldsSong.DISC, //AudioType.FieldsSong.GENREID, AudioType.FieldsSong.ARTISTID, // AudioType.FieldsSong.ALBUMARTISTID, - AudioType.FieldsSong.DISPLAYARTIST + AudioType.FieldsSong.DISPLAYARTIST, }; /** diff --git a/app/src/main/java/org/xbmc/kore/service/library/SyncUtils.java b/app/src/main/java/org/xbmc/kore/service/library/SyncUtils.java index f36abbf..1002bc8 100644 --- a/app/src/main/java/org/xbmc/kore/service/library/SyncUtils.java +++ b/app/src/main/java/org/xbmc/kore/service/library/SyncUtils.java @@ -337,6 +337,7 @@ public class SyncUtils { songValues.put(MediaContract.Songs.TRACK, song.track); songValues.put(MediaContract.Songs.TITLE, song.title); songValues.put(MediaContract.Songs.DISPLAYARTIST, song.displayartist); + songValues.put(MediaContract.Songs.DISC, song.disc); return songValues; } diff --git a/app/src/main/java/org/xbmc/kore/ui/AlbumDetailsFragment.java b/app/src/main/java/org/xbmc/kore/ui/AlbumDetailsFragment.java index 29e8110..bd39954 100644 --- a/app/src/main/java/org/xbmc/kore/ui/AlbumDetailsFragment.java +++ b/app/src/main/java/org/xbmc/kore/ui/AlbumDetailsFragment.java @@ -754,10 +754,11 @@ public class AlbumDetailsFragment extends AbstractDetailsFragment MediaContract.Songs.DURATION, MediaContract.Songs.FILE, MediaContract.Songs.SONGID, - MediaContract.Songs.DISPLAYARTIST + MediaContract.Songs.DISPLAYARTIST, + MediaContract.Songs.DISC }; - String SORT = MediaContract.Songs.TRACK + " ASC"; + String SORT = MediaContract.Songs.DISC + " ASC, " + MediaContract.Songs.TRACK + " ASC"; int ID = 0; int TITLE = 1; @@ -766,5 +767,6 @@ public class AlbumDetailsFragment extends AbstractDetailsFragment int FILE = 4; int SONGID = 5; int ARTIST = 6; + int DISC = 7; } }