granularity level: instruction

		.class public abstract Lcom/google/android/gms/common/data/AbstractDataBuffer;
.super Ljava/lang/Object;
.source "com.google.android.gms:play-services-base@@18.0.1"
.implements Lcom/google/android/gms/common/data/DataBuffer;

.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lcom/google/android/gms/common/data/DataBuffer<",
"TT;>;"
}
.end annotation

.field protected final mDataHolder:Lcom/google/android/gms/common/data/DataHolder;


.method protected constructor <init>(Lcom/google/android/gms/common/data/DataHolder;)V
	.locals 0

	invoke-direct {p0}, Ljava/lang/Object;-><init>()V
	iput-object p1, p0, Lcom/google/android/gms/common/data/AbstractDataBuffer;->mDataHolder:Lcom/google/android/gms/common/data/DataHolder;
	return-void
.end method

.method public final close()V
	.locals 0

	invoke-virtual {p0}, Lcom/google/android/gms/common/data/AbstractDataBuffer;->release()V
	return-void
.end method

.method public abstract get(I)Ljava/lang/Object;
	
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"(I)TT;"
	}
	.end annotation

.end method

.method public getCount()I
	.locals 1

	iget-object v0, p0, Lcom/google/android/gms/common/data/AbstractDataBuffer;->mDataHolder:Lcom/google/android/gms/common/data/DataHolder;
	if-nez v0, :cond_0
	const/4 v0, 0x0
	return v0
	:cond_0
	invoke-virtual {v0}, Lcom/google/android/gms/common/data/DataHolder;->getCount()I
	move-result v0
	return v0
.end method

.method public final getMetadata()Landroid/os/Bundle;
	.locals 1

	iget-object v0, p0, Lcom/google/android/gms/common/data/AbstractDataBuffer;->mDataHolder:Lcom/google/android/gms/common/data/DataHolder;
	if-nez v0, :cond_0
	const/4 v0, 0x0
	return-object v0
	:cond_0
	invoke-virtual {v0}, Lcom/google/android/gms/common/data/DataHolder;->getMetadata()Landroid/os/Bundle;
	move-result-object v0
	return-object v0
.end method

.method public isClosed()Z
	.locals 1
	.annotation runtime Ljava/lang/Deprecated;
	.end annotation

	iget-object v0, p0, Lcom/google/android/gms/common/data/AbstractDataBuffer;->mDataHolder:Lcom/google/android/gms/common/data/DataHolder;
	if-eqz v0, :cond_1
	invoke-virtual {v0}, Lcom/google/android/gms/common/data/DataHolder;->isClosed()Z
	move-result v0
	if-eqz v0, :cond_0
	goto :goto_0
	:cond_0
	const/4 v0, 0x0
	return v0
	:cond_1
	:goto_0
	const/4 v0, 0x1
	return v0
.end method

.method public iterator()Ljava/util/Iterator;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"()",
	"Ljava/util/Iterator<",
	"TT;>;"
	}
	.end annotation

	new-instance v0, Lcom/google/android/gms/common/data/DataBufferIterator;
	invoke-direct {v0, p0}, Lcom/google/android/gms/common/data/DataBufferIterator;-><init>(Lcom/google/android/gms/common/data/DataBuffer;)V
	return-object v0
.end method

.method public release()V
	.locals 1

	iget-object v0, p0, Lcom/google/android/gms/common/data/AbstractDataBuffer;->mDataHolder:Lcom/google/android/gms/common/data/DataHolder;
	if-eqz v0, :cond_0
	invoke-virtual {v0}, Lcom/google/android/gms/common/data/DataHolder;->close()V
	:cond_0
	return-void
.end method

.method public singleRefIterator()Ljava/util/Iterator;
	.locals 1
	.annotation system Ldalvik/annotation/Signature;
	value = {
	"()",
	"Ljava/util/Iterator<",
	"TT;>;"
	}
	.end annotation

	new-instance v0, Lcom/google/android/gms/common/data/SingleRefDataBufferIterator;
	invoke-direct {v0, p0}, Lcom/google/android/gms/common/data/SingleRefDataBufferIterator;-><init>(Lcom/google/android/gms/common/data/DataBuffer;)V
	return-object v0
.end method