CrackMe.apk
Download file
package com.google.android.exoplayer2.metadata.scte35;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.util.ParsableByteArray;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public final class SpliceScheduleCommand extends SpliceCommand {
public static final Parcelable.Creator<SpliceScheduleCommand> CREATOR = new Parcelable.Creator<SpliceScheduleCommand>() {
public SpliceScheduleCommand createFromParcel(Parcel parcel) {
return new SpliceScheduleCommand(parcel);
}
public SpliceScheduleCommand[] newArray(int i) {
return new SpliceScheduleCommand[i];
}
};
public final List<Event> events;
public static final class Event {
public final boolean autoReturn;
public final int availNum;
public final int availsExpected;
public final long breakDurationUs;
public final List<ComponentSplice> componentSpliceList;
public final boolean outOfNetworkIndicator;
public final boolean programSpliceFlag;
public final boolean spliceEventCancelIndicator;
public final long spliceEventId;
public final int uniqueProgramId;
public final long utcSpliceTime;
private Event(long j, boolean z, boolean z2, boolean z3, List<ComponentSplice> list, long j2, boolean z4, long j3, int i, int i2, int i3) {
this.spliceEventId = j;
this.spliceEventCancelIndicator = z;
this.outOfNetworkIndicator = z2;
this.programSpliceFlag = z3;
this.componentSpliceList = Collections.unmodifiableList(list);
this.utcSpliceTime = j2;
this.autoReturn = z4;
this.breakDurationUs = j3;
this.uniqueProgramId = i;
this.availNum = i2;
this.availsExpected = i3;
}
private Event(Parcel parcel) {
this.spliceEventId = parcel.readLong();
boolean z = false;
this.spliceEventCancelIndicator = parcel.readByte() == 1;
this.outOfNetworkIndicator = parcel.readByte() == 1;
this.programSpliceFlag = parcel.readByte() == 1;
int readInt = parcel.readInt();
ArrayList arrayList = new ArrayList(readInt);
for (int i = 0; i < readInt; i++) {
arrayList.add(ComponentSplice.createFromParcel(parcel));
}
this.componentSpliceList = Collections.unmodifiableList(arrayList);
this.utcSpliceTime = parcel.readLong();
this.autoReturn = parcel.readByte() == 1 ? true : z;
this.breakDurationUs = parcel.readLong();
this.uniqueProgramId = parcel.readInt();
this.availNum = parcel.readInt();
this.availsExpected = parcel.readInt();
}
/* access modifiers changed from: private */
public static Event parseFromSection(ParsableByteArray parsableByteArray) {
boolean z;
int i;
int i2;
int i3;
long j;
boolean z2;
long j2;
ArrayList arrayList;
boolean z3;
long j3;
boolean z4;
long readUnsignedInt = parsableByteArray.readUnsignedInt();
boolean z5 = (parsableByteArray.readUnsignedByte() & 128) != 0;
ArrayList arrayList2 = new ArrayList();
if (!z5) {
int readUnsignedByte = parsableByteArray.readUnsignedByte();
boolean z6 = (readUnsignedByte & 128) != 0;
boolean z7 = (readUnsignedByte & 64) != 0;
boolean z8 = (readUnsignedByte & 32) != 0;
long readUnsignedInt2 = z7 ? parsableByteArray.readUnsignedInt() : C.TIME_UNSET;
if (!z7) {
int readUnsignedByte2 = parsableByteArray.readUnsignedByte();
ArrayList arrayList3 = new ArrayList(readUnsignedByte2);
for (int i4 = 0; i4 < readUnsignedByte2; i4++) {
arrayList3.add(new ComponentSplice(parsableByteArray.readUnsignedByte(), parsableByteArray.readUnsignedInt()));
}
arrayList2 = arrayList3;
}
if (z8) {
long readUnsignedByte3 = (long) parsableByteArray.readUnsignedByte();
boolean z9 = (128 & readUnsignedByte3) != 0;
j3 = ((((readUnsignedByte3 & 1) << 32) | parsableByteArray.readUnsignedInt()) * 1000) / 90;
z4 = z9;
} else {
z4 = false;
j3 = C.TIME_UNSET;
}
int readUnsignedShort = parsableByteArray.readUnsignedShort();
int readUnsignedByte4 = parsableByteArray.readUnsignedByte();
z = z7;
i = parsableByteArray.readUnsignedByte();
j = j3;
arrayList = arrayList2;
long j4 = readUnsignedInt2;
i3 = readUnsignedShort;
i2 = readUnsignedByte4;
j2 = j4;
boolean z10 = z6;
z2 = z4;
z3 = z10;
} else {
arrayList = arrayList2;
z3 = false;
j2 = C.TIME_UNSET;
z2 = false;
j = C.TIME_UNSET;
i3 = 0;
i2 = 0;
i = 0;
z = false;
}
return new Event(readUnsignedInt, z5, z3, z, arrayList, j2, z2, j, i3, i2, i);
}
/* access modifiers changed from: private */
public void writeToParcel(Parcel parcel) {
parcel.writeLong(this.spliceEventId);
parcel.writeByte(this.spliceEventCancelIndicator ? (byte) 1 : 0);
parcel.writeByte(this.outOfNetworkIndicator ? (byte) 1 : 0);
parcel.writeByte(this.programSpliceFlag ? (byte) 1 : 0);
int size = this.componentSpliceList.size();
parcel.writeInt(size);
for (int i = 0; i < size; i++) {
this.componentSpliceList.get(i).writeToParcel(parcel);
}
parcel.writeLong(this.utcSpliceTime);
parcel.writeByte(this.autoReturn ? (byte) 1 : 0);
parcel.writeLong(this.breakDurationUs);
parcel.writeInt(this.uniqueProgramId);
parcel.writeInt(this.availNum);
parcel.writeInt(this.availsExpected);
}
/* access modifiers changed from: private */
public static Event createFromParcel(Parcel parcel) {
return new Event(parcel);
}
}
public static final class ComponentSplice {
public final int componentTag;
public final long utcSpliceTime;
private ComponentSplice(int i, long j) {
this.componentTag = i;
this.utcSpliceTime = j;
}
/* access modifiers changed from: private */
public static ComponentSplice createFromParcel(Parcel parcel) {
return new ComponentSplice(parcel.readInt(), parcel.readLong());
}
/* access modifiers changed from: private */
public void writeToParcel(Parcel parcel) {
parcel.writeInt(this.componentTag);
parcel.writeLong(this.utcSpliceTime);
}
}
private SpliceScheduleCommand(List<Event> list) {
this.events = Collections.unmodifiableList(list);
}
private SpliceScheduleCommand(Parcel parcel) {
int readInt = parcel.readInt();
ArrayList arrayList = new ArrayList(readInt);
for (int i = 0; i < readInt; i++) {
arrayList.add(Event.createFromParcel(parcel));
}
this.events = Collections.unmodifiableList(arrayList);
}
static SpliceScheduleCommand parseFromSection(ParsableByteArray parsableByteArray) {
int readUnsignedByte = parsableByteArray.readUnsignedByte();
ArrayList arrayList = new ArrayList(readUnsignedByte);
for (int i = 0; i < readUnsignedByte; i++) {
arrayList.add(Event.parseFromSection(parsableByteArray));
}
return new SpliceScheduleCommand((List<Event>) arrayList);
}
public void writeToParcel(Parcel parcel, int i) {
int size = this.events.size();
parcel.writeInt(size);
for (int i2 = 0; i2 < size; i2++) {
this.events.get(i2).writeToParcel(parcel);
}
}
}
Download file