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

Commit 74eeb846 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Added inspector support for viewing audio files."

parents b083b696 84c36e43
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@
    <string name="metadata_aperture">Aperture</string>
    <!-- The value of a photos shutter speed. Note that this is probably camera EXIF data.-->
    <string name="metadata_shutter_speed">Shutter speed</string>
    <!-- When a photo was taken. Note that this is probably camera EXIF data.-->
    <!-- How long a video/audio file is.-->
    <string name="metadata_duration">Duration</string>
    <!-- When a photo was taken. Note that this is probably camera EXIF data.-->
    <string name="metadata_date_time">Taken on</string>
@@ -77,6 +77,12 @@
    <string name="metadata_iso_speed_ratings">ISO equivalent</string>
    <!--The format for displaying ISO speed. Note that this is probably camera EXIF data-->
    <string name="metadata_iso_format">ISO <xliff:g id="iso_speed" example="35">%1$d</xliff:g></string>
    <!--The title of the audio file, Note this is probably MP3 ID3 tags.-->
    <string name="metadata_artist">Artist</string>
    <!--The composer for the audio file, Note this is probably MP3 ID3 tags-->
    <string name="metadata_composer">Composer</string>
    <!--The album the file is in, Note this is probably MP3 ID3 tags-->
    <string name="metadata_album">Album</string>

    <!-- String label for developer/debug file details, specifying which stream types are available. -->
    <string name="debug_stream_types">Stream types</string>
+27 −0
Original line number Diff line number Diff line
@@ -69,9 +69,36 @@ public class MediaView extends TableView implements MediaDisplay {
            showVideoData(this, mResources, doc, video, geoClickListener);
        }

        Bundle audio = metadata.getBundle(Shared.METADATA_KEY_AUDIO);
        if (audio != null) {
            showAudioData(this, audio);
        }

        setVisible(!isEmpty());
    }

    @VisibleForTesting
    public static void showAudioData(TableDisplay table, Bundle tags) {

        if (tags.containsKey(MediaMetadata.METADATA_KEY_ARTIST)) {
            table.put(R.string.metadata_artist, tags.getString(MediaMetadata.METADATA_KEY_ARTIST));
        }

        if (tags.containsKey(MediaMetadata.METADATA_KEY_COMPOSER)) {
            table.put(R.string.metadata_composer,
                    tags.getString(MediaMetadata.METADATA_KEY_COMPOSER));
        }

        if (tags.containsKey(MediaMetadata.METADATA_KEY_ALBUM)) {
            table.put(R.string.metadata_album, tags.getString(MediaMetadata.METADATA_KEY_ALBUM));
        }

        if (tags.containsKey(MediaMetadata.METADATA_KEY_DURATION)) {
            int millis = tags.getInt(MediaMetadata.METADATA_KEY_DURATION);
            table.put(R.string.metadata_duration, DateUtils.formatElapsedTime(millis / 1000));
        }
    }

    @VisibleForTesting
    public static void showVideoData(
            TableDisplay table,
+12 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ public class MediaViewTest {
        mMetadata = new Bundle();
        TestMetadata.populateExifData(mMetadata);
        TestMetadata.populateVideoData(mMetadata);
        TestMetadata.populateAudioData(mMetadata);
    }

    /**
@@ -118,6 +119,17 @@ public class MediaViewTest {
        mTable.assertHasRow(R.string.metadata_dimensions, "1920 x 1080, 2.1MP");
    }

    @Test
    public void testShowAudioData() throws Exception {
        Bundle data = mMetadata.getBundle(Shared.METADATA_KEY_AUDIO);
        MediaView.showAudioData(mTable, data);

        mTable.assertHasRow(R.string.metadata_duration, "01:12");
        mTable.assertHasRow(R.string.metadata_artist, "artist");
        mTable.assertHasRow(R.string.metadata_composer, "composer");
        mTable.assertHasRow(R.string.metadata_album, "album");
    }

    /**
     * Test that the updateMetadata method is printing metadata for selected items found in the
     * bundle.
+10 −0
Original line number Diff line number Diff line
@@ -54,4 +54,14 @@ final class TestMetadata {
        data.putInt(ExifInterface.TAG_IMAGE_LENGTH, 1080);
        data.putInt(MediaMetadata.METADATA_KEY_DURATION, 72000);
    }

    static void populateAudioData(Bundle container) {
        Bundle data = new Bundle();
        container.putBundle(Shared.METADATA_KEY_AUDIO, data);

        data.putInt(MediaMetadata.METADATA_KEY_DURATION, 72000);
        data.putString(MediaMetadata.METADATA_KEY_ARTIST, "artist");
        data.putString(MediaMetadata.METADATA_KEY_COMPOSER, "composer");
        data.putString(MediaMetadata.METADATA_KEY_ALBUM, "album");
    }
}