Initial version -- added millennium read funcionality

This commit is contained in:
Pablo
2026-03-09 22:05:28 +01:00
commit 77c2ded482
2770 changed files with 141927 additions and 0 deletions
@@ -0,0 +1,96 @@
package com.google.android.gms.common.data;
import com.google.android.gms.common.internal.Preconditions;
import com.google.errorprone.annotations.ResultIgnorabilityUnspecified;
import java.util.ArrayList;
/* JADX INFO: compiled from: com.google.android.gms:play-services-base@@18.4.0 */
/* JADX INFO: loaded from: classes2.dex */
public abstract class EntityBuffer<T> extends AbstractDataBuffer<T> {
private boolean zaa;
private ArrayList zab;
protected EntityBuffer(DataHolder dataHolder) {
super(dataHolder);
this.zaa = false;
}
private final void zab() {
synchronized (this) {
if (!this.zaa) {
int count = ((DataHolder) Preconditions.checkNotNull(this.mDataHolder)).getCount();
ArrayList arrayList = new ArrayList();
this.zab = arrayList;
if (count > 0) {
arrayList.add(0);
String primaryDataMarkerColumn = getPrimaryDataMarkerColumn();
String string = this.mDataHolder.getString(primaryDataMarkerColumn, 0, this.mDataHolder.getWindowIndex(0));
for (int i = 1; i < count; i++) {
int windowIndex = this.mDataHolder.getWindowIndex(i);
String string2 = this.mDataHolder.getString(primaryDataMarkerColumn, i, windowIndex);
if (string2 == null) {
throw new NullPointerException("Missing value for markerColumn: " + primaryDataMarkerColumn + ", at row: " + i + ", for window: " + windowIndex);
}
if (!string2.equals(string)) {
this.zab.add(Integer.valueOf(i));
string = string2;
}
}
}
this.zaa = true;
}
}
}
@Override // com.google.android.gms.common.data.AbstractDataBuffer, com.google.android.gms.common.data.DataBuffer
@ResultIgnorabilityUnspecified
public final T get(int i) {
int iIntValue;
int iIntValue2;
zab();
int iZaa = zaa(i);
int i2 = 0;
if (i >= 0 && i != this.zab.size()) {
if (i == this.zab.size() - 1) {
iIntValue = ((DataHolder) Preconditions.checkNotNull(this.mDataHolder)).getCount();
iIntValue2 = ((Integer) this.zab.get(i)).intValue();
} else {
iIntValue = ((Integer) this.zab.get(i + 1)).intValue();
iIntValue2 = ((Integer) this.zab.get(i)).intValue();
}
int i3 = iIntValue - iIntValue2;
if (i3 == 1) {
int iZaa2 = zaa(i);
int windowIndex = ((DataHolder) Preconditions.checkNotNull(this.mDataHolder)).getWindowIndex(iZaa2);
String childDataMarkerColumn = getChildDataMarkerColumn();
if (childDataMarkerColumn == null || this.mDataHolder.getString(childDataMarkerColumn, iZaa2, windowIndex) != null) {
i2 = 1;
}
} else {
i2 = i3;
}
}
return getEntry(iZaa, i2);
}
protected String getChildDataMarkerColumn() {
return null;
}
@Override // com.google.android.gms.common.data.AbstractDataBuffer, com.google.android.gms.common.data.DataBuffer
public int getCount() {
zab();
return this.zab.size();
}
protected abstract T getEntry(int i, int i2);
protected abstract String getPrimaryDataMarkerColumn();
final int zaa(int i) {
if (i >= 0 && i < this.zab.size()) {
return ((Integer) this.zab.get(i)).intValue();
}
throw new IllegalArgumentException("Position " + i + " is out of bounds for this buffer");
}
}