Implemented sorting on disc number in AlbumDetailsFragment (#310)

This commit is contained in:
Martijn Brekhof 2016-11-08 20:57:05 +01:00 committed by Synced Synapse
parent 77795d099a
commit 11b8d12b31
5 changed files with 17 additions and 6 deletions

View File

@ -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
};
}

View File

@ -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;");
}
}

View File

@ -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,
};
/**

View File

@ -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;
}

View File

@ -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;
}
}