From abd5653dc42be99066d3320cbdcb99262d01ad55 Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 1 Aug 2016 06:31:45 -0700 Subject: [PATCH] Add Util.getUtf8Bytes to avoid warnings ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=128980489 --- .../android/exoplayer2/text/webvtt/CssParserTest.java | 9 +++++---- .../exoplayer2/extractor/mkv/MatroskaExtractor.java | 4 ++-- .../java/com/google/android/exoplayer2/util/Util.java | 11 +++++++++++ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/library/src/androidTest/java/com/google/android/exoplayer2/text/webvtt/CssParserTest.java b/library/src/androidTest/java/com/google/android/exoplayer2/text/webvtt/CssParserTest.java index 33da3ffbd9..f471370e4c 100644 --- a/library/src/androidTest/java/com/google/android/exoplayer2/text/webvtt/CssParserTest.java +++ b/library/src/androidTest/java/com/google/android/exoplayer2/text/webvtt/CssParserTest.java @@ -17,6 +17,7 @@ package com.google.android.exoplayer2.text.webvtt; import android.test.InstrumentationTestCase; import com.google.android.exoplayer2.util.ParsableByteArray; +import com.google.android.exoplayer2.util.Util; /** * Unit test for {@link CssParser}. @@ -122,7 +123,7 @@ public final class CssParserTest extends InstrumentationTestCase { public void testGetNextToken() { String stringInput = " lorem:ipsum\n{dolor}#sit,amet;lorem:ipsum\r\t\f\ndolor(())\n"; - ParsableByteArray input = new ParsableByteArray(stringInput.getBytes()); + ParsableByteArray input = new ParsableByteArray(Util.getUtf8Bytes(stringInput)); StringBuilder builder = new StringBuilder(); assertEquals(CssParser.parseNextToken(input, builder), "lorem"); assertEquals(CssParser.parseNextToken(input, builder), ":"); @@ -178,20 +179,20 @@ public final class CssParserTest extends InstrumentationTestCase { // Utility methods. private void assertSkipsToEndOfSkip(String expectedLine, String s) { - ParsableByteArray input = new ParsableByteArray(s.getBytes()); + ParsableByteArray input = new ParsableByteArray(Util.getUtf8Bytes(s)); CssParser.skipWhitespaceAndComments(input); assertEquals(expectedLine, input.readLine()); } private void assertInputLimit(String expectedLine, String s) { - ParsableByteArray input = new ParsableByteArray(s.getBytes()); + ParsableByteArray input = new ParsableByteArray(Util.getUtf8Bytes(s)); CssParser.skipStyleBlock(input); assertEquals(expectedLine, input.readLine()); } private void assertParserProduces(WebvttCssStyle expected, String styleBlock){ - ParsableByteArray input = new ParsableByteArray(styleBlock.getBytes()); + ParsableByteArray input = new ParsableByteArray(Util.getUtf8Bytes(styleBlock)); WebvttCssStyle actualElem = parser.parseBlock(input); assertEquals(expected.hasBackgroundColor(), actualElem.hasBackgroundColor()); if (expected.hasBackgroundColor()) { diff --git a/library/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java b/library/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java index 614dd60acd..a0f964f983 100644 --- a/library/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java +++ b/library/src/main/java/com/google/android/exoplayer2/extractor/mkv/MatroskaExtractor.java @@ -986,8 +986,8 @@ public final class MatroskaExtractor implements Extractor { int seconds = (int) (timeUs / 1000000); timeUs -= (seconds * 1000000); int milliseconds = (int) (timeUs / 1000); - timeCodeData = String.format(Locale.US, "%02d:%02d:%02d,%03d", - hours, minutes, seconds, milliseconds).getBytes(); + timeCodeData = Util.getUtf8Bytes(String.format(Locale.US, "%02d:%02d:%02d,%03d", hours, + minutes, seconds, milliseconds)); } System.arraycopy(timeCodeData, 0, subripSampleData, SUBRIP_PREFIX_END_TIMECODE_OFFSET, SUBRIP_TIMECODE_LENGTH); diff --git a/library/src/main/java/com/google/android/exoplayer2/util/Util.java b/library/src/main/java/com/google/android/exoplayer2/util/Util.java index 03bdc25706..5d409d93a4 100644 --- a/library/src/main/java/com/google/android/exoplayer2/util/Util.java +++ b/library/src/main/java/com/google/android/exoplayer2/util/Util.java @@ -34,6 +34,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.math.BigDecimal; +import java.nio.charset.Charset; import java.text.ParseException; import java.util.Arrays; import java.util.Calendar; @@ -238,6 +239,16 @@ public final class Util { } } + /** + * Returns a new byte array containing the code points of a {@link String} encoded using UTF-8. + * + * @param value The {@link String} whose bytes should be obtained. + * @return The code points encoding using UTF-8. + */ + public static byte[] getUtf8Bytes(String value) { + return value.getBytes(Charset.defaultCharset()); // UTF-8 is the default on Android. + } + /** * Converts text to lower case using {@link Locale#US}. *