diff --git a/build.gradle b/build.gradle index 510fec160dc5bf4ada5b37215b49ea64d1b487df..03b65a6c25d92d152f3814e34c13c0b6bcbc2625 100644 --- a/build.gradle +++ b/build.gradle @@ -16,6 +16,7 @@ allprojects { repositories { google() mavenCentral() + maven { url 'https://gitlab.e.foundation/api/v4/groups/9/-/packages/maven'} } } @@ -143,4 +144,6 @@ dependencies { // see https://github.com/material-components/material-components-android/releases implementation "com.google.android.material:material:1.3.0" + + implementation 'foundation.e:elib:0.0.1-alpha11' } diff --git a/src/org/lineageos/eleven/MusicPlaybackService.java b/src/org/lineageos/eleven/MusicPlaybackService.java index 3b5c13e8c194f59c0bf18b8d7bca9b80a6d4c3b3..b9ede243ab2f004de3d44a9cb78605322d7158ad 100644 --- a/src/org/lineageos/eleven/MusicPlaybackService.java +++ b/src/org/lineageos/eleven/MusicPlaybackService.java @@ -1481,7 +1481,7 @@ public class MusicPlaybackService extends Service final Intent intent = new Intent(what); intent.putExtra("id", getAudioId()); - intent.putExtra("artist", getArtistName()); + intent.putExtra("artist", getArtistName(getApplicationContext())); intent.putExtra("album", getAlbumName()); intent.putExtra("track", getTrackName()); intent.putExtra("playing", isPlaying()); @@ -1561,7 +1561,8 @@ public class MusicPlaybackService extends Service } mSession.setMetadata(new MediaMetadata.Builder() - .putString(MediaMetadata.METADATA_KEY_ARTIST, getArtistName()) + .putString(MediaMetadata.METADATA_KEY_ARTIST, + getArtistName(getApplicationContext())) .putString(MediaMetadata.METADATA_KEY_ALBUM_ARTIST, getAlbumArtistName()) .putString(MediaMetadata.METADATA_KEY_ALBUM, getAlbumName()) .putString(MediaMetadata.METADATA_KEY_TITLE, getTrackName()) @@ -1593,7 +1594,7 @@ public class MusicPlaybackService extends Service private Notification buildNotification() { final String albumName = getAlbumName(); - final String artistName = getArtistName(); + final String artistName = getArtistName(getApplicationContext()); final boolean isPlaying = isPlaying(); String text = TextUtils.isEmpty(albumName) ? artistName : artistName + " - " + albumName; @@ -2128,12 +2129,18 @@ public class MusicPlaybackService extends Service * * @return The current song artist name */ - public String getArtistName() { + public String getArtistName(Context context) { synchronized (this) { if (mCursor == null) { return null; } - return mCursor.getString(mCursor.getColumnIndexOrThrow(AudioColumns.ARTIST)); + String artistName = + mCursor.getString(mCursor.getColumnIndexOrThrow(AudioColumns.ARTIST)); + + if (artistName.equals(MediaStore.UNKNOWN_STRING)) { + artistName = context.getResources().getString(R.string.unknown_metadata); + } + return artistName; } } @@ -2829,7 +2836,7 @@ public class MusicPlaybackService extends Service */ public BitmapWithColors getAlbumArt(boolean smallBitmap) { final String albumName = getAlbumName(); - final String artistName = getArtistName(); + final String artistName = getArtistName(getApplicationContext()); final long albumId = getAlbumId(); final String key = albumName + "_" + artistName + "_" + albumId; final int targetIndex = smallBitmap ? 0 : 1; @@ -3589,7 +3596,7 @@ public class MusicPlaybackService extends Service @Override public String getArtistName() { - return mService.get().getArtistName(); + return mService.get().getArtistName(mService.get()); } @Override diff --git a/src/org/lineageos/eleven/appwidgets/AppWidgetLarge.java b/src/org/lineageos/eleven/appwidgets/AppWidgetLarge.java index de6d11d8b40dd37341787e4ecccef0dc688d9147..3ac47654f4a5442a21f7a1e0c6ba2fee249c2766 100644 --- a/src/org/lineageos/eleven/appwidgets/AppWidgetLarge.java +++ b/src/org/lineageos/eleven/appwidgets/AppWidgetLarge.java @@ -113,7 +113,7 @@ public class AppWidgetLarge extends AppWidgetBase { R.layout.app_widget_large); final CharSequence trackName = service.getTrackName(); - final CharSequence artistName = service.getArtistName(); + final CharSequence artistName = service.getArtistName(service); final CharSequence albumName = service.getAlbumName(); final Bitmap bitmap = service.getAlbumArt(true).getBitmap(); diff --git a/src/org/lineageos/eleven/appwidgets/AppWidgetLargeAlternate.java b/src/org/lineageos/eleven/appwidgets/AppWidgetLargeAlternate.java index 5db3c60e35dd2b9de66c93ecd4f243e65c545978..55e4ada727ceecffdc5ba42ad089e7a8264c0abf 100644 --- a/src/org/lineageos/eleven/appwidgets/AppWidgetLargeAlternate.java +++ b/src/org/lineageos/eleven/appwidgets/AppWidgetLargeAlternate.java @@ -118,7 +118,7 @@ public class AppWidgetLargeAlternate extends AppWidgetBase { R.layout.app_widget_large_alternate); final CharSequence trackName = service.getTrackName(); - final CharSequence artistName = service.getArtistName(); + final CharSequence artistName = service.getArtistName(service); final CharSequence albumName = service.getAlbumName(); final Bitmap bitmap = service.getAlbumArt(true).getBitmap(); diff --git a/src/org/lineageos/eleven/appwidgets/AppWidgetSmall.java b/src/org/lineageos/eleven/appwidgets/AppWidgetSmall.java index 34344d548ce0807c316d697a78578765eae5f123..2c2587e3267b591158bbf10f0996a53d1802138e 100644 --- a/src/org/lineageos/eleven/appwidgets/AppWidgetSmall.java +++ b/src/org/lineageos/eleven/appwidgets/AppWidgetSmall.java @@ -115,7 +115,7 @@ public class AppWidgetSmall extends AppWidgetBase { final CharSequence trackName = service.getTrackName(); final CharSequence albumName = service.getAlbumName(); - final CharSequence artistName = service.getArtistName(); + final CharSequence artistName = service.getArtistName(service); final Bitmap bitmap = service.getAlbumArt(true).getBitmap(); // Set the titles and artwork