CrackMe.apk
Download file
package com.google.android.exoplayer2.text.webvtt;
import com.google.android.exoplayer2.text.Cue;
import com.google.android.exoplayer2.text.Subtitle;
import com.google.android.exoplayer2.util.Assertions;
import com.google.android.exoplayer2.util.Util;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
final class WebvttSubtitle implements Subtitle {
private final List<WebvttCueInfo> cueInfos;
private final long[] cueTimesUs;
private final long[] sortedCueTimesUs;
public WebvttSubtitle(List<WebvttCueInfo> list) {
this.cueInfos = Collections.unmodifiableList(new ArrayList(list));
this.cueTimesUs = new long[(list.size() * 2)];
for (int i = 0; i < list.size(); i++) {
WebvttCueInfo webvttCueInfo = list.get(i);
int i2 = i * 2;
this.cueTimesUs[i2] = webvttCueInfo.startTimeUs;
this.cueTimesUs[i2 + 1] = webvttCueInfo.endTimeUs;
}
long[] jArr = this.cueTimesUs;
long[] copyOf = Arrays.copyOf(jArr, jArr.length);
this.sortedCueTimesUs = copyOf;
Arrays.sort(copyOf);
}
public int getNextEventTimeIndex(long j) {
int binarySearchCeil = Util.binarySearchCeil(this.sortedCueTimesUs, j, false, false);
if (binarySearchCeil < this.sortedCueTimesUs.length) {
return binarySearchCeil;
}
return -1;
}
public int getEventTimeCount() {
return this.sortedCueTimesUs.length;
}
public long getEventTime(int i) {
boolean z = true;
Assertions.checkArgument(i >= 0);
if (i >= this.sortedCueTimesUs.length) {
z = false;
}
Assertions.checkArgument(z);
return this.sortedCueTimesUs[i];
}
public List<Cue> getCues(long j) {
ArrayList arrayList = new ArrayList();
ArrayList arrayList2 = new ArrayList();
for (int i = 0; i < this.cueInfos.size(); i++) {
long[] jArr = this.cueTimesUs;
int i2 = i * 2;
if (jArr[i2] <= j && j < jArr[i2 + 1]) {
WebvttCueInfo webvttCueInfo = this.cueInfos.get(i);
if (webvttCueInfo.cue.line == -3.4028235E38f) {
arrayList2.add(webvttCueInfo);
} else {
arrayList.add(webvttCueInfo.cue);
}
}
}
Collections.sort(arrayList2, WebvttSubtitle$$ExternalSyntheticLambda0.INSTANCE);
for (int i3 = 0; i3 < arrayList2.size(); i3++) {
arrayList.add(((WebvttCueInfo) arrayList2.get(i3)).cue.buildUpon().setLine((float) (-1 - i3), 1).build());
}
return arrayList;
}
}
Download file