CrackMe.apk
Download file
package com.google.android.exoplayer2.util;
import android.os.SystemClock;
import android.text.TextUtils;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.DeviceInfo;
import com.google.android.exoplayer2.Format;
import com.google.android.exoplayer2.MediaItem;
import com.google.android.exoplayer2.MediaMetadata;
import com.google.android.exoplayer2.PlaybackException;
import com.google.android.exoplayer2.PlaybackParameters;
import com.google.android.exoplayer2.Player;
import com.google.android.exoplayer2.Timeline;
import com.google.android.exoplayer2.Tracks;
import com.google.android.exoplayer2.analytics.AnalyticsListener;
import com.google.android.exoplayer2.audio.AudioAttributes;
import com.google.android.exoplayer2.decoder.DecoderCounters;
import com.google.android.exoplayer2.decoder.DecoderReuseEvaluation;
import com.google.android.exoplayer2.metadata.Metadata;
import com.google.android.exoplayer2.source.LoadEventInfo;
import com.google.android.exoplayer2.source.MediaLoadData;
import com.google.android.exoplayer2.text.CueGroup;
import com.google.android.exoplayer2.trackselection.MappingTrackSelector;
import com.google.android.exoplayer2.trackselection.TrackSelectionParameters;
import com.google.android.exoplayer2.video.VideoSize;
import com.google.common.collect.ImmutableList;
import expo.modules.av.player.PlayerData;
import java.io.IOException;
import java.text.NumberFormat;
import java.util.List;
import java.util.Locale;
import org.apache.commons.codec.language.bm.Rule;
public class EventLogger implements AnalyticsListener {
private static final String DEFAULT_TAG = "EventLogger";
private static final int MAX_TIMELINE_ITEM_LINES = 3;
private static final NumberFormat TIME_FORMAT;
private final Timeline.Period period;
private final long startTimeMs;
private final String tag;
private final Timeline.Window window;
private static String getDiscontinuityReasonString(int i) {
return i != 0 ? i != 1 ? i != 2 ? i != 3 ? i != 4 ? i != 5 ? "?" : "INTERNAL" : "REMOVE" : "SKIP" : "SEEK_ADJUSTMENT" : "SEEK" : "AUTO_TRANSITION";
}
private static String getMediaItemTransitionReasonString(int i) {
return i != 0 ? i != 1 ? i != 2 ? i != 3 ? "?" : "PLAYLIST_CHANGED" : "SEEK" : "AUTO" : "REPEAT";
}
private static String getPlayWhenReadyChangeReasonString(int i) {
return i != 1 ? i != 2 ? i != 3 ? i != 4 ? i != 5 ? "?" : "END_OF_MEDIA_ITEM" : "REMOTE" : "AUDIO_BECOMING_NOISY" : "AUDIO_FOCUS_LOSS" : "USER_REQUEST";
}
private static String getPlaybackSuppressionReasonString(int i) {
return i != 0 ? i != 1 ? "?" : "TRANSIENT_AUDIO_FOCUS_LOSS" : "NONE";
}
private static String getRepeatModeString(int i) {
return i != 0 ? i != 1 ? i != 2 ? "?" : Rule.ALL : "ONE" : "OFF";
}
private static String getStateString(int i) {
return i != 1 ? i != 2 ? i != 3 ? i != 4 ? "?" : "ENDED" : "READY" : "BUFFERING" : "IDLE";
}
private static String getTimelineChangeReasonString(int i) {
return i != 0 ? i != 1 ? "?" : "SOURCE_UPDATE" : "PLAYLIST_CHANGED";
}
private static String getTrackStatusString(boolean z) {
return z ? "[X]" : "[ ]";
}
public /* synthetic */ void onAudioCodecError(AnalyticsListener.EventTime eventTime, Exception exc) {
AnalyticsListener.CC.$default$onAudioCodecError(this, eventTime, exc);
}
public /* synthetic */ void onAudioDecoderInitialized(AnalyticsListener.EventTime eventTime, String str, long j, long j2) {
AnalyticsListener.CC.$default$onAudioDecoderInitialized(this, eventTime, str, j, j2);
}
public /* synthetic */ void onAudioInputFormatChanged(AnalyticsListener.EventTime eventTime, Format format) {
AnalyticsListener.CC.$default$onAudioInputFormatChanged(this, eventTime, format);
}
public /* synthetic */ void onAudioPositionAdvancing(AnalyticsListener.EventTime eventTime, long j) {
AnalyticsListener.CC.$default$onAudioPositionAdvancing(this, eventTime, j);
}
public /* synthetic */ void onAudioSinkError(AnalyticsListener.EventTime eventTime, Exception exc) {
AnalyticsListener.CC.$default$onAudioSinkError(this, eventTime, exc);
}
public /* synthetic */ void onAvailableCommandsChanged(AnalyticsListener.EventTime eventTime, Player.Commands commands) {
AnalyticsListener.CC.$default$onAvailableCommandsChanged(this, eventTime, commands);
}
public void onBandwidthEstimate(AnalyticsListener.EventTime eventTime, int i, long j, long j2) {
}
public /* synthetic */ void onCues(AnalyticsListener.EventTime eventTime, CueGroup cueGroup) {
AnalyticsListener.CC.$default$onCues((AnalyticsListener) this, eventTime, cueGroup);
}
public /* synthetic */ void onCues(AnalyticsListener.EventTime eventTime, List list) {
AnalyticsListener.CC.$default$onCues((AnalyticsListener) this, eventTime, list);
}
public /* synthetic */ void onDecoderDisabled(AnalyticsListener.EventTime eventTime, int i, DecoderCounters decoderCounters) {
AnalyticsListener.CC.$default$onDecoderDisabled(this, eventTime, i, decoderCounters);
}
public /* synthetic */ void onDecoderEnabled(AnalyticsListener.EventTime eventTime, int i, DecoderCounters decoderCounters) {
AnalyticsListener.CC.$default$onDecoderEnabled(this, eventTime, i, decoderCounters);
}
public /* synthetic */ void onDecoderInitialized(AnalyticsListener.EventTime eventTime, int i, String str, long j) {
AnalyticsListener.CC.$default$onDecoderInitialized(this, eventTime, i, str, j);
}
public /* synthetic */ void onDecoderInputFormatChanged(AnalyticsListener.EventTime eventTime, int i, Format format) {
AnalyticsListener.CC.$default$onDecoderInputFormatChanged(this, eventTime, i, format);
}
public /* synthetic */ void onDeviceInfoChanged(AnalyticsListener.EventTime eventTime, DeviceInfo deviceInfo) {
AnalyticsListener.CC.$default$onDeviceInfoChanged(this, eventTime, deviceInfo);
}
public /* synthetic */ void onDeviceVolumeChanged(AnalyticsListener.EventTime eventTime, int i, boolean z) {
AnalyticsListener.CC.$default$onDeviceVolumeChanged(this, eventTime, i, z);
}
public /* synthetic */ void onDrmSessionAcquired(AnalyticsListener.EventTime eventTime) {
AnalyticsListener.CC.$default$onDrmSessionAcquired(this, eventTime);
}
public /* synthetic */ void onEvents(Player player, AnalyticsListener.Events events) {
AnalyticsListener.CC.$default$onEvents(this, player, events);
}
public void onLoadCanceled(AnalyticsListener.EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
}
public void onLoadCompleted(AnalyticsListener.EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
}
public void onLoadStarted(AnalyticsListener.EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData) {
}
public /* synthetic */ void onLoadingChanged(AnalyticsListener.EventTime eventTime, boolean z) {
AnalyticsListener.CC.$default$onLoadingChanged(this, eventTime, z);
}
public /* synthetic */ void onMaxSeekToPreviousPositionChanged(AnalyticsListener.EventTime eventTime, long j) {
AnalyticsListener.CC.$default$onMaxSeekToPreviousPositionChanged(this, eventTime, j);
}
public /* synthetic */ void onMediaMetadataChanged(AnalyticsListener.EventTime eventTime, MediaMetadata mediaMetadata) {
AnalyticsListener.CC.$default$onMediaMetadataChanged(this, eventTime, mediaMetadata);
}
public /* synthetic */ void onPlayerErrorChanged(AnalyticsListener.EventTime eventTime, PlaybackException playbackException) {
AnalyticsListener.CC.$default$onPlayerErrorChanged(this, eventTime, playbackException);
}
public /* synthetic */ void onPlayerReleased(AnalyticsListener.EventTime eventTime) {
AnalyticsListener.CC.$default$onPlayerReleased(this, eventTime);
}
public /* synthetic */ void onPlayerStateChanged(AnalyticsListener.EventTime eventTime, boolean z, int i) {
AnalyticsListener.CC.$default$onPlayerStateChanged(this, eventTime, z, i);
}
public /* synthetic */ void onPlaylistMetadataChanged(AnalyticsListener.EventTime eventTime, MediaMetadata mediaMetadata) {
AnalyticsListener.CC.$default$onPlaylistMetadataChanged(this, eventTime, mediaMetadata);
}
public /* synthetic */ void onPositionDiscontinuity(AnalyticsListener.EventTime eventTime, int i) {
AnalyticsListener.CC.$default$onPositionDiscontinuity(this, eventTime, i);
}
public /* synthetic */ void onSeekBackIncrementChanged(AnalyticsListener.EventTime eventTime, long j) {
AnalyticsListener.CC.$default$onSeekBackIncrementChanged(this, eventTime, j);
}
public /* synthetic */ void onSeekForwardIncrementChanged(AnalyticsListener.EventTime eventTime, long j) {
AnalyticsListener.CC.$default$onSeekForwardIncrementChanged(this, eventTime, j);
}
public /* synthetic */ void onSeekProcessed(AnalyticsListener.EventTime eventTime) {
AnalyticsListener.CC.$default$onSeekProcessed(this, eventTime);
}
public /* synthetic */ void onSeekStarted(AnalyticsListener.EventTime eventTime) {
AnalyticsListener.CC.$default$onSeekStarted(this, eventTime);
}
public /* synthetic */ void onTrackSelectionParametersChanged(AnalyticsListener.EventTime eventTime, TrackSelectionParameters trackSelectionParameters) {
AnalyticsListener.CC.$default$onTrackSelectionParametersChanged(this, eventTime, trackSelectionParameters);
}
public /* synthetic */ void onVideoCodecError(AnalyticsListener.EventTime eventTime, Exception exc) {
AnalyticsListener.CC.$default$onVideoCodecError(this, eventTime, exc);
}
public /* synthetic */ void onVideoDecoderInitialized(AnalyticsListener.EventTime eventTime, String str, long j, long j2) {
AnalyticsListener.CC.$default$onVideoDecoderInitialized(this, eventTime, str, j, j2);
}
public /* synthetic */ void onVideoFrameProcessingOffset(AnalyticsListener.EventTime eventTime, long j, int i) {
AnalyticsListener.CC.$default$onVideoFrameProcessingOffset(this, eventTime, j, i);
}
public /* synthetic */ void onVideoInputFormatChanged(AnalyticsListener.EventTime eventTime, Format format) {
AnalyticsListener.CC.$default$onVideoInputFormatChanged(this, eventTime, format);
}
public /* synthetic */ void onVideoSizeChanged(AnalyticsListener.EventTime eventTime, int i, int i2, int i3, float f) {
AnalyticsListener.CC.$default$onVideoSizeChanged(this, eventTime, i, i2, i3, f);
}
static {
NumberFormat instance = NumberFormat.getInstance(Locale.US);
TIME_FORMAT = instance;
instance.setMinimumFractionDigits(2);
instance.setMaximumFractionDigits(2);
instance.setGroupingUsed(false);
}
public EventLogger() {
this(DEFAULT_TAG);
}
public EventLogger(String str) {
this.tag = str;
this.window = new Timeline.Window();
this.period = new Timeline.Period();
this.startTimeMs = SystemClock.elapsedRealtime();
}
@Deprecated
public EventLogger(MappingTrackSelector mappingTrackSelector) {
this(DEFAULT_TAG);
}
@Deprecated
public EventLogger(MappingTrackSelector mappingTrackSelector, String str) {
this(str);
}
public void onIsLoadingChanged(AnalyticsListener.EventTime eventTime, boolean z) {
logd(eventTime, "loading", Boolean.toString(z));
}
public void onPlaybackStateChanged(AnalyticsListener.EventTime eventTime, int i) {
logd(eventTime, "state", getStateString(i));
}
public void onPlayWhenReadyChanged(AnalyticsListener.EventTime eventTime, boolean z, int i) {
logd(eventTime, "playWhenReady", z + ", " + getPlayWhenReadyChangeReasonString(i));
}
public void onPlaybackSuppressionReasonChanged(AnalyticsListener.EventTime eventTime, int i) {
logd(eventTime, "playbackSuppressionReason", getPlaybackSuppressionReasonString(i));
}
public void onIsPlayingChanged(AnalyticsListener.EventTime eventTime, boolean z) {
logd(eventTime, PlayerData.STATUS_IS_PLAYING_KEY_PATH, Boolean.toString(z));
}
public void onRepeatModeChanged(AnalyticsListener.EventTime eventTime, int i) {
logd(eventTime, "repeatMode", getRepeatModeString(i));
}
public void onShuffleModeChanged(AnalyticsListener.EventTime eventTime, boolean z) {
logd(eventTime, "shuffleModeEnabled", Boolean.toString(z));
}
public void onPositionDiscontinuity(AnalyticsListener.EventTime eventTime, Player.PositionInfo positionInfo, Player.PositionInfo positionInfo2, int i) {
StringBuilder sb = new StringBuilder();
sb.append("reason=");
sb.append(getDiscontinuityReasonString(i));
sb.append(", PositionInfo:old [");
sb.append("mediaItem=");
sb.append(positionInfo.mediaItemIndex);
sb.append(", period=");
sb.append(positionInfo.periodIndex);
sb.append(", pos=");
sb.append(positionInfo.positionMs);
if (positionInfo.adGroupIndex != -1) {
sb.append(", contentPos=");
sb.append(positionInfo.contentPositionMs);
sb.append(", adGroup=");
sb.append(positionInfo.adGroupIndex);
sb.append(", ad=");
sb.append(positionInfo.adIndexInAdGroup);
}
sb.append("], PositionInfo:new [");
sb.append("mediaItem=");
sb.append(positionInfo2.mediaItemIndex);
sb.append(", period=");
sb.append(positionInfo2.periodIndex);
sb.append(", pos=");
sb.append(positionInfo2.positionMs);
if (positionInfo2.adGroupIndex != -1) {
sb.append(", contentPos=");
sb.append(positionInfo2.contentPositionMs);
sb.append(", adGroup=");
sb.append(positionInfo2.adGroupIndex);
sb.append(", ad=");
sb.append(positionInfo2.adIndexInAdGroup);
}
sb.append("]");
logd(eventTime, "positionDiscontinuity", sb.toString());
}
public void onPlaybackParametersChanged(AnalyticsListener.EventTime eventTime, PlaybackParameters playbackParameters) {
logd(eventTime, "playbackParameters", playbackParameters.toString());
}
public void onTimelineChanged(AnalyticsListener.EventTime eventTime, int i) {
int periodCount = eventTime.timeline.getPeriodCount();
int windowCount = eventTime.timeline.getWindowCount();
logd("timeline [" + getEventTimeString(eventTime) + ", periodCount=" + periodCount + ", windowCount=" + windowCount + ", reason=" + getTimelineChangeReasonString(i));
for (int i2 = 0; i2 < Math.min(periodCount, 3); i2++) {
eventTime.timeline.getPeriod(i2, this.period);
logd(" period [" + getTimeString(this.period.getDurationMs()) + "]");
}
if (periodCount > 3) {
logd(" ...");
}
for (int i3 = 0; i3 < Math.min(windowCount, 3); i3++) {
eventTime.timeline.getWindow(i3, this.window);
logd(" window [" + getTimeString(this.window.getDurationMs()) + ", seekable=" + this.window.isSeekable + ", dynamic=" + this.window.isDynamic + "]");
}
if (windowCount > 3) {
logd(" ...");
}
logd("]");
}
public void onMediaItemTransition(AnalyticsListener.EventTime eventTime, MediaItem mediaItem, int i) {
logd("mediaItem [" + getEventTimeString(eventTime) + ", reason=" + getMediaItemTransitionReasonString(i) + "]");
}
public void onPlayerError(AnalyticsListener.EventTime eventTime, PlaybackException playbackException) {
loge(eventTime, "playerFailed", playbackException);
}
public void onTracksChanged(AnalyticsListener.EventTime eventTime, Tracks tracks) {
Metadata metadata;
logd("tracks [" + getEventTimeString(eventTime));
ImmutableList<Tracks.Group> groups = tracks.getGroups();
for (int i = 0; i < groups.size(); i++) {
Tracks.Group group = (Tracks.Group) groups.get(i);
logd(" group [");
for (int i2 = 0; i2 < group.length; i2++) {
String trackStatusString = getTrackStatusString(group.isTrackSelected(i2));
String formatSupportString = Util.getFormatSupportString(group.getTrackSupport(i2));
logd(" " + trackStatusString + " Track:" + i2 + ", " + Format.toLogString(group.getTrackFormat(i2)) + ", supported=" + formatSupportString);
}
logd(" ]");
}
boolean z = false;
int i3 = 0;
while (!z && i3 < groups.size()) {
Tracks.Group group2 = (Tracks.Group) groups.get(i3);
int i4 = 0;
while (!z && i4 < group2.length) {
if (group2.isTrackSelected(i4) && (metadata = group2.getTrackFormat(i4).metadata) != null && metadata.length() > 0) {
logd(" Metadata [");
printMetadata(metadata, " ");
logd(" ]");
z = true;
}
i4++;
}
i3++;
}
logd("]");
}
public void onMetadata(AnalyticsListener.EventTime eventTime, Metadata metadata) {
logd("metadata [" + getEventTimeString(eventTime));
printMetadata(metadata, " ");
logd("]");
}
public void onAudioEnabled(AnalyticsListener.EventTime eventTime, DecoderCounters decoderCounters) {
logd(eventTime, "audioEnabled");
}
public void onAudioDecoderInitialized(AnalyticsListener.EventTime eventTime, String str, long j) {
logd(eventTime, "audioDecoderInitialized", str);
}
public void onAudioInputFormatChanged(AnalyticsListener.EventTime eventTime, Format format, DecoderReuseEvaluation decoderReuseEvaluation) {
logd(eventTime, "audioInputFormat", Format.toLogString(format));
}
public void onAudioUnderrun(AnalyticsListener.EventTime eventTime, int i, long j, long j2) {
loge(eventTime, "audioTrackUnderrun", i + ", " + j + ", " + j2, (Throwable) null);
}
public void onAudioDecoderReleased(AnalyticsListener.EventTime eventTime, String str) {
logd(eventTime, "audioDecoderReleased", str);
}
public void onAudioDisabled(AnalyticsListener.EventTime eventTime, DecoderCounters decoderCounters) {
logd(eventTime, "audioDisabled");
}
public void onAudioSessionIdChanged(AnalyticsListener.EventTime eventTime, int i) {
logd(eventTime, "audioSessionId", Integer.toString(i));
}
public void onAudioAttributesChanged(AnalyticsListener.EventTime eventTime, AudioAttributes audioAttributes) {
logd(eventTime, "audioAttributes", audioAttributes.contentType + "," + audioAttributes.flags + "," + audioAttributes.usage + "," + audioAttributes.allowedCapturePolicy);
}
public void onSkipSilenceEnabledChanged(AnalyticsListener.EventTime eventTime, boolean z) {
logd(eventTime, "skipSilenceEnabled", Boolean.toString(z));
}
public void onVolumeChanged(AnalyticsListener.EventTime eventTime, float f) {
logd(eventTime, "volume", Float.toString(f));
}
public void onVideoEnabled(AnalyticsListener.EventTime eventTime, DecoderCounters decoderCounters) {
logd(eventTime, "videoEnabled");
}
public void onVideoDecoderInitialized(AnalyticsListener.EventTime eventTime, String str, long j) {
logd(eventTime, "videoDecoderInitialized", str);
}
public void onVideoInputFormatChanged(AnalyticsListener.EventTime eventTime, Format format, DecoderReuseEvaluation decoderReuseEvaluation) {
logd(eventTime, "videoInputFormat", Format.toLogString(format));
}
public void onDroppedVideoFrames(AnalyticsListener.EventTime eventTime, int i, long j) {
logd(eventTime, "droppedFrames", Integer.toString(i));
}
public void onVideoDecoderReleased(AnalyticsListener.EventTime eventTime, String str) {
logd(eventTime, "videoDecoderReleased", str);
}
public void onVideoDisabled(AnalyticsListener.EventTime eventTime, DecoderCounters decoderCounters) {
logd(eventTime, "videoDisabled");
}
public void onRenderedFirstFrame(AnalyticsListener.EventTime eventTime, Object obj, long j) {
logd(eventTime, "renderedFirstFrame", String.valueOf(obj));
}
public void onVideoSizeChanged(AnalyticsListener.EventTime eventTime, VideoSize videoSize) {
logd(eventTime, "videoSize", videoSize.width + ", " + videoSize.height);
}
public void onLoadError(AnalyticsListener.EventTime eventTime, LoadEventInfo loadEventInfo, MediaLoadData mediaLoadData, IOException iOException, boolean z) {
printInternalError(eventTime, "loadError", iOException);
}
public void onSurfaceSizeChanged(AnalyticsListener.EventTime eventTime, int i, int i2) {
logd(eventTime, "surfaceSize", i + ", " + i2);
}
public void onUpstreamDiscarded(AnalyticsListener.EventTime eventTime, MediaLoadData mediaLoadData) {
logd(eventTime, "upstreamDiscarded", Format.toLogString(mediaLoadData.trackFormat));
}
public void onDownstreamFormatChanged(AnalyticsListener.EventTime eventTime, MediaLoadData mediaLoadData) {
logd(eventTime, "downstreamFormat", Format.toLogString(mediaLoadData.trackFormat));
}
public void onDrmSessionAcquired(AnalyticsListener.EventTime eventTime, int i) {
logd(eventTime, "drmSessionAcquired", "state=" + i);
}
public void onDrmSessionManagerError(AnalyticsListener.EventTime eventTime, Exception exc) {
printInternalError(eventTime, "drmSessionManagerError", exc);
}
public void onDrmKeysRestored(AnalyticsListener.EventTime eventTime) {
logd(eventTime, "drmKeysRestored");
}
public void onDrmKeysRemoved(AnalyticsListener.EventTime eventTime) {
logd(eventTime, "drmKeysRemoved");
}
public void onDrmKeysLoaded(AnalyticsListener.EventTime eventTime) {
logd(eventTime, "drmKeysLoaded");
}
public void onDrmSessionReleased(AnalyticsListener.EventTime eventTime) {
logd(eventTime, "drmSessionReleased");
}
/* access modifiers changed from: protected */
public void logd(String str) {
Log.d(this.tag, str);
}
/* access modifiers changed from: protected */
public void loge(String str) {
Log.e(this.tag, str);
}
private void logd(AnalyticsListener.EventTime eventTime, String str) {
logd(getEventString(eventTime, str, (String) null, (Throwable) null));
}
private void logd(AnalyticsListener.EventTime eventTime, String str, String str2) {
logd(getEventString(eventTime, str, str2, (Throwable) null));
}
private void loge(AnalyticsListener.EventTime eventTime, String str, Throwable th) {
loge(getEventString(eventTime, str, (String) null, th));
}
private void loge(AnalyticsListener.EventTime eventTime, String str, String str2, Throwable th) {
loge(getEventString(eventTime, str, str2, th));
}
private void printInternalError(AnalyticsListener.EventTime eventTime, String str, Exception exc) {
loge(eventTime, "internalError", str, exc);
}
private void printMetadata(Metadata metadata, String str) {
for (int i = 0; i < metadata.length(); i++) {
logd(str + metadata.get(i));
}
}
private String getEventString(AnalyticsListener.EventTime eventTime, String str, String str2, Throwable th) {
String str3 = str + " [" + getEventTimeString(eventTime);
if (th instanceof PlaybackException) {
str3 = str3 + ", errorCode=" + ((PlaybackException) th).getErrorCodeName();
}
if (str2 != null) {
str3 = str3 + ", " + str2;
}
String throwableString = Log.getThrowableString(th);
if (!TextUtils.isEmpty(throwableString)) {
str3 = str3 + "\n " + throwableString.replace("\n", "\n ") + 10;
}
return str3 + "]";
}
private String getEventTimeString(AnalyticsListener.EventTime eventTime) {
String str = "window=" + eventTime.windowIndex;
if (eventTime.mediaPeriodId != null) {
str = str + ", period=" + eventTime.timeline.getIndexOfPeriod(eventTime.mediaPeriodId.periodUid);
if (eventTime.mediaPeriodId.isAd()) {
str = (str + ", adGroup=" + eventTime.mediaPeriodId.adGroupIndex) + ", ad=" + eventTime.mediaPeriodId.adIndexInAdGroup;
}
}
return "eventTime=" + getTimeString(eventTime.realtimeMs - this.startTimeMs) + ", mediaPos=" + getTimeString(eventTime.eventPlaybackPositionMs) + ", " + str;
}
private static String getTimeString(long j) {
return j == C.TIME_UNSET ? "?" : TIME_FORMAT.format((double) (((float) j) / 1000.0f));
}
}
Download file