Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit efe093c8 authored by Etienne Ruffieux's avatar Etienne Ruffieux
Browse files

Remove translation of Metadata's media ID.

Metadata's media ID isn't meant to be shared with user but
to identify and compare medias so its value shouldn't be
translated.

Adding static defaults for values used in default Metadata.

Tag: #feature
Test: atest MetadataTest
Bug: 281065893
Change-Id: I0035256daaa4bd3476dca68181ce9a3b27cbe8d5
parent ff9111bb
Loading
Loading
Loading
Loading
+18 −10
Original line number Diff line number Diff line
@@ -38,6 +38,16 @@ public class Metadata implements Cloneable {
    public String duration;
    public Image image;

    // Media ID is an implementation detail and doesn't need to be localized
    public static final String EMPTY_MEDIA_ID = "Not Provided";
    public static final String EMPTY_TITLE = "Not Provided";
    public static final String EMPTY_ARTIST = "";
    public static final String EMPTY_ALBUM = "";
    public static final String EMPTY_TRACK_NUM = "1";
    public static final String EMPTY_NUM_TRACKS = "1";
    public static final String EMPTY_GENRE = "";
    public static final String EMPTY_DURATION = "0";

    @Override
    public Metadata clone() {
        Metadata data = new Metadata();
@@ -282,21 +292,19 @@ public class Metadata implements Cloneable {
         */
        public Builder useDefaults() {
            if (mMetadata.mediaId == null) {
                mMetadata.mediaId =
                        mContext != null ? mContext.getString(R.string.not_provided)
                                : "Not Provided";
                mMetadata.mediaId = EMPTY_MEDIA_ID;
            }
            if (mMetadata.title == null) {
                mMetadata.title =
                        mContext != null ? mContext.getString(R.string.not_provided)
                                : "Not Provided";
            }
            if (mMetadata.artist == null) mMetadata.artist = "";
            if (mMetadata.album == null) mMetadata.album = "";
            if (mMetadata.trackNum == null) mMetadata.trackNum = "1";
            if (mMetadata.numTracks == null) mMetadata.numTracks = "1";
            if (mMetadata.genre == null) mMetadata.genre = "";
            if (mMetadata.duration == null) mMetadata.duration = "0";
                                : EMPTY_TITLE;
            }
            if (mMetadata.artist == null) mMetadata.artist = EMPTY_ARTIST;
            if (mMetadata.album == null) mMetadata.album = EMPTY_ALBUM;
            if (mMetadata.trackNum == null) mMetadata.trackNum = EMPTY_TRACK_NUM;
            if (mMetadata.numTracks == null) mMetadata.numTracks = EMPTY_NUM_TRACKS;
            if (mMetadata.genre == null) mMetadata.genre = EMPTY_GENRE;
            if (mMetadata.duration == null) mMetadata.duration = EMPTY_DURATION;
            // The default value chosen for an image is null. Update here if we pick something else
            return this;
        }
+3 −1
Original line number Diff line number Diff line
@@ -50,7 +50,9 @@ class Util {
     */
    public static final boolean isEmptyData(Metadata data) {
        if (data == null) return true;
        return (empty_data().equals(data) && data.mediaId.equals("Not Provided"));
        // Note: We need both equals() and an explicit media id check because equals() does
        // not check for the media ID.
        return (empty_data().equals(data) && data.mediaId.equals(Metadata.EMPTY_MEDIA_ID));
    }

    /**
+18 −27
Original line number Diff line number Diff line
@@ -73,15 +73,6 @@ public class MetadataTest {
            .appendQueryParameter("handle", IMAGE_HANDLE_1)
            .build();
    private static final String IMAGE_STRING_1 = IMAGE_URI_1.toString();

    private static final String DEFAULT_MEDIA_ID = "Not Provided";
    private static final String DEFAULT_TITLE = "Not Provided";
    private static final String DEFAULT_ARTIST = "";
    private static final String DEFAULT_ALBUM = "";
    private static final String DEFAULT_TRACK_NUM = "1";
    private static final String DEFAULT_NUM_TRACKS = "1";
    private static final String DEFAULT_GENRE = "";
    private static final String DEFAULT_DURATION = "0";
    private static final Image DEFAULT_IMAGE = null;

    private static final String SONG_MEDIA_ID = "abc123";
@@ -791,9 +782,9 @@ public class MetadataTest {
    @Test
    public void testBuildMetadataUseDefaults() {
        Metadata metadata = new Metadata.Builder().useDefaults().build();
        assertMetadata(DEFAULT_MEDIA_ID, DEFAULT_TITLE, DEFAULT_ARTIST, DEFAULT_ALBUM,
                DEFAULT_TRACK_NUM, DEFAULT_NUM_TRACKS, DEFAULT_GENRE, DEFAULT_DURATION,
                DEFAULT_IMAGE, metadata);
        assertMetadata(Metadata.EMPTY_MEDIA_ID, Metadata.EMPTY_TITLE, Metadata.EMPTY_ARTIST,
                Metadata.EMPTY_ALBUM, Metadata.EMPTY_TRACK_NUM, Metadata.EMPTY_NUM_TRACKS,
                Metadata.EMPTY_GENRE, Metadata.EMPTY_DURATION, DEFAULT_IMAGE, metadata);
    }

    /**
@@ -808,8 +799,8 @@ public class MetadataTest {
                .fromMediaDescription(description)
                .build();
        assertMetadata(SONG_MEDIA_ID, SONG_TITLE, SONG_ARTIST, SONG_ALBUM,
                DEFAULT_TRACK_NUM, DEFAULT_NUM_TRACKS, DEFAULT_GENRE, DEFAULT_DURATION,
                DEFAULT_IMAGE, metadata);
                Metadata.EMPTY_TRACK_NUM, Metadata.EMPTY_NUM_TRACKS, Metadata.EMPTY_GENRE,
                Metadata.EMPTY_DURATION, DEFAULT_IMAGE, metadata);
    }

    /**
@@ -837,9 +828,9 @@ public class MetadataTest {
        bundle.putString(MediaMetadata.METADATA_KEY_GENRE, SONG_GENRE);
        bundle.putParcelable(MediaMetadata.METADATA_KEY_ART, mTestBitmap);
        Metadata metadata = new Metadata.Builder().useDefaults().fromBundle(bundle).build();
        assertMetadata(DEFAULT_MEDIA_ID, SONG_TITLE, DEFAULT_ARTIST, DEFAULT_ALBUM,
                DEFAULT_TRACK_NUM, SONG_NUM_TRACKS, SONG_GENRE, DEFAULT_DURATION, mSongImage,
                metadata);
        assertMetadata(Metadata.EMPTY_MEDIA_ID, SONG_TITLE, Metadata.EMPTY_ARTIST,
                Metadata.EMPTY_ALBUM, Metadata.EMPTY_TRACK_NUM, SONG_NUM_TRACKS, SONG_GENRE,
                Metadata.EMPTY_DURATION, mSongImage, metadata);
    }

    /**
@@ -857,12 +848,12 @@ public class MetadataTest {
        bundle.putParcelable(MediaMetadata.METADATA_KEY_ART, mTestBitmap);
        Metadata metadata = new Metadata.Builder().fromBundle(bundle).useDefaults().build();
        Metadata metadata2 = new Metadata.Builder().useDefaults().fromBundle(bundle).build();
        assertMetadata(DEFAULT_MEDIA_ID, SONG_TITLE, DEFAULT_ARTIST, DEFAULT_ALBUM,
                DEFAULT_TRACK_NUM, SONG_NUM_TRACKS, SONG_GENRE, DEFAULT_DURATION, mSongImage,
                metadata);
        assertMetadata(DEFAULT_MEDIA_ID, SONG_TITLE, DEFAULT_ARTIST, DEFAULT_ALBUM,
                DEFAULT_TRACK_NUM, SONG_NUM_TRACKS, SONG_GENRE, DEFAULT_DURATION, mSongImage,
                metadata2);
        assertMetadata(Metadata.EMPTY_MEDIA_ID, SONG_TITLE, Metadata.EMPTY_ARTIST,
                Metadata.EMPTY_ALBUM, Metadata.EMPTY_TRACK_NUM, SONG_NUM_TRACKS, SONG_GENRE,
                Metadata.EMPTY_DURATION, mSongImage, metadata);
        assertMetadata(Metadata.EMPTY_MEDIA_ID, SONG_TITLE, Metadata.EMPTY_ARTIST,
                Metadata.EMPTY_ALBUM, Metadata.EMPTY_TRACK_NUM, SONG_NUM_TRACKS, SONG_GENRE,
                Metadata.EMPTY_DURATION, mSongImage, metadata2);
    }

    /**
@@ -908,7 +899,7 @@ public class MetadataTest {
                getMediaMetadataWithBitmap(MediaMetadata.METADATA_KEY_ART, mTestBitmap);
        Metadata metadata = new Metadata.Builder().fromMediaMetadata(m).build();
        Metadata metadata2 = metadata.clone();
        metadata2.artist = DEFAULT_ARTIST;
        metadata2.artist = Metadata.EMPTY_ARTIST;
        assertThat(metadata).isNotEqualTo(metadata2);
    }

@@ -921,7 +912,7 @@ public class MetadataTest {
                getMediaMetadataWithBitmap(MediaMetadata.METADATA_KEY_ART, mTestBitmap);
        Metadata metadata = new Metadata.Builder().fromMediaMetadata(m).build();
        Metadata metadata2 = metadata.clone();
        metadata2.album = DEFAULT_ALBUM;
        metadata2.album = Metadata.EMPTY_ALBUM;
        assertThat(metadata).isNotEqualTo(metadata2);
    }

@@ -934,7 +925,7 @@ public class MetadataTest {
                getMediaMetadataWithBitmap(MediaMetadata.METADATA_KEY_ART, mTestBitmap);
        Metadata metadata = new Metadata.Builder().fromMediaMetadata(m).build();
        Metadata metadata2 = metadata.clone();
        metadata2.trackNum = DEFAULT_TRACK_NUM;
        metadata2.trackNum = Metadata.EMPTY_TRACK_NUM;
        assertThat(metadata).isNotEqualTo(metadata2);
    }

@@ -947,7 +938,7 @@ public class MetadataTest {
                getMediaMetadataWithBitmap(MediaMetadata.METADATA_KEY_ART, mTestBitmap);
        Metadata metadata = new Metadata.Builder().fromMediaMetadata(m).build();
        Metadata metadata2 = metadata.clone();
        metadata2.numTracks = DEFAULT_NUM_TRACKS;
        metadata2.numTracks = Metadata.EMPTY_NUM_TRACKS;
        assertThat(metadata).isNotEqualTo(metadata2);
    }