diff --git a/build.gradle b/build.gradle index 38e3da75b5c891259bf363a7ff4438ca4958bdb9..2f6cc7777efc26d4f09920d8f797898bdd46f061 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.4.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 2355d0a01daf9830ce39d404050df7943708c4b4..b7156dbb40e1ed76d8c45c39ccc8223d7d335fa8 100644 --- a/src/org/lineageos/eleven/MusicPlaybackService.java +++ b/src/org/lineageos/eleven/MusicPlaybackService.java @@ -1480,7 +1480,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()); @@ -1560,7 +1560,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()) @@ -1592,7 +1593,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; @@ -2125,12 +2126,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; } } @@ -2826,7 +2833,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; @@ -3587,7 +3594,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 2cb27ac93d47f780c5dafd9a977b5fd35b17b81e..d81e3742e0e54c0b377288aca5329e21ad75a966 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 04909659710549f2e94142436ff55e9a044a4186..207bdcaba3c278e7303efca741d0471d62296c4d 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