From 38fb581ee120761bf2c2efaa62adeac6f9351a87 Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Wed, 29 Nov 2017 21:10:03 +0100 Subject: [PATCH] Add discNumber to Song and populate it --- .../android/vanilla/FullPlaybackActivity.java | 7 ++++--- src/ch/blinkenlights/android/vanilla/MediaUtils.java | 2 +- src/ch/blinkenlights/android/vanilla/Song.java | 7 +++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java b/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java index c1344702..a08d203d 100644 --- a/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java +++ b/src/ch/blinkenlights/android/vanilla/FullPlaybackActivity.java @@ -539,9 +539,10 @@ public class FullPlaybackActivity extends SlidingPlaybackActivity mYear = data.getFirst(MediaMetadataExtractor.YEAR); mPath = song.path; - String disc = data.getFirst(MediaMetadataExtractor.DISC_NUMBER); - if (disc != null && disc.length() > 0) - mTrack += String.format(" (%s💿)", disc); + mTrack = String.format("%d", song.trackNumber); + if (song.discNumber > 0) { + mTrack += String.format(" (%d💿)", song.discNumber); + } StringBuilder sb = new StringBuilder(12); sb.append(decodeMimeType(data.getFirst(MediaMetadataExtractor.MIME_TYPE))); diff --git a/src/ch/blinkenlights/android/vanilla/MediaUtils.java b/src/ch/blinkenlights/android/vanilla/MediaUtils.java index 5fc2f0e1..9a6398f8 100644 --- a/src/ch/blinkenlights/android/vanilla/MediaUtils.java +++ b/src/ch/blinkenlights/android/vanilla/MediaUtils.java @@ -559,7 +559,7 @@ public class MediaUtils { songId = -2; // must be less than -1 (-1 defines an empty song object) // Build minimal fake-database entry for this file - Object[] objData = new Object[] { songId, path, "", "", "", 0, 0, 0, 0 }; + Object[] objData = new Object[] { songId, path, "", "", "", 0, 0, 0, 0, 0 }; if (title != null) objData[2] = title; diff --git a/src/ch/blinkenlights/android/vanilla/Song.java b/src/ch/blinkenlights/android/vanilla/Song.java index 566151fb..e5f43068 100644 --- a/src/ch/blinkenlights/android/vanilla/Song.java +++ b/src/ch/blinkenlights/android/vanilla/Song.java @@ -62,6 +62,7 @@ public class Song implements Comparable { MediaLibrary.ContributorColumns.ARTIST_ID, MediaLibrary.SongColumns.DURATION, MediaLibrary.SongColumns.SONG_NUMBER, + MediaLibrary.SongColumns.DISC_NUMBER, }; public static final String[] EMPTY_PLAYLIST_PROJECTION = { @@ -78,6 +79,7 @@ public class Song implements Comparable { MediaLibrary.ContributorColumns.ARTIST_ID, MediaLibrary.SongColumns.DURATION, MediaLibrary.SongColumns.SONG_NUMBER, + MediaLibrary.SongColumns.DISC_NUMBER, }; /** @@ -124,6 +126,10 @@ public class Song implements Comparable { * The position of the song in its album. */ public int trackNumber; + /** + * The disc number where this song is present. + */ + public int discNumber; /** * Song flags. Currently {@link #FLAG_RANDOM} or {@link #FLAG_NO_COVER}. @@ -181,6 +187,7 @@ public class Song implements Comparable { artistId = cursor.getLong(6); duration = cursor.getLong(7); trackNumber = cursor.getInt(8); + discNumber = cursor.getInt(9); } /**