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

Commit a71f52bf authored by Gil Dobjanschi's avatar Gil Dobjanschi Committed by Android (Google) Code Review
Browse files

Merge "Close the file input stream if the XML file parsing fails."

parents da38b6dc 1fbeece6
Loading
Loading
Loading
Loading
+106 −101
Original line number Diff line number Diff line
@@ -748,9 +748,11 @@ public class VideoEditorTestImpl implements VideoEditor {
     */
    private void load() throws FileNotFoundException, XmlPullParserException, IOException {
        final File file = new File(mProjectPath, PROJECT_FILENAME);
        final FileInputStream fis = new FileInputStream(file);

        try {
            // Load the metadata
            final XmlPullParser parser = Xml.newPullParser();
        final FileInputStream fis = new FileInputStream(file);
            parser.setInput(fis, "UTF-8");
            int eventType = parser.getEventType();
            String name;
@@ -767,38 +769,38 @@ public class VideoEditorTestImpl implements VideoEditor {
                            final String mediaItemId = parser.getAttributeValue("", ATTR_ID);
                            final String type = parser.getAttributeValue("", ATTR_TYPE);
                            final String filename = parser.getAttributeValue("", ATTR_FILENAME);
                        final int renderingMode = Integer.parseInt(parser.getAttributeValue("",
                                ATTR_RENDERING_MODE));
                            final int renderingMode = Integer.parseInt(
                                    parser.getAttributeValue("", ATTR_RENDERING_MODE));

                            if (MediaImageItem.class.getSimpleName().equals(type)) {
                            final long durationMs = Long.parseLong(parser.getAttributeValue("",
                                    ATTR_DURATION));
                                final long durationMs = Long.parseLong(
                                        parser.getAttributeValue("", ATTR_DURATION));
                                currentMediaItem = new MediaImageItem(this, mediaItemId, filename,
                                        durationMs, renderingMode);
                            } else if (MediaVideoItem.class.getSimpleName().equals(type)) {
                            final long beginMs = Long.parseLong(parser.getAttributeValue("",
                                    ATTR_BEGIN_TIME));
                            final long endMs = Long.parseLong(parser.getAttributeValue("",
                                    ATTR_END_TIME));
                            final int volume = Integer.parseInt(parser.getAttributeValue("",
                                    ATTR_VOLUME));
                            final boolean muted = Boolean.parseBoolean(parser.getAttributeValue("",
                                    ATTR_MUTED));
                            final String audioWaveformFilename = parser.getAttributeValue("",
                                    ATTR_AUDIO_WAVEFORM_FILENAME);
                                final long beginMs = Long.parseLong(
                                        parser.getAttributeValue("", ATTR_BEGIN_TIME));
                                final long endMs = Long.parseLong(
                                        parser.getAttributeValue("", ATTR_END_TIME));
                                final int volume = Integer.parseInt(
                                        parser.getAttributeValue("", ATTR_VOLUME));
                                final boolean muted = Boolean.parseBoolean(
                                        parser.getAttributeValue("", ATTR_MUTED));
                                final String audioWaveformFilename =
                                        parser.getAttributeValue("", ATTR_AUDIO_WAVEFORM_FILENAME);
                                currentMediaItem = new MediaVideoItem(this, mediaItemId, filename,
                                        renderingMode, beginMs, endMs, volume, muted,
                                        audioWaveformFilename);

                            final long beginTimeMs = Long.parseLong(parser.getAttributeValue("",
                                    ATTR_BEGIN_TIME));
                            final long endTimeMs = Long.parseLong(parser.getAttributeValue("",
                                    ATTR_END_TIME));
                            ((MediaVideoItem)currentMediaItem).setExtractBoundaries(beginTimeMs,
                                    endTimeMs);
                                final long beginTimeMs = Long.parseLong(
                                        parser.getAttributeValue("", ATTR_BEGIN_TIME));
                                final long endTimeMs = Long.parseLong(
                                        parser.getAttributeValue("", ATTR_END_TIME));
                                ((MediaVideoItem)currentMediaItem).setExtractBoundaries(
                                        beginTimeMs, endTimeMs);

                            final int volumePercent = Integer.parseInt(parser.getAttributeValue("",
                                    ATTR_VOLUME));
                                final int volumePercent = Integer.parseInt(
                                        parser.getAttributeValue("", ATTR_VOLUME));
                                ((MediaVideoItem)currentMediaItem).setVolume(volumePercent);
                            } else {
                                Log.e(TAG, "Unknown media item type: " + type);
@@ -860,9 +862,12 @@ public class VideoEditorTestImpl implements VideoEditor {
                }
                eventType = parser.next();
            }

        fis.close();
            computeTimelineDuration();
        } finally {
            if (fis != null) {
                fis.close();
            }
        }
    }

    /**