mirror of
https://github.com/VibedByKaKi/alexandroid.git
synced 2026-11-13 09:27:16 +01:00
190 lines
7.3 KiB
Java
190 lines
7.3 KiB
Java
package okio;
|
|
|
|
import com.amazon.identity.auth.device.api.MultipleAccountManager;
|
|
import java.util.Arrays;
|
|
import kotlin.Metadata;
|
|
import kotlin.collections.ArraysKt;
|
|
import kotlin.collections.ArraysKt___ArraysJvmKt;
|
|
import kotlin.jvm.JvmField;
|
|
import kotlin.jvm.internal.SourceDebugExtension;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
import rx.Single$$ExternalSyntheticBUOutline0;
|
|
|
|
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
|
|
@Metadata(d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u0012\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\u0002\n\u0002\b\u000b\b\u0000\u0018\u0000 \u00192\u00020\u0001:\u0001\u0019B\u0007\b\u0016¢\u0006\u0002\u0010\u0002B/\b\u0016\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u0012\u0006\u0010\u0005\u001a\u00020\u0006\u0012\u0006\u0010\u0007\u001a\u00020\u0006\u0012\u0006\u0010\b\u001a\u00020\t\u0012\u0006\u0010\n\u001a\u00020\t¢\u0006\u0002\u0010\u000bJ\u0006\u0010\u000e\u001a\u00020\u000fJ\b\u0010\u0010\u001a\u0004\u0018\u00010\u0000J\u000e\u0010\u0011\u001a\u00020\u00002\u0006\u0010\u0012\u001a\u00020\u0000J\u0006\u0010\u0013\u001a\u00020\u0000J\u000e\u0010\u0014\u001a\u00020\u00002\u0006\u0010\u0015\u001a\u00020\u0006J\u0006\u0010\u0016\u001a\u00020\u0000J\u0016\u0010\u0017\u001a\u00020\u000f2\u0006\u0010\u0018\u001a\u00020\u00002\u0006\u0010\u0015\u001a\u00020\u0006R\u0010\u0010\u0003\u001a\u00020\u00048\u0006X\u0087\u0004¢\u0006\u0002\n\u0000R\u0012\u0010\u0007\u001a\u00020\u00068\u0006@\u0006X\u0087\u000e¢\u0006\u0002\n\u0000R\u0014\u0010\f\u001a\u0004\u0018\u00010\u00008\u0006@\u0006X\u0087\u000e¢\u0006\u0002\n\u0000R\u0012\u0010\n\u001a\u00020\t8\u0006@\u0006X\u0087\u000e¢\u0006\u0002\n\u0000R\u0012\u0010\u0005\u001a\u00020\u00068\u0006@\u0006X\u0087\u000e¢\u0006\u0002\n\u0000R\u0014\u0010\r\u001a\u0004\u0018\u00010\u00008\u0006@\u0006X\u0087\u000e¢\u0006\u0002\n\u0000R\u0012\u0010\b\u001a\u00020\t8\u0006@\u0006X\u0087\u000e¢\u0006\u0002\n\u0000¨\u0006\u001a"}, d2 = {"Lokio/Segment;", "", "()V", "data", "", "pos", "", "limit", "shared", "", MultipleAccountManager.SessionPackageMappingType.JSON_KEY_SESSION_PACKAGE_MAPPING_OWNER, "([BIIZZ)V", "next", "prev", "compact", "", "pop", "push", "segment", "sharedCopy", "split", "byteCount", "unsharedCopy", "writeTo", "sink", "Companion", "okio"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
|
@SourceDebugExtension({"SMAP\nSegment.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Segment.kt\nokio/Segment\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,187:1\n1#2:188\n*E\n"})
|
|
/* loaded from: classes10.dex */
|
|
public final class Segment {
|
|
public static final int SHARE_MINIMUM = 1024;
|
|
public static final int SIZE = 8192;
|
|
|
|
@JvmField
|
|
@NotNull
|
|
public final byte[] data;
|
|
|
|
@JvmField
|
|
public int limit;
|
|
|
|
@JvmField
|
|
@Nullable
|
|
public Segment next;
|
|
|
|
@JvmField
|
|
public boolean owner;
|
|
|
|
@JvmField
|
|
public int pos;
|
|
|
|
@JvmField
|
|
@Nullable
|
|
public Segment prev;
|
|
|
|
@JvmField
|
|
public boolean shared;
|
|
|
|
public Segment(@NotNull byte[] bArr, int i, int i2, boolean z, boolean z2) {
|
|
bArr.getClass();
|
|
this.data = bArr;
|
|
this.pos = i;
|
|
this.limit = i2;
|
|
this.shared = z;
|
|
this.owner = z2;
|
|
}
|
|
|
|
public final void compact() {
|
|
int i;
|
|
Segment segment = this.prev;
|
|
if (segment == this) {
|
|
Single$$ExternalSyntheticBUOutline0.m$2("cannot compact");
|
|
return;
|
|
}
|
|
segment.getClass();
|
|
if (segment.owner) {
|
|
int i2 = this.limit - this.pos;
|
|
Segment segment2 = this.prev;
|
|
segment2.getClass();
|
|
int i3 = 8192 - segment2.limit;
|
|
Segment segment3 = this.prev;
|
|
segment3.getClass();
|
|
if (segment3.shared) {
|
|
i = 0;
|
|
} else {
|
|
Segment segment4 = this.prev;
|
|
segment4.getClass();
|
|
i = segment4.pos;
|
|
}
|
|
if (i2 > i3 + i) {
|
|
return;
|
|
}
|
|
Segment segment5 = this.prev;
|
|
segment5.getClass();
|
|
writeTo(segment5, i2);
|
|
pop();
|
|
SegmentPool.recycle(this);
|
|
}
|
|
}
|
|
|
|
@Nullable
|
|
public final Segment pop() {
|
|
Segment segment = this.next;
|
|
if (segment == this) {
|
|
segment = null;
|
|
}
|
|
Segment segment2 = this.prev;
|
|
segment2.getClass();
|
|
segment2.next = this.next;
|
|
Segment segment3 = this.next;
|
|
segment3.getClass();
|
|
segment3.prev = this.prev;
|
|
this.next = null;
|
|
this.prev = null;
|
|
return segment;
|
|
}
|
|
|
|
@NotNull
|
|
public final Segment push(@NotNull Segment segment) {
|
|
segment.getClass();
|
|
segment.prev = this;
|
|
segment.next = this.next;
|
|
Segment segment2 = this.next;
|
|
segment2.getClass();
|
|
segment2.prev = segment;
|
|
this.next = segment;
|
|
return segment;
|
|
}
|
|
|
|
@NotNull
|
|
public final Segment sharedCopy() {
|
|
this.shared = true;
|
|
return new Segment(this.data, this.pos, this.limit, true, false);
|
|
}
|
|
|
|
@NotNull
|
|
public final Segment split(int byteCount) {
|
|
Segment take;
|
|
if (byteCount <= 0 || byteCount > this.limit - this.pos) {
|
|
Single$$ExternalSyntheticBUOutline0.m$3("byteCount out of range");
|
|
return null;
|
|
}
|
|
if (byteCount >= 1024) {
|
|
take = sharedCopy();
|
|
} else {
|
|
take = SegmentPool.take();
|
|
byte[] bArr = this.data;
|
|
byte[] bArr2 = take.data;
|
|
int i = this.pos;
|
|
ArraysKt___ArraysJvmKt.copyInto$default(bArr, bArr2, 0, i, i + byteCount, 2, (Object) null);
|
|
}
|
|
take.limit = take.pos + byteCount;
|
|
this.pos += byteCount;
|
|
Segment segment = this.prev;
|
|
segment.getClass();
|
|
segment.push(take);
|
|
return take;
|
|
}
|
|
|
|
@NotNull
|
|
public final Segment unsharedCopy() {
|
|
byte[] bArr = this.data;
|
|
return new Segment(Arrays.copyOf(bArr, bArr.length), this.pos, this.limit, false, true);
|
|
}
|
|
|
|
public final void writeTo(@NotNull Segment sink, int byteCount) {
|
|
sink.getClass();
|
|
if (!sink.owner) {
|
|
Single$$ExternalSyntheticBUOutline0.m$2("only owner can write");
|
|
return;
|
|
}
|
|
int i = sink.limit;
|
|
int i2 = i + byteCount;
|
|
if (i2 > 8192) {
|
|
if (sink.shared) {
|
|
Path$$ExternalSyntheticBUOutline0.m();
|
|
return;
|
|
}
|
|
int i3 = sink.pos;
|
|
if (i2 - i3 > 8192) {
|
|
Path$$ExternalSyntheticBUOutline0.m();
|
|
return;
|
|
}
|
|
byte[] bArr = sink.data;
|
|
ArraysKt___ArraysJvmKt.copyInto$default(bArr, bArr, 0, i3, i, 2, (Object) null);
|
|
sink.limit -= sink.pos;
|
|
sink.pos = 0;
|
|
}
|
|
byte[] bArr2 = this.data;
|
|
byte[] bArr3 = sink.data;
|
|
int i4 = sink.limit;
|
|
int i5 = this.pos;
|
|
ArraysKt.copyInto(bArr2, bArr3, i4, i5, i5 + byteCount);
|
|
sink.limit += byteCount;
|
|
this.pos += byteCount;
|
|
}
|
|
|
|
public Segment() {
|
|
this.data = new byte[8192];
|
|
this.owner = true;
|
|
this.shared = false;
|
|
}
|
|
}
|