From 89ad1c11349774901609886f1918891a3373590f Mon Sep 17 00:00:00 2001 From: TheScarastic Date: Thu, 11 May 2023 13:43:30 +0530 Subject: [PATCH] Eleven: Make unknown artist a translatable string --- res/values/strings.xml | 2 ++ src/org/lineageos/eleven/loaders/AlbumLoader.java | 2 +- .../lineageos/eleven/loaders/AlbumSongLoader.java | 3 ++- .../lineageos/eleven/loaders/LastAddedLoader.java | 4 ++-- .../eleven/loaders/PlaylistSongLoader.java | 4 ++-- src/org/lineageos/eleven/loaders/QueueLoader.java | 4 ++-- src/org/lineageos/eleven/loaders/SongLoader.java | 2 +- src/org/lineageos/eleven/model/Album.java | 15 ++++++++++++--- src/org/lineageos/eleven/model/Song.java | 14 ++++++++++++-- .../eleven/ui/fragments/AlbumDetailFragment.java | 2 +- 10 files changed, 37 insertions(+), 15 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 58912536..dce326e9 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -172,4 +172,6 @@ %1$s %2$s Music playback + + Unknown diff --git a/src/org/lineageos/eleven/loaders/AlbumLoader.java b/src/org/lineageos/eleven/loaders/AlbumLoader.java index 41e7b20a..2707512b 100644 --- a/src/org/lineageos/eleven/loaders/AlbumLoader.java +++ b/src/org/lineageos/eleven/loaders/AlbumLoader.java @@ -99,7 +99,7 @@ public class AlbumLoader extends SectionCreator.SimpleListLoader { } // Create a new album and add everything up - final Album album = new Album(id, albumName, artist, songCount, year); + final Album album = new Album(getContext(), id, albumName, artist, songCount, year); mAlbumsList.add(album); } while (cursor.moveToNext()); } diff --git a/src/org/lineageos/eleven/loaders/AlbumSongLoader.java b/src/org/lineageos/eleven/loaders/AlbumSongLoader.java index 568500d0..7d66ea01 100644 --- a/src/org/lineageos/eleven/loaders/AlbumSongLoader.java +++ b/src/org/lineageos/eleven/loaders/AlbumSongLoader.java @@ -88,7 +88,8 @@ public class AlbumSongLoader extends WrappedAsyncTaskLoader> { final int year = cursor.getInt(5); // Create a new song - final Song song = new Song(id, songName, artist, album, mAlbumID, seconds, year); + final Song song = new Song(getContext(), id, songName, artist, album, mAlbumID, + seconds, year); // Add everything up mSongList.add(song); diff --git a/src/org/lineageos/eleven/loaders/LastAddedLoader.java b/src/org/lineageos/eleven/loaders/LastAddedLoader.java index 584b8665..98806557 100644 --- a/src/org/lineageos/eleven/loaders/LastAddedLoader.java +++ b/src/org/lineageos/eleven/loaders/LastAddedLoader.java @@ -84,8 +84,8 @@ public class LastAddedLoader extends SectionCreator.SimpleListLoader { final int year = cursor.getInt(6); // Create a new song - final Song song = new Song(id, songName, artist, album, albumId, durationInSecs, - year); + final Song song = new Song(getContext(), id, songName, artist, album, albumId, + durationInSecs, year); // Add everything up mSongList.add(song); diff --git a/src/org/lineageos/eleven/loaders/PlaylistSongLoader.java b/src/org/lineageos/eleven/loaders/PlaylistSongLoader.java index c27f0d54..ac6c1f9e 100644 --- a/src/org/lineageos/eleven/loaders/PlaylistSongLoader.java +++ b/src/org/lineageos/eleven/loaders/PlaylistSongLoader.java @@ -150,8 +150,8 @@ public class PlaylistSongLoader extends WrappedAsyncTaskLoader> { .getColumnIndexOrThrow(AudioColumns.YEAR)); // Create a new song - final Song song = new Song(id, songName, artist, album, albumId, durationInSecs, - year); + final Song song = new Song(getContext(), id, songName, artist, album, albumId, + durationInSecs, year); // Add everything up mSongList.add(song); diff --git a/src/org/lineageos/eleven/loaders/QueueLoader.java b/src/org/lineageos/eleven/loaders/QueueLoader.java index ac4c3f21..6a9f379d 100644 --- a/src/org/lineageos/eleven/loaders/QueueLoader.java +++ b/src/org/lineageos/eleven/loaders/QueueLoader.java @@ -79,8 +79,8 @@ public class QueueLoader extends WrappedAsyncTaskLoader> { final int year = cursor.getInt(6); // Create a new song - final Song song = new Song(id, songName, artist, album, albumId, durationInSecs, - year); + final Song song = new Song(getContext(), id, songName, artist, album, albumId, + durationInSecs, year); // Add everything up mSongList.add(song); diff --git a/src/org/lineageos/eleven/loaders/SongLoader.java b/src/org/lineageos/eleven/loaders/SongLoader.java index 35f93159..281c3658 100644 --- a/src/org/lineageos/eleven/loaders/SongLoader.java +++ b/src/org/lineageos/eleven/loaders/SongLoader.java @@ -103,7 +103,7 @@ public class SongLoader extends SectionCreator.SimpleListLoader { final int year = cursor.getInt(6); // Create a new song - final Song song = new Song(id, songName, artist, album, albumId, + final Song song = new Song(getContext(), id, songName, artist, album, albumId, durationInSecs, year); if (cursor instanceof SortedCursor) { diff --git a/src/org/lineageos/eleven/model/Album.java b/src/org/lineageos/eleven/model/Album.java index 356f4710..6aa706af 100644 --- a/src/org/lineageos/eleven/model/Album.java +++ b/src/org/lineageos/eleven/model/Album.java @@ -17,8 +17,13 @@ */ package org.lineageos.eleven.model; +import android.content.Context; +import android.provider.MediaStore; + import androidx.annotation.NonNull; +import org.lineageos.eleven.R; + import java.util.Objects; /** @@ -62,14 +67,18 @@ public class Album { * @param songNumber The number of songs in the album * @param albumYear The year the album was released */ - public Album(final long albumId, final String albumName, final String artistName, - final int songNumber, final String albumYear) { + public Album(final Context context, final long albumId, final String albumName, + final String artistName, final int songNumber, final String albumYear) { super(); mAlbumId = albumId; mAlbumName = albumName; - mArtistName = artistName; mSongNumber = songNumber; mYear = albumYear; + if (MediaStore.UNKNOWN_STRING.equals(artistName)) { + mArtistName = context.getResources().getString(R.string.unknown_metadata); + } else { + mArtistName = artistName; + } } @Override diff --git a/src/org/lineageos/eleven/model/Song.java b/src/org/lineageos/eleven/model/Song.java index 7baea326..be9a03d2 100644 --- a/src/org/lineageos/eleven/model/Song.java +++ b/src/org/lineageos/eleven/model/Song.java @@ -17,8 +17,13 @@ */ package org.lineageos.eleven.model; +import android.content.Context; +import android.provider.MediaStore; + import androidx.annotation.NonNull; +import org.lineageos.eleven.R; + import java.util.Objects; /** @@ -79,15 +84,20 @@ public class Song { * @param duration The duration of a song in seconds * @param year The year the song was recorded */ - public Song(final long songId, final String songName, final String artistName, + public Song(Context context, final long songId, final String songName, final String artistName, final String albumName, final long albumId, final int duration, final int year) { mSongId = songId; mSongName = songName; - mArtistName = artistName; mAlbumName = albumName; mAlbumId = albumId; mDuration = duration; mYear = year; + + if (MediaStore.UNKNOWN_STRING.equals(artistName)) { + mArtistName = context.getResources().getString(R.string.unknown_metadata); + } else { + mArtistName = artistName; + } } @Override diff --git a/src/org/lineageos/eleven/ui/fragments/AlbumDetailFragment.java b/src/org/lineageos/eleven/ui/fragments/AlbumDetailFragment.java index 894d017f..badeb70b 100644 --- a/src/org/lineageos/eleven/ui/fragments/AlbumDetailFragment.java +++ b/src/org/lineageos/eleven/ui/fragments/AlbumDetailFragment.java @@ -94,7 +94,7 @@ public class AlbumDetailFragment extends DetailFragment implements IChildFragmen protected PopupMenuHelper createActionMenuHelper() { return new AlbumPopupMenuHelper(getActivity(), getChildFragmentManager()) { public Album getAlbum(int position) { - return new Album(mAlbumId, mAlbumName, mArtistName, -1, null); + return new Album(getContext(), mAlbumId, mAlbumName, mArtistName, -1, null); } }; } -- GitLab