From b288425994fcb447e6406c5d2238f0ca998ec67d Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Sun, 27 Nov 2016 14:29:00 +0100 Subject: [PATCH] add songs.year column --- src/ch/blinkenlights/android/medialibrary/MediaLibrary.java | 6 +++++- src/ch/blinkenlights/android/medialibrary/MediaScanner.java | 3 ++- src/ch/blinkenlights/android/medialibrary/MediaSchema.java | 3 ++- src/ch/blinkenlights/android/vanilla/MediaAdapter.java | 4 ++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/ch/blinkenlights/android/medialibrary/MediaLibrary.java b/src/ch/blinkenlights/android/medialibrary/MediaLibrary.java index 97de09a1..581bfe6b 100644 --- a/src/ch/blinkenlights/android/medialibrary/MediaLibrary.java +++ b/src/ch/blinkenlights/android/medialibrary/MediaLibrary.java @@ -306,6 +306,10 @@ public class MediaLibrary { * The album where this song belongs to */ public static final String ALBUM_ID = "album_id"; + /** + * The year of this song + */ + public static final String YEAR = "year"; /** * How often the song was played */ @@ -353,7 +357,7 @@ public class MediaLibrary { /** * The year of this album */ - public static final String YEAR = "year"; + public static final String PRIMARY_ALBUM_YEAR = "primary_album_year"; /** * The mtime of this item */ diff --git a/src/ch/blinkenlights/android/medialibrary/MediaScanner.java b/src/ch/blinkenlights/android/medialibrary/MediaScanner.java index b2f8cc01..33718622 100644 --- a/src/ch/blinkenlights/android/medialibrary/MediaScanner.java +++ b/src/ch/blinkenlights/android/medialibrary/MediaScanner.java @@ -168,6 +168,7 @@ public class MediaScanner implements Handler.Callback { v.put(MediaLibrary.SongColumns.ALBUM_ID, albumId); v.put(MediaLibrary.SongColumns.DURATION, tags.getFirst(MediaMetadataExtractor.DURATION)); v.put(MediaLibrary.SongColumns.SONG_NUMBER, tags.getFirst(MediaMetadataExtractor.TRACK_NUMBER)); + v.put(MediaLibrary.SongColumns.YEAR, tags.getFirst(MediaMetadataExtractor.YEAR)); v.put(MediaLibrary.SongColumns.PATH, path); mBackend.insert(MediaLibrary.TABLE_SONGS, null, v); @@ -176,7 +177,7 @@ public class MediaScanner implements Handler.Callback { v.put(MediaLibrary.AlbumColumns.ALBUM, album); v.put(MediaLibrary.AlbumColumns.ALBUM_SORT, MediaLibrary.keyFor(album)); v.put(MediaLibrary.AlbumColumns.PRIMARY_ARTIST_ID, artistId); - v.put(MediaLibrary.AlbumColumns.YEAR, tags.getFirst(MediaMetadataExtractor.YEAR)); + v.put(MediaLibrary.AlbumColumns.PRIMARY_ALBUM_YEAR,tags.getFirst(MediaMetadataExtractor.YEAR)); v.put(MediaLibrary.AlbumColumns.DISC_NUMBER, tags.getFirst(MediaMetadataExtractor.DISC_NUMBER)); mBackend.insert(MediaLibrary.TABLE_ALBUMS, null, v); diff --git a/src/ch/blinkenlights/android/medialibrary/MediaSchema.java b/src/ch/blinkenlights/android/medialibrary/MediaSchema.java index 9710536f..a93bdc97 100644 --- a/src/ch/blinkenlights/android/medialibrary/MediaSchema.java +++ b/src/ch/blinkenlights/android/medialibrary/MediaSchema.java @@ -28,6 +28,7 @@ public class MediaSchema { + MediaLibrary.SongColumns.TITLE +" TEXT NOT NULL, " + MediaLibrary.SongColumns.TITLE_SORT +" VARCHAR(64) NOT NULL, " + MediaLibrary.SongColumns.SONG_NUMBER +" INTEGER, " + + MediaLibrary.SongColumns.YEAR +" INTEGER, " + MediaLibrary.SongColumns.ALBUM_ID +" INTEGER NOT NULL, " + MediaLibrary.SongColumns.PLAYCOUNT +" INTEGER NOT NULL DEFAULT 0, " + MediaLibrary.SongColumns.SKIPCOUNT +" INTEGER NOT NULL DEFAULT 0, " @@ -44,7 +45,7 @@ public class MediaSchema { + MediaLibrary.AlbumColumns.ALBUM +" TEXT NOT NULL, " + MediaLibrary.AlbumColumns.ALBUM_SORT +" VARCHAR(64) NOT NULL, " + MediaLibrary.AlbumColumns.DISC_NUMBER +" INTEGER, " - + MediaLibrary.AlbumColumns.YEAR +" INTEGER, " + + MediaLibrary.AlbumColumns.PRIMARY_ALBUM_YEAR+" INTEGER, " + MediaLibrary.AlbumColumns.PRIMARY_ARTIST_ID +" INTEGER NOT NULL DEFAULT 0, " + MediaLibrary.AlbumColumns.MTIME +" TIMESTAMP DEFAULT CURRENT_TIMESTAMP " + ");"; diff --git a/src/ch/blinkenlights/android/vanilla/MediaAdapter.java b/src/ch/blinkenlights/android/vanilla/MediaAdapter.java index 8c36af90..b0b7ed6f 100644 --- a/src/ch/blinkenlights/android/vanilla/MediaAdapter.java +++ b/src/ch/blinkenlights/android/vanilla/MediaAdapter.java @@ -196,7 +196,7 @@ public class MediaAdapter mFieldKeys = new String[] { MediaLibrary.AlbumColumns.ALBUM_SORT, MediaLibrary.ContributorColumns.ARTIST_SORT }; mSortEntries = new int[] { R.string.name, R.string.artist_album, R.string.year, R.string.date_added }; mAdapterSortValues = new String[] { MediaLibrary.AlbumColumns.ALBUM_SORT+" %1$s", MediaLibrary.ContributorColumns.ARTIST_SORT+" %1$s,"+MediaLibrary.AlbumColumns.ALBUM_SORT+" %1$s", - MediaLibrary.AlbumColumns.YEAR+" %1$s", MediaLibrary.AlbumColumns.MTIME+" %1$s" }; + MediaLibrary.AlbumColumns.PRIMARY_ALBUM_YEAR+" %1$s", MediaLibrary.AlbumColumns.MTIME+" %1$s" }; break; case MediaUtils.TYPE_SONG: mSource = MediaLibrary.VIEW_SONGS_ALBUMS_ARTISTS; @@ -207,7 +207,7 @@ public class MediaAdapter MediaLibrary.ContributorColumns.ARTIST_SORT+" %1$s,"+MediaLibrary.AlbumColumns.ALBUM_SORT+" %1$s,"+MediaLibrary.AlbumColumns.DISC_NUMBER+","+MediaLibrary.SongColumns.SONG_NUMBER, MediaLibrary.ContributorColumns.ARTIST_SORT+" %1$s,"+MediaLibrary.AlbumColumns.ALBUM_SORT+" %1$s,"+MediaLibrary.SongColumns.TITLE_SORT+" %1$s", MediaLibrary.AlbumColumns.ALBUM_SORT+" %1$s,"+MediaLibrary.AlbumColumns.DISC_NUMBER+","+MediaLibrary.SongColumns.SONG_NUMBER, - MediaLibrary.AlbumColumns.YEAR+" %1$s,"+MediaLibrary.AlbumColumns.ALBUM_SORT+" %1$s,"+MediaLibrary.AlbumColumns.DISC_NUMBER+","+MediaLibrary.SongColumns.SONG_NUMBER, + MediaLibrary.SongColumns.YEAR+" %1$s,"+MediaLibrary.AlbumColumns.ALBUM_SORT+" %1$s,"+MediaLibrary.AlbumColumns.DISC_NUMBER+","+MediaLibrary.SongColumns.SONG_NUMBER, MediaLibrary.SongColumns.MTIME+" %1$s", MediaLibrary.SongColumns.PLAYCOUNT+" %1$s", };