Initial version -- added millennium read funcionality
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
package com.google.android.gms.common.data;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import com.google.android.gms.common.data.DataHolder;
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
import com.google.android.gms.common.internal.safeparcel.SafeParcelable;
|
||||
|
||||
/* JADX INFO: compiled from: com.google.android.gms:play-services-base@@18.4.0 */
|
||||
/* JADX INFO: loaded from: classes2.dex */
|
||||
public class DataBufferSafeParcelable<T extends SafeParcelable> extends AbstractDataBuffer<T> {
|
||||
private static final String[] zaa = {"data"};
|
||||
private final Parcelable.Creator zab;
|
||||
|
||||
public DataBufferSafeParcelable(DataHolder dataHolder, Parcelable.Creator<T> creator) {
|
||||
super(dataHolder);
|
||||
this.zab = creator;
|
||||
}
|
||||
|
||||
public static <T extends SafeParcelable> void addValue(DataHolder.Builder builder, T t) {
|
||||
Parcel parcelObtain = Parcel.obtain();
|
||||
t.writeToParcel(parcelObtain, 0);
|
||||
ContentValues contentValues = new ContentValues();
|
||||
contentValues.put("data", parcelObtain.marshall());
|
||||
builder.withRow(contentValues);
|
||||
parcelObtain.recycle();
|
||||
}
|
||||
|
||||
public static DataHolder.Builder buildDataHolder() {
|
||||
return DataHolder.builder(zaa);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.common.data.AbstractDataBuffer, com.google.android.gms.common.data.DataBuffer
|
||||
public T get(int i) {
|
||||
DataHolder dataHolder = (DataHolder) Preconditions.checkNotNull(this.mDataHolder);
|
||||
byte[] byteArray = dataHolder.getByteArray("data", i, dataHolder.getWindowIndex(i));
|
||||
Parcel parcelObtain = Parcel.obtain();
|
||||
parcelObtain.unmarshall(byteArray, 0, byteArray.length);
|
||||
parcelObtain.setDataPosition(0);
|
||||
T t = (T) this.zab.createFromParcel(parcelObtain);
|
||||
parcelObtain.recycle();
|
||||
return t;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user