From f634b1d4d8bfba6f4ec760ea2bd5e3c96fd5cb43 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Thu, 29 Mar 2018 05:13:17 -0700 Subject: [PATCH] Resolve locale warnings in EventLogger Use string concatenation for Metadata.Entry instances, and add Util.formatInvariant for numerical formatting. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=190915643 --- .../android/exoplayer2/metadata/Metadata.java | 2 + .../metadata/emsg/EventMessage.java | 5 ++ .../exoplayer2/metadata/id3/ApicFrame.java | 7 ++ .../exoplayer2/metadata/id3/CommentFrame.java | 7 ++ .../exoplayer2/metadata/id3/GeobFrame.java | 13 ++++ .../exoplayer2/metadata/id3/Id3Frame.java | 5 ++ .../exoplayer2/metadata/id3/PrivFrame.java | 6 ++ .../metadata/id3/TextInformationFrame.java | 7 ++ .../exoplayer2/metadata/id3/UrlLinkFrame.java | 7 ++ .../metadata/scte35/SpliceCommand.java | 7 ++ .../android/exoplayer2/util/EventLogger.java | 65 ++----------------- .../google/android/exoplayer2/util/Util.java | 9 +++ 12 files changed, 79 insertions(+), 61 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/metadata/Metadata.java b/library/core/src/main/java/com/google/android/exoplayer2/metadata/Metadata.java index 40c05a5602..a8c9d0b5a8 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/metadata/Metadata.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/metadata/Metadata.java @@ -92,6 +92,8 @@ public final class Metadata implements Parcelable { return Arrays.hashCode(entries); } + // Parcelable implementation. + @Override public int describeContents() { return 0; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/metadata/emsg/EventMessage.java b/library/core/src/main/java/com/google/android/exoplayer2/metadata/emsg/EventMessage.java index 57e7f0bfd6..0612c18e18 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/metadata/emsg/EventMessage.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/metadata/emsg/EventMessage.java @@ -117,6 +117,11 @@ public final class EventMessage implements Metadata.Entry { && Util.areEqual(value, other.value) && Arrays.equals(messageData, other.messageData); } + @Override + public String toString() { + return "EMSG: scheme=" + schemeIdUri + ", id=" + id + ", value=" + value; + } + // Parcelable implementation. @Override diff --git a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/ApicFrame.java b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/ApicFrame.java index c64be24a31..eafb0286ce 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/ApicFrame.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/ApicFrame.java @@ -72,6 +72,13 @@ public final class ApicFrame extends Id3Frame { return result; } + @Override + public String toString() { + return id + ": mimeType=" + mimeType + ", description=" + description; + } + + // Parcelable implementation. + @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(mimeType); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/CommentFrame.java b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/CommentFrame.java index b7cc937ac4..b43a46349c 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/CommentFrame.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/CommentFrame.java @@ -66,6 +66,13 @@ public final class CommentFrame extends Id3Frame { return result; } + @Override + public String toString() { + return id + ": language=" + language + ", description=" + description; + } + + // Parcelable implementation. + @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(id); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/GeobFrame.java b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/GeobFrame.java index 79e145fc7c..0ed429055b 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/GeobFrame.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/GeobFrame.java @@ -71,6 +71,19 @@ public final class GeobFrame extends Id3Frame { return result; } + @Override + public String toString() { + return id + + ": mimeType=" + + mimeType + + ", filename=" + + filename + + ", description=" + + description; + } + + // Parcelable implementation. + @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(mimeType); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/Id3Frame.java b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/Id3Frame.java index 9948f730eb..433c52bdcc 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/Id3Frame.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/Id3Frame.java @@ -32,6 +32,11 @@ public abstract class Id3Frame implements Metadata.Entry { this.id = Assertions.checkNotNull(id); } + @Override + public String toString() { + return id; + } + @Override public int describeContents() { return 0; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/PrivFrame.java b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/PrivFrame.java index fe55f5ddc0..db6db2ea4f 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/PrivFrame.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/PrivFrame.java @@ -62,6 +62,12 @@ public final class PrivFrame extends Id3Frame { return result; } + @Override + public String toString() { + return id + ": owner=" + owner; + } + // Parcelable implementation. + @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(owner); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/TextInformationFrame.java b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/TextInformationFrame.java index 6221062e33..3374db5d8d 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/TextInformationFrame.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/TextInformationFrame.java @@ -61,6 +61,13 @@ public final class TextInformationFrame extends Id3Frame { return result; } + @Override + public String toString() { + return id + ": value=" + value; + } + + // Parcelable implementation. + @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(id); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/UrlLinkFrame.java b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/UrlLinkFrame.java index 2148b921e1..775ab5dd3e 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/UrlLinkFrame.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/metadata/id3/UrlLinkFrame.java @@ -61,6 +61,13 @@ public final class UrlLinkFrame extends Id3Frame { return result; } + @Override + public String toString() { + return id + ": url=" + url; + } + + // Parcelable implementation. + @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(id); diff --git a/library/core/src/main/java/com/google/android/exoplayer2/metadata/scte35/SpliceCommand.java b/library/core/src/main/java/com/google/android/exoplayer2/metadata/scte35/SpliceCommand.java index 8dfa3b8942..b0c3e34cde 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/metadata/scte35/SpliceCommand.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/metadata/scte35/SpliceCommand.java @@ -22,6 +22,13 @@ import com.google.android.exoplayer2.metadata.Metadata; */ public abstract class SpliceCommand implements Metadata.Entry { + @Override + public String toString() { + return "SCTE-35 splice command: type=" + getClass().getSimpleName(); + } + + // Parcelable implementation. + @Override public int describeContents() { return 0; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/util/EventLogger.java b/library/core/src/main/java/com/google/android/exoplayer2/util/EventLogger.java index 1e1b8489d1..2a3b36c96b 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/util/EventLogger.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/util/EventLogger.java @@ -31,15 +31,6 @@ import com.google.android.exoplayer2.decoder.DecoderCounters; import com.google.android.exoplayer2.drm.DefaultDrmSessionEventListener; import com.google.android.exoplayer2.metadata.Metadata; import com.google.android.exoplayer2.metadata.MetadataOutput; -import com.google.android.exoplayer2.metadata.emsg.EventMessage; -import com.google.android.exoplayer2.metadata.id3.ApicFrame; -import com.google.android.exoplayer2.metadata.id3.CommentFrame; -import com.google.android.exoplayer2.metadata.id3.GeobFrame; -import com.google.android.exoplayer2.metadata.id3.Id3Frame; -import com.google.android.exoplayer2.metadata.id3.PrivFrame; -import com.google.android.exoplayer2.metadata.id3.TextInformationFrame; -import com.google.android.exoplayer2.metadata.id3.UrlLinkFrame; -import com.google.android.exoplayer2.metadata.scte35.SpliceCommand; import com.google.android.exoplayer2.source.MediaSource.MediaPeriodId; import com.google.android.exoplayer2.source.MediaSourceEventListener; import com.google.android.exoplayer2.source.TrackGroup; @@ -123,9 +114,9 @@ public class EventLogger @Override public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { logd( - "playbackParameters " - + String.format( - "[speed=%.2f, pitch=%.2f]", playbackParameters.speed, playbackParameters.pitch)); + Util.formatInvariant( + "playbackParameters [speed=%.2f, pitch=%.2f]", + playbackParameters.speed, playbackParameters.pitch)); } @Override @@ -476,55 +467,7 @@ public class EventLogger private void printMetadata(Metadata metadata, String prefix) { for (int i = 0; i < metadata.length(); i++) { - Metadata.Entry entry = metadata.get(i); - if (entry instanceof TextInformationFrame) { - TextInformationFrame textInformationFrame = (TextInformationFrame) entry; - logd( - prefix - + String.format( - "%s: value=%s", textInformationFrame.id, textInformationFrame.value)); - } else if (entry instanceof UrlLinkFrame) { - UrlLinkFrame urlLinkFrame = (UrlLinkFrame) entry; - logd(prefix + String.format("%s: url=%s", urlLinkFrame.id, urlLinkFrame.url)); - } else if (entry instanceof PrivFrame) { - PrivFrame privFrame = (PrivFrame) entry; - logd(prefix + String.format("%s: owner=%s", privFrame.id, privFrame.owner)); - } else if (entry instanceof GeobFrame) { - GeobFrame geobFrame = (GeobFrame) entry; - logd( - prefix - + String.format( - "%s: mimeType=%s, filename=%s, description=%s", - geobFrame.id, geobFrame.mimeType, geobFrame.filename, geobFrame.description)); - } else if (entry instanceof ApicFrame) { - ApicFrame apicFrame = (ApicFrame) entry; - logd( - prefix - + String.format( - "%s: mimeType=%s, description=%s", - apicFrame.id, apicFrame.mimeType, apicFrame.description)); - } else if (entry instanceof CommentFrame) { - CommentFrame commentFrame = (CommentFrame) entry; - logd( - prefix - + String.format( - "%s: language=%s, description=%s", - commentFrame.id, commentFrame.language, commentFrame.description)); - } else if (entry instanceof Id3Frame) { - Id3Frame id3Frame = (Id3Frame) entry; - logd(prefix + id3Frame.id); - } else if (entry instanceof EventMessage) { - EventMessage eventMessage = (EventMessage) entry; - logd( - prefix - + String.format( - "EMSG: scheme=%s, id=%d, value=%s", - eventMessage.schemeIdUri, eventMessage.id, eventMessage.value)); - } else if (entry instanceof SpliceCommand) { - String description = - String.format("SCTE-35 splice command: type=%s.", entry.getClass().getSimpleName()); - logd(prefix + description); - } + logd(prefix + metadata.get(i)); } } diff --git a/library/core/src/main/java/com/google/android/exoplayer2/util/Util.java b/library/core/src/main/java/com/google/android/exoplayer2/util/Util.java index 49c60c0414..4ee240e419 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/util/Util.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/util/Util.java @@ -329,6 +329,15 @@ public final class Util { return text == null ? null : text.toLowerCase(Locale.US); } + /** + * Formats a string using {@link Locale#US}. + * + * @see String#format(String, Object...) + */ + public static String formatInvariant(String format, Object... args) { + return String.format(Locale.US, format, args); + } + /** * Divides a {@code numerator} by a {@code denominator}, returning the ceiled result. *