96 lines
3.8 KiB
Java
96 lines
3.8 KiB
Java
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");
|
|
}
|
|
} |