This commit is contained in:
2022-06-10 21:38:30 +09:00
commit 27f5152838
51323 changed files with 12934539 additions and 0 deletions
@@ -0,0 +1,195 @@
.class final Lcom/google/api/client/util/ArrayMap$Entry;
.super Ljava/lang/Object;
.source "ArrayMap.java"
# interfaces
.implements Ljava/util/Map$Entry;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/ArrayMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "Entry"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Map$Entry<",
"TK;TV;>;"
}
.end annotation
# instance fields
.field private index:I
.field public final synthetic this$0:Lcom/google/api/client/util/ArrayMap;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/ArrayMap;I)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/api/client/util/ArrayMap$Entry;->this$0:Lcom/google/api/client/util/ArrayMap;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput p2, p0, Lcom/google/api/client/util/ArrayMap$Entry;->index:I
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 4
const/4 v0, 0x1
if-ne p0, p1, :cond_0
return v0
.line 1
:cond_0
instance-of v1, p1, Ljava/util/Map$Entry;
const/4 v2, 0x0
if-nez v1, :cond_1
return v2
.line 2
:cond_1
check-cast p1, Ljava/util/Map$Entry;
.line 3
invoke-virtual {p0}, Lcom/google/api/client/util/ArrayMap$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
invoke-static {v1, v3}, Lcom/google/api/client/util/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2
invoke-virtual {p0}, Lcom/google/api/client/util/ArrayMap$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object p1
invoke-static {v1, p1}, Lcom/google/api/client/util/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2
goto :goto_0
:cond_2
move v0, v2
:goto_0
return v0
.end method
.method public getKey()Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TK;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ArrayMap$Entry;->this$0:Lcom/google/api/client/util/ArrayMap;
iget v1, p0, Lcom/google/api/client/util/ArrayMap$Entry;->index:I
invoke-virtual {v0, v1}, Lcom/google/api/client/util/ArrayMap;->getKey(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public getValue()Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()TV;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ArrayMap$Entry;->this$0:Lcom/google/api/client/util/ArrayMap;
iget v1, p0, Lcom/google/api/client/util/ArrayMap$Entry;->index:I
invoke-virtual {v0, v1}, Lcom/google/api/client/util/ArrayMap;->getValue(I)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public hashCode()I
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/ArrayMap$Entry;->getKey()Ljava/lang/Object;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
move-result v0
invoke-virtual {p0}, Lcom/google/api/client/util/ArrayMap$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
xor-int/2addr v0, v1
return v0
.end method
.method public setValue(Ljava/lang/Object;)Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TV;)TV;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ArrayMap$Entry;->this$0:Lcom/google/api/client/util/ArrayMap;
iget v1, p0, Lcom/google/api/client/util/ArrayMap$Entry;->index:I
invoke-virtual {v0, v1, p1}, Lcom/google/api/client/util/ArrayMap;->set(ILjava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,160 @@
.class final Lcom/google/api/client/util/ArrayMap$EntryIterator;
.super Ljava/lang/Object;
.source "ArrayMap.java"
# interfaces
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/ArrayMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "EntryIterator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Iterator<",
"Ljava/util/Map$Entry<",
"TK;TV;>;>;"
}
.end annotation
# instance fields
.field private nextIndex:I
.field private removed:Z
.field public final synthetic this$0:Lcom/google/api/client/util/ArrayMap;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/ArrayMap;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/api/client/util/ArrayMap$EntryIterator;->this$0:Lcom/google/api/client/util/ArrayMap;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 2
.line 1
iget v0, p0, Lcom/google/api/client/util/ArrayMap$EntryIterator;->nextIndex:I
iget-object v1, p0, Lcom/google/api/client/util/ArrayMap$EntryIterator;->this$0:Lcom/google/api/client/util/ArrayMap;
iget v1, v1, Lcom/google/api/client/util/ArrayMap;->size:I
if-ge v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public bridge synthetic next()Ljava/lang/Object;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/ArrayMap$EntryIterator;->next()Ljava/util/Map$Entry;
move-result-object v0
return-object v0
.end method
.method public next()Ljava/util/Map$Entry;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map$Entry<",
"TK;TV;>;"
}
.end annotation
.line 2
iget v0, p0, Lcom/google/api/client/util/ArrayMap$EntryIterator;->nextIndex:I
.line 3
iget-object v1, p0, Lcom/google/api/client/util/ArrayMap$EntryIterator;->this$0:Lcom/google/api/client/util/ArrayMap;
iget v2, v1, Lcom/google/api/client/util/ArrayMap;->size:I
if-eq v0, v2, :cond_0
add-int/lit8 v2, v0, 0x1
.line 4
iput v2, p0, Lcom/google/api/client/util/ArrayMap$EntryIterator;->nextIndex:I
.line 5
new-instance v2, Lcom/google/api/client/util/ArrayMap$Entry;
invoke-direct {v2, v1, v0}, Lcom/google/api/client/util/ArrayMap$Entry;-><init>(Lcom/google/api/client/util/ArrayMap;I)V
return-object v2
.line 6
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public remove()V
.locals 3
.line 1
iget v0, p0, Lcom/google/api/client/util/ArrayMap$EntryIterator;->nextIndex:I
const/4 v1, 0x1
sub-int/2addr v0, v1
.line 2
iget-boolean v2, p0, Lcom/google/api/client/util/ArrayMap$EntryIterator;->removed:Z
if-nez v2, :cond_0
if-ltz v0, :cond_0
.line 3
iget-object v2, p0, Lcom/google/api/client/util/ArrayMap$EntryIterator;->this$0:Lcom/google/api/client/util/ArrayMap;
invoke-virtual {v2, v0}, Lcom/google/api/client/util/ArrayMap;->remove(I)Ljava/lang/Object;
.line 4
iput-boolean v1, p0, Lcom/google/api/client/util/ArrayMap$EntryIterator;->removed:Z
return-void
.line 5
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v0
.end method
@@ -0,0 +1,73 @@
.class final Lcom/google/api/client/util/ArrayMap$EntrySet;
.super Ljava/util/AbstractSet;
.source "ArrayMap.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/ArrayMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "EntrySet"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractSet<",
"Ljava/util/Map$Entry<",
"TK;TV;>;>;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/api/client/util/ArrayMap;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/ArrayMap;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/api/client/util/ArrayMap$EntrySet;->this$0:Lcom/google/api/client/util/ArrayMap;
invoke-direct {p0}, Ljava/util/AbstractSet;-><init>()V
return-void
.end method
# virtual methods
.method public iterator()Ljava/util/Iterator;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Ljava/util/Map$Entry<",
"TK;TV;>;>;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/api/client/util/ArrayMap$EntryIterator;
iget-object v1, p0, Lcom/google/api/client/util/ArrayMap$EntrySet;->this$0:Lcom/google/api/client/util/ArrayMap;
invoke-direct {v0, v1}, Lcom/google/api/client/util/ArrayMap$EntryIterator;-><init>(Lcom/google/api/client/util/ArrayMap;)V
return-object v0
.end method
.method public size()I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ArrayMap$EntrySet;->this$0:Lcom/google/api/client/util/ArrayMap;
iget v0, v0, Lcom/google/api/client/util/ArrayMap;->size:I
return v0
.end method
@@ -0,0 +1,907 @@
.class public Lcom/google/api/client/util/ArrayMap;
.super Ljava/util/AbstractMap;
.source "ArrayMap.java"
# interfaces
.implements Ljava/lang/Cloneable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/api/client/util/ArrayMap$Entry;,
Lcom/google/api/client/util/ArrayMap$EntryIterator;,
Lcom/google/api/client/util/ArrayMap$EntrySet;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">",
"Ljava/util/AbstractMap<",
"TK;TV;>;",
"Ljava/lang/Cloneable;"
}
.end annotation
# instance fields
.field private data:[Ljava/lang/Object;
.field public size:I
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/util/AbstractMap;-><init>()V
return-void
.end method
.method public static create()Lcom/google/api/client/util/ArrayMap;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">()",
"Lcom/google/api/client/util/ArrayMap<",
"TK;TV;>;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/api/client/util/ArrayMap;
invoke-direct {v0}, Lcom/google/api/client/util/ArrayMap;-><init>()V
return-object v0
.end method
.method public static create(I)Lcom/google/api/client/util/ArrayMap;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">(I)",
"Lcom/google/api/client/util/ArrayMap<",
"TK;TV;>;"
}
.end annotation
.line 2
invoke-static {}, Lcom/google/api/client/util/ArrayMap;->create()Lcom/google/api/client/util/ArrayMap;
move-result-object v0
.line 3
invoke-virtual {v0, p0}, Lcom/google/api/client/util/ArrayMap;->ensureCapacity(I)V
return-object v0
.end method
.method private getDataIndexOfKey(Ljava/lang/Object;)I
.locals 4
.line 1
iget v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
shl-int/lit8 v0, v0, 0x1
.line 2
iget-object v1, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_2
.line 3
aget-object v3, v1, v2
if-nez p1, :cond_0
if-nez v3, :cond_1
goto :goto_1
.line 4
:cond_0
invoke-virtual {p1, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
:goto_1
return v2
:cond_1
add-int/lit8 v2, v2, 0x2
goto :goto_0
:cond_2
const/4 p1, -0x2
return p1
.end method
.method public static varargs of([Ljava/lang/Object;)Lcom/google/api/client/util/ArrayMap;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">([",
"Ljava/lang/Object;",
")",
"Lcom/google/api/client/util/ArrayMap<",
"TK;TV;>;"
}
.end annotation
const/4 v0, 0x1
.line 1
invoke-static {v0}, Lcom/google/api/client/util/ArrayMap;->create(I)Lcom/google/api/client/util/ArrayMap;
move-result-object v1
.line 2
array-length v2, p0
.line 3
rem-int/lit8 v3, v2, 0x2
if-eq v0, v3, :cond_0
.line 4
array-length v0, p0
div-int/lit8 v0, v0, 0x2
iput v0, v1, Lcom/google/api/client/util/ArrayMap;->size:I
.line 5
new-array v0, v2, [Ljava/lang/Object;
iput-object v0, v1, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
const/4 v3, 0x0
.line 6
invoke-static {p0, v3, v0, v3, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
return-object v1
.line 7
:cond_0
new-instance v1, Ljava/lang/IllegalArgumentException;
const-string v3, "missing value for last key: "
invoke-static {v3}, Landroid/support/v4/media/d;->a(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
sub-int/2addr v2, v0
aget-object p0, p0, v2
invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method private removeFromDataIndexOfKey(I)Ljava/lang/Object;
.locals 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)TV;"
}
.end annotation
.line 1
iget v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
shl-int/lit8 v0, v0, 0x1
const/4 v1, 0x0
if-ltz p1, :cond_2
if-lt p1, v0, :cond_0
goto :goto_0
:cond_0
add-int/lit8 v2, p1, 0x1
.line 2
invoke-direct {p0, v2}, Lcom/google/api/client/util/ArrayMap;->valueAtDataIndex(I)Ljava/lang/Object;
move-result-object v2
.line 3
iget-object v3, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
sub-int v4, v0, p1
add-int/lit8 v4, v4, -0x2
if-eqz v4, :cond_1
add-int/lit8 v5, p1, 0x2
.line 4
invoke-static {v3, v5, v3, p1, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 5
:cond_1
iget p1, p0, Lcom/google/api/client/util/ArrayMap;->size:I
add-int/lit8 p1, p1, -0x1
iput p1, p0, Lcom/google/api/client/util/ArrayMap;->size:I
add-int/lit8 v0, v0, -0x2
.line 6
invoke-direct {p0, v0, v1, v1}, Lcom/google/api/client/util/ArrayMap;->setData(ILjava/lang/Object;Ljava/lang/Object;)V
return-object v2
:cond_2
:goto_0
return-object v1
.end method
.method private setData(ILjava/lang/Object;Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(ITK;TV;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
.line 2
aput-object p2, v0, p1
add-int/lit8 p1, p1, 0x1
.line 3
aput-object p3, v0, p1
return-void
.end method
.method private setDataCapacity(I)V
.locals 3
if-nez p1, :cond_0
const/4 p1, 0x0
.line 1
iput-object p1, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
return-void
.line 2
:cond_0
iget v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
.line 3
iget-object v1, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
if-eqz v0, :cond_1
.line 4
array-length v2, v1
if-eq p1, v2, :cond_2
.line 5
:cond_1
new-array p1, p1, [Ljava/lang/Object;
iput-object p1, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
if-eqz v0, :cond_2
shl-int/lit8 v0, v0, 0x1
const/4 v2, 0x0
.line 6
invoke-static {v1, v2, p1, v2, v0}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:cond_2
return-void
.end method
.method private valueAtDataIndex(I)Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)TV;"
}
.end annotation
if-gez p1, :cond_0
const/4 p1, 0x0
return-object p1
.line 1
:cond_0
iget-object v0, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
aget-object p1, v0, p1
return-object p1
.end method
# virtual methods
.method public final add(Ljava/lang/Object;Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;TV;)V"
}
.end annotation
.line 1
iget v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
invoke-virtual {p0, v0, p1, p2}, Lcom/google/api/client/util/ArrayMap;->set(ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public clear()V
.locals 1
const/4 v0, 0x0
.line 1
iput v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
const/4 v0, 0x0
.line 2
iput-object v0, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
return-void
.end method
.method public clone()Lcom/google/api/client/util/ArrayMap;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/api/client/util/ArrayMap<",
"TK;TV;>;"
}
.end annotation
.line 2
:try_start_0
invoke-super {p0}, Ljava/util/AbstractMap;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/api/client/util/ArrayMap;
.line 3
iget-object v1, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
if-eqz v1, :cond_0
.line 4
array-length v2, v1
.line 5
new-array v3, v2, [Ljava/lang/Object;
iput-object v3, v0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
const/4 v4, 0x0
.line 6
invoke-static {v1, v4, v3, v4, v2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:try_end_0
.catch Ljava/lang/CloneNotSupportedException; {:try_start_0 .. :try_end_0} :catch_0
:cond_0
return-object v0
:catch_0
const/4 v0, 0x0
return-object v0
.end method
.method public bridge synthetic clone()Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/CloneNotSupportedException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/ArrayMap;->clone()Lcom/google/api/client/util/ArrayMap;
move-result-object v0
return-object v0
.end method
.method public final containsKey(Ljava/lang/Object;)Z
.locals 1
.line 1
invoke-direct {p0, p1}, Lcom/google/api/client/util/ArrayMap;->getDataIndexOfKey(Ljava/lang/Object;)I
move-result p1
const/4 v0, -0x2
if-eq v0, p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public final containsValue(Ljava/lang/Object;)Z
.locals 5
.line 1
iget v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
const/4 v1, 0x1
shl-int/2addr v0, v1
.line 2
iget-object v2, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
move v3, v1
:goto_0
if-ge v3, v0, :cond_2
.line 3
aget-object v4, v2, v3
if-nez p1, :cond_0
if-nez v4, :cond_1
goto :goto_1
.line 4
:cond_0
invoke-virtual {p1, v4}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_1
:goto_1
return v1
:cond_1
add-int/lit8 v3, v3, 0x2
goto :goto_0
:cond_2
const/4 p1, 0x0
return p1
.end method
.method public final ensureCapacity(I)V
.locals 2
if-ltz p1, :cond_4
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
shl-int/lit8 p1, p1, 0x1
if-nez v0, :cond_0
const/4 v0, 0x0
goto :goto_0
.line 2
:cond_0
array-length v0, v0
:goto_0
if-le p1, v0, :cond_3
.line 3
div-int/lit8 v0, v0, 0x2
mul-int/lit8 v0, v0, 0x3
add-int/lit8 v0, v0, 0x1
.line 4
rem-int/lit8 v1, v0, 0x2
if-eqz v1, :cond_1
add-int/lit8 v0, v0, 0x1
:cond_1
if-ge v0, p1, :cond_2
goto :goto_1
:cond_2
move p1, v0
.line 5
:goto_1
invoke-direct {p0, p1}, Lcom/google/api/client/util/ArrayMap;->setDataCapacity(I)V
:cond_3
return-void
.line 6
:cond_4
new-instance p1, Ljava/lang/IndexOutOfBoundsException;
invoke-direct {p1}, Ljava/lang/IndexOutOfBoundsException;-><init>()V
throw p1
.end method
.method public final entrySet()Ljava/util/Set;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Ljava/util/Map$Entry<",
"TK;TV;>;>;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/api/client/util/ArrayMap$EntrySet;
invoke-direct {v0, p0}, Lcom/google/api/client/util/ArrayMap$EntrySet;-><init>(Lcom/google/api/client/util/ArrayMap;)V
return-object v0
.end method
.method public final get(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
")TV;"
}
.end annotation
.line 1
invoke-direct {p0, p1}, Lcom/google/api/client/util/ArrayMap;->getDataIndexOfKey(Ljava/lang/Object;)I
move-result p1
add-int/lit8 p1, p1, 0x1
invoke-direct {p0, p1}, Lcom/google/api/client/util/ArrayMap;->valueAtDataIndex(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final getIndexOfKey(Ljava/lang/Object;)I
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;)I"
}
.end annotation
.line 1
invoke-direct {p0, p1}, Lcom/google/api/client/util/ArrayMap;->getDataIndexOfKey(Ljava/lang/Object;)I
move-result p1
shr-int/lit8 p1, p1, 0x1
return p1
.end method
.method public final getKey(I)Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)TK;"
}
.end annotation
if-ltz p1, :cond_1
.line 1
iget v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
if-lt p1, v0, :cond_0
goto :goto_0
.line 2
:cond_0
iget-object v0, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
shl-int/lit8 p1, p1, 0x1
aget-object p1, v0, p1
return-object p1
:cond_1
:goto_0
const/4 p1, 0x0
return-object p1
.end method
.method public final getValue(I)Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)TV;"
}
.end annotation
if-ltz p1, :cond_1
.line 1
iget v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
if-lt p1, v0, :cond_0
goto :goto_0
:cond_0
shl-int/lit8 p1, p1, 0x1
add-int/lit8 p1, p1, 0x1
.line 2
invoke-direct {p0, p1}, Lcom/google/api/client/util/ArrayMap;->valueAtDataIndex(I)Ljava/lang/Object;
move-result-object p1
return-object p1
:cond_1
:goto_0
const/4 p1, 0x0
return-object p1
.end method
.method public final put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TK;TV;)TV;"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lcom/google/api/client/util/ArrayMap;->getIndexOfKey(Ljava/lang/Object;)I
move-result v0
const/4 v1, -0x1
if-ne v0, v1, :cond_0
.line 2
iget v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
.line 3
:cond_0
invoke-virtual {p0, v0, p1, p2}, Lcom/google/api/client/util/ArrayMap;->set(ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final remove(I)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(I)TV;"
}
.end annotation
shl-int/lit8 p1, p1, 0x1
.line 1
invoke-direct {p0, p1}, Lcom/google/api/client/util/ArrayMap;->removeFromDataIndexOfKey(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final remove(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
")TV;"
}
.end annotation
.line 2
invoke-direct {p0, p1}, Lcom/google/api/client/util/ArrayMap;->getDataIndexOfKey(Ljava/lang/Object;)I
move-result p1
invoke-direct {p0, p1}, Lcom/google/api/client/util/ArrayMap;->removeFromDataIndexOfKey(I)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final set(ILjava/lang/Object;)Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(ITV;)TV;"
}
.end annotation
.line 7
iget v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
if-ltz p1, :cond_0
if-ge p1, v0, :cond_0
shl-int/lit8 p1, p1, 0x1
add-int/lit8 p1, p1, 0x1
.line 8
invoke-direct {p0, p1}, Lcom/google/api/client/util/ArrayMap;->valueAtDataIndex(I)Ljava/lang/Object;
move-result-object v0
.line 9
iget-object v1, p0, Lcom/google/api/client/util/ArrayMap;->data:[Ljava/lang/Object;
aput-object p2, v1, p1
return-object v0
.line 10
:cond_0
new-instance p1, Ljava/lang/IndexOutOfBoundsException;
invoke-direct {p1}, Ljava/lang/IndexOutOfBoundsException;-><init>()V
throw p1
.end method
.method public final set(ILjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(ITK;TV;)TV;"
}
.end annotation
if-ltz p1, :cond_1
add-int/lit8 v0, p1, 0x1
.line 1
invoke-virtual {p0, v0}, Lcom/google/api/client/util/ArrayMap;->ensureCapacity(I)V
shl-int/lit8 p1, p1, 0x1
add-int/lit8 v1, p1, 0x1
.line 2
invoke-direct {p0, v1}, Lcom/google/api/client/util/ArrayMap;->valueAtDataIndex(I)Ljava/lang/Object;
move-result-object v1
.line 3
invoke-direct {p0, p1, p2, p3}, Lcom/google/api/client/util/ArrayMap;->setData(ILjava/lang/Object;Ljava/lang/Object;)V
.line 4
iget p1, p0, Lcom/google/api/client/util/ArrayMap;->size:I
if-le v0, p1, :cond_0
.line 5
iput v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
:cond_0
return-object v1
.line 6
:cond_1
new-instance p1, Ljava/lang/IndexOutOfBoundsException;
invoke-direct {p1}, Ljava/lang/IndexOutOfBoundsException;-><init>()V
throw p1
.end method
.method public final size()I
.locals 1
.line 1
iget v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
return v0
.end method
.method public final trim()V
.locals 1
.line 1
iget v0, p0, Lcom/google/api/client/util/ArrayMap;->size:I
shl-int/lit8 v0, v0, 0x1
invoke-direct {p0, v0}, Lcom/google/api/client/util/ArrayMap;->setDataCapacity(I)V
return-void
.end method
@@ -0,0 +1,115 @@
.class Lcom/google/api/client/util/ArrayValueMap$ArrayValue;
.super Ljava/lang/Object;
.source "ArrayValueMap.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/ArrayValueMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "ArrayValue"
.end annotation
# instance fields
.field public final componentType:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.end field
.field public final values:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/Class;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;->values:Ljava/util/ArrayList;
.line 3
iput-object p1, p0, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;->componentType:Ljava/lang/Class;
return-void
.end method
# virtual methods
.method public addValue(Ljava/lang/Class;Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Object;",
")V"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;->componentType:Ljava/lang/Class;
if-ne p1, v0, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkArgument(Z)V
.line 2
iget-object p1, p0, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;->values:Ljava/util/ArrayList;
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public toArray()Ljava/lang/Object;
.locals 2
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;->values:Ljava/util/ArrayList;
iget-object v1, p0, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;->componentType:Ljava/lang/Class;
invoke-static {v0, v1}, Lcom/google/api/client/util/Types;->toArray(Ljava/util/Collection;Ljava/lang/Class;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,252 @@
.class public final Lcom/google/api/client/util/ArrayValueMap;
.super Ljava/lang/Object;
.source "ArrayValueMap.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/api/client/util/ArrayValueMap$ArrayValue;
}
.end annotation
# instance fields
.field private final destination:Ljava/lang/Object;
.field private final fieldMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/reflect/Field;",
"Lcom/google/api/client/util/ArrayValueMap$ArrayValue;",
">;"
}
.end annotation
.end field
.field private final keyMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcom/google/api/client/util/ArrayValueMap$ArrayValue;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/lang/Object;)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-static {}, Lcom/google/api/client/util/ArrayMap;->create()Lcom/google/api/client/util/ArrayMap;
move-result-object v0
iput-object v0, p0, Lcom/google/api/client/util/ArrayValueMap;->keyMap:Ljava/util/Map;
.line 3
invoke-static {}, Lcom/google/api/client/util/ArrayMap;->create()Lcom/google/api/client/util/ArrayMap;
move-result-object v0
iput-object v0, p0, Lcom/google/api/client/util/ArrayValueMap;->fieldMap:Ljava/util/Map;
.line 4
iput-object p1, p0, Lcom/google/api/client/util/ArrayValueMap;->destination:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public put(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Object;",
")V"
}
.end annotation
.line 5
iget-object v0, p0, Lcom/google/api/client/util/ArrayValueMap;->keyMap:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;
if-nez v0, :cond_0
.line 6
new-instance v0, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;
invoke-direct {v0, p2}, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;-><init>(Ljava/lang/Class;)V
.line 7
iget-object v1, p0, Lcom/google/api/client/util/ArrayValueMap;->keyMap:Ljava/util/Map;
invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 8
:cond_0
invoke-virtual {v0, p2, p3}, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;->addValue(Ljava/lang/Class;Ljava/lang/Object;)V
return-void
.end method
.method public put(Ljava/lang/reflect/Field;Ljava/lang/Class;Ljava/lang/Object;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/reflect/Field;",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Object;",
")V"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ArrayValueMap;->fieldMap:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;
if-nez v0, :cond_0
.line 2
new-instance v0, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;
invoke-direct {v0, p2}, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;-><init>(Ljava/lang/Class;)V
.line 3
iget-object v1, p0, Lcom/google/api/client/util/ArrayValueMap;->fieldMap:Ljava/util/Map;
invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4
:cond_0
invoke-virtual {v0, p2, p3}, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;->addValue(Ljava/lang/Class;Ljava/lang/Object;)V
return-void
.end method
.method public setValues()V
.locals 4
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ArrayValueMap;->keyMap:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 2
iget-object v2, p0, Lcom/google/api/client/util/ArrayValueMap;->destination:Ljava/lang/Object;
check-cast v2, Ljava/util/Map;
.line 3
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;
invoke-virtual {v1}, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;->toArray()Ljava/lang/Object;
move-result-object v1
invoke-interface {v2, v3, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_0
.line 4
:cond_0
iget-object v0, p0, Lcom/google/api/client/util/ArrayValueMap;->fieldMap:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_1
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 5
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/reflect/Field;
iget-object v3, p0, Lcom/google/api/client/util/ArrayValueMap;->destination:Ljava/lang/Object;
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;
invoke-virtual {v1}, Lcom/google/api/client/util/ArrayValueMap$ArrayValue;->toArray()Ljava/lang/Object;
move-result-object v1
invoke-static {v2, v3, v1}, Lcom/google/api/client/util/FieldInfo;->setFieldValue(Ljava/lang/reflect/Field;Ljava/lang/Object;Ljava/lang/Object;)V
goto :goto_1
:cond_1
return-void
.end method
@@ -0,0 +1,54 @@
.class final Lcom/google/api/client/util/BackOff$1;
.super Ljava/lang/Object;
.source "BackOff.java"
# interfaces
.implements Lcom/google/api/client/util/BackOff;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/BackOff;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public nextBackOffMillis()J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-wide/16 v0, 0x0
return-wide v0
.end method
.method public reset()V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
return-void
.end method
@@ -0,0 +1,54 @@
.class final Lcom/google/api/client/util/BackOff$2;
.super Ljava/lang/Object;
.source "BackOff.java"
# interfaces
.implements Lcom/google/api/client/util/BackOff;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/BackOff;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public nextBackOffMillis()J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-wide/16 v0, -0x1
return-wide v0
.end method
.method public reset()V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
return-void
.end method
@@ -0,0 +1,51 @@
.class public interface abstract Lcom/google/api/client/util/BackOff;
.super Ljava/lang/Object;
.source "BackOff.java"
# static fields
.field public static final STOP:J = -0x1L
.field public static final STOP_BACKOFF:Lcom/google/api/client/util/BackOff;
.field public static final ZERO_BACKOFF:Lcom/google/api/client/util/BackOff;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/api/client/util/BackOff$1;
invoke-direct {v0}, Lcom/google/api/client/util/BackOff$1;-><init>()V
sput-object v0, Lcom/google/api/client/util/BackOff;->ZERO_BACKOFF:Lcom/google/api/client/util/BackOff;
.line 2
new-instance v0, Lcom/google/api/client/util/BackOff$2;
invoke-direct {v0}, Lcom/google/api/client/util/BackOff$2;-><init>()V
sput-object v0, Lcom/google/api/client/util/BackOff;->STOP_BACKOFF:Lcom/google/api/client/util/BackOff;
return-void
.end method
# virtual methods
.method public abstract nextBackOffMillis()J
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract reset()V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
@@ -0,0 +1,52 @@
.class public final Lcom/google/api/client/util/BackOffUtils;
.super Ljava/lang/Object;
.source "BackOffUtils.java"
# annotations
.annotation build Lcom/google/api/client/util/Beta;
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static next(Lcom/google/api/client/util/Sleeper;Lcom/google/api/client/util/BackOff;)Z
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;,
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-interface {p1}, Lcom/google/api/client/util/BackOff;->nextBackOffMillis()J
move-result-wide v0
const-wide/16 v2, -0x1
cmp-long p1, v0, v2
if-nez p1, :cond_0
const/4 p0, 0x0
return p0
.line 2
:cond_0
invoke-interface {p0, v0, v1}, Lcom/google/api/client/util/Sleeper;->sleep(J)V
const/4 p0, 0x1
return p0
.end method
@@ -0,0 +1,80 @@
.class public Lcom/google/api/client/util/Base64;
.super Ljava/lang/Object;
.source "Base64.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static decodeBase64(Ljava/lang/String;)[B
.locals 0
.line 2
invoke-static {p0}, Lcom/google/api/client/repackaged/org/apache/commons/codec/binary/Base64;->decodeBase64(Ljava/lang/String;)[B
move-result-object p0
return-object p0
.end method
.method public static decodeBase64([B)[B
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/org/apache/commons/codec/binary/Base64;->decodeBase64([B)[B
move-result-object p0
return-object p0
.end method
.method public static encodeBase64([B)[B
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/org/apache/commons/codec/binary/Base64;->encodeBase64([B)[B
move-result-object p0
return-object p0
.end method
.method public static encodeBase64String([B)Ljava/lang/String;
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/org/apache/commons/codec/binary/Base64;->encodeBase64String([B)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static encodeBase64URLSafe([B)[B
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/org/apache/commons/codec/binary/Base64;->encodeBase64URLSafe([B)[B
move-result-object p0
return-object p0
.end method
.method public static encodeBase64URLSafeString([B)Ljava/lang/String;
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/org/apache/commons/codec/binary/Base64;->encodeBase64URLSafeString([B)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
@@ -0,0 +1,22 @@
.class public interface abstract annotation Lcom/google/api/client/util/Beta;
.super Ljava/lang/Object;
.source "Beta.java"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation runtime Ljava/lang/annotation/Documented;
.end annotation
.annotation runtime Ljava/lang/annotation/Target;
value = {
.enum Ljava/lang/annotation/ElementType;->ANNOTATION_TYPE:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->CONSTRUCTOR:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->FIELD:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->METHOD:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->TYPE:Ljava/lang/annotation/ElementType;,
.enum Ljava/lang/annotation/ElementType;->PACKAGE:Ljava/lang/annotation/ElementType;
}
.end annotation
@@ -0,0 +1,99 @@
.class public Lcom/google/api/client/util/ByteArrayStreamingContent;
.super Ljava/lang/Object;
.source "ByteArrayStreamingContent.java"
# interfaces
.implements Lcom/google/api/client/util/StreamingContent;
# instance fields
.field private final byteArray:[B
.field private final length:I
.field private final offset:I
# direct methods
.method public constructor <init>([B)V
.locals 2
.line 1
array-length v0, p1
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Lcom/google/api/client/util/ByteArrayStreamingContent;-><init>([BII)V
return-void
.end method
.method public constructor <init>([BII)V
.locals 1
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, [B
iput-object v0, p0, Lcom/google/api/client/util/ByteArrayStreamingContent;->byteArray:[B
if-ltz p2, :cond_0
if-ltz p3, :cond_0
add-int v0, p2, p3
.line 4
array-length p1, p1
if-gt v0, p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkArgument(Z)V
.line 5
iput p2, p0, Lcom/google/api/client/util/ByteArrayStreamingContent;->offset:I
.line 6
iput p3, p0, Lcom/google/api/client/util/ByteArrayStreamingContent;->length:I
return-void
.end method
# virtual methods
.method public writeTo(Ljava/io/OutputStream;)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ByteArrayStreamingContent;->byteArray:[B
iget v1, p0, Lcom/google/api/client/util/ByteArrayStreamingContent;->offset:I
iget v2, p0, Lcom/google/api/client/util/ByteArrayStreamingContent;->length:I
invoke-virtual {p1, v0, v1, v2}, Ljava/io/OutputStream;->write([BII)V
.line 2
invoke-virtual {p1}, Ljava/io/OutputStream;->flush()V
return-void
.end method
@@ -0,0 +1,60 @@
.class final Lcom/google/api/client/util/ByteCountingOutputStream;
.super Ljava/io/OutputStream;
.source "ByteCountingOutputStream.java"
# instance fields
.field public count:J
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/io/OutputStream;-><init>()V
return-void
.end method
# virtual methods
.method public write(I)V
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2
iget-wide v0, p0, Lcom/google/api/client/util/ByteCountingOutputStream;->count:J
const-wide/16 v2, 0x1
add-long/2addr v0, v2
iput-wide v0, p0, Lcom/google/api/client/util/ByteCountingOutputStream;->count:J
return-void
.end method
.method public write([BII)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-wide p1, p0, Lcom/google/api/client/util/ByteCountingOutputStream;->count:J
int-to-long v0, p3
add-long/2addr p1, v0
iput-wide p1, p0, Lcom/google/api/client/util/ByteCountingOutputStream;->count:J
return-void
.end method
@@ -0,0 +1,328 @@
.class final Lcom/google/api/client/util/ByteStreams$LimitedInputStream;
.super Ljava/io/FilterInputStream;
.source "ByteStreams.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/ByteStreams;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "LimitedInputStream"
.end annotation
# instance fields
.field private left:J
.field private mark:J
# direct methods
.method public constructor <init>(Ljava/io/InputStream;J)V
.locals 2
.line 1
invoke-direct {p0, p1}, Ljava/io/FilterInputStream;-><init>(Ljava/io/InputStream;)V
const-wide/16 v0, -0x1
.line 2
iput-wide v0, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->mark:J
.line 3
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const-wide/16 v0, 0x0
cmp-long p1, p2, v0
if-ltz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
const-string v0, "limit must be non-negative"
.line 4
invoke-static {p1, v0}, Lcom/google/api/client/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V
.line 5
iput-wide p2, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
return-void
.end method
# virtual methods
.method public available()I
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
invoke-virtual {v0}, Ljava/io/InputStream;->available()I
move-result v0
int-to-long v0, v0
iget-wide v2, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->min(JJ)J
move-result-wide v0
long-to-int v0, v0
return v0
.end method
.method public declared-synchronized mark(I)V
.locals 2
monitor-enter p0
.line 1
:try_start_0
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
invoke-virtual {v0, p1}, Ljava/io/InputStream;->mark(I)V
.line 2
iget-wide v0, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
iput-wide v0, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->mark:J
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public read()I
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-wide v0, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
const/4 v1, -0x1
if-nez v0, :cond_0
return v1
.line 2
:cond_0
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
invoke-virtual {v0}, Ljava/io/InputStream;->read()I
move-result v0
if-eq v0, v1, :cond_1
.line 3
iget-wide v1, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
const-wide/16 v3, 0x1
sub-long/2addr v1, v3
iput-wide v1, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
:cond_1
return v0
.end method
.method public read([BII)I
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 4
iget-wide v0, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
const-wide/16 v2, 0x0
cmp-long v2, v0, v2
const/4 v3, -0x1
if-nez v2, :cond_0
return v3
:cond_0
int-to-long v4, p3
.line 5
invoke-static {v4, v5, v0, v1}, Ljava/lang/Math;->min(JJ)J
move-result-wide v0
long-to-int p3, v0
.line 6
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
invoke-virtual {v0, p1, p2, p3}, Ljava/io/InputStream;->read([BII)I
move-result p1
if-eq p1, v3, :cond_1
.line 7
iget-wide p2, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
int-to-long v0, p1
sub-long/2addr p2, v0
iput-wide p2, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
:cond_1
return p1
.end method
.method public declared-synchronized reset()V
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
monitor-enter p0
.line 1
:try_start_0
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
invoke-virtual {v0}, Ljava/io/InputStream;->markSupported()Z
move-result v0
if-eqz v0, :cond_1
.line 2
iget-wide v0, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->mark:J
const-wide/16 v2, -0x1
cmp-long v0, v0, v2
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
invoke-virtual {v0}, Ljava/io/InputStream;->reset()V
.line 4
iget-wide v0, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->mark:J
iput-wide v0, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 5
monitor-exit p0
return-void
.line 6
:cond_0
:try_start_1
new-instance v0, Ljava/io/IOException;
const-string v1, "Mark not set"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 7
:cond_1
new-instance v0, Ljava/io/IOException;
const-string v1, "Mark not supported"
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public skip(J)J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-wide v0, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
invoke-static {p1, p2, v0, v1}, Ljava/lang/Math;->min(JJ)J
move-result-wide p1
.line 2
iget-object v0, p0, Ljava/io/FilterInputStream;->in:Ljava/io/InputStream;
invoke-virtual {v0, p1, p2}, Ljava/io/InputStream;->skip(J)J
move-result-wide p1
.line 3
iget-wide v0, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
sub-long/2addr v0, p1
iput-wide v0, p0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;->left:J
return-wide p1
.end method
@@ -0,0 +1,138 @@
.class public final Lcom/google/api/client/util/ByteStreams;
.super Ljava/lang/Object;
.source "ByteStreams.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/api/client/util/ByteStreams$LimitedInputStream;
}
.end annotation
# static fields
.field private static final BUF_SIZE:I = 0x1000
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static copy(Ljava/io/InputStream;Ljava/io/OutputStream;)J
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const/16 v0, 0x1000
new-array v0, v0, [B
const-wide/16 v1, 0x0
.line 3
:goto_0
invoke-virtual {p0, v0}, Ljava/io/InputStream;->read([B)I
move-result v3
const/4 v4, -0x1
if-ne v3, v4, :cond_0
return-wide v1
:cond_0
const/4 v4, 0x0
.line 4
invoke-virtual {p1, v0, v4, v3}, Ljava/io/OutputStream;->write([BII)V
int-to-long v3, v3
add-long/2addr v1, v3
goto :goto_0
.end method
.method public static limit(Ljava/io/InputStream;J)Ljava/io/InputStream;
.locals 1
.line 1
new-instance v0, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;
invoke-direct {v0, p0, p1, p2}, Lcom/google/api/client/util/ByteStreams$LimitedInputStream;-><init>(Ljava/io/InputStream;J)V
return-object v0
.end method
.method public static read(Ljava/io/InputStream;[BII)I
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
if-ltz p3, :cond_2
const/4 v0, 0x0
:goto_0
if-ge v0, p3, :cond_1
add-int v1, p2, v0
sub-int v2, p3, v0
.line 3
invoke-virtual {p0, p1, v1, v2}, Ljava/io/InputStream;->read([BII)I
move-result v1
const/4 v2, -0x1
if-ne v1, v2, :cond_0
goto :goto_1
:cond_0
add-int/2addr v0, v1
goto :goto_0
:cond_1
:goto_1
return v0
.line 4
:cond_2
new-instance p0, Ljava/lang/IndexOutOfBoundsException;
const-string p1, "len is negative"
invoke-direct {p0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw p0
.end method
@@ -0,0 +1,44 @@
.class public final Lcom/google/api/client/util/Charsets;
.super Ljava/lang/Object;
.source "Charsets.java"
# static fields
.field public static final ISO_8859_1:Ljava/nio/charset/Charset;
.field public static final UTF_8:Ljava/nio/charset/Charset;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "UTF-8"
.line 1
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/google/api/client/util/Charsets;->UTF_8:Ljava/nio/charset/Charset;
const-string v0, "ISO-8859-1"
.line 2
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lcom/google/api/client/util/Charsets;->ISO_8859_1:Ljava/nio/charset/Charset;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
@@ -0,0 +1,93 @@
.class Lcom/google/api/client/util/ClassInfo$1;
.super Ljava/lang/Object;
.source "ClassInfo.java"
# interfaces
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/api/client/util/ClassInfo;-><init>(Ljava/lang/Class;Z)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Comparator<",
"Ljava/lang/String;",
">;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/api/client/util/ClassInfo;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/ClassInfo;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/api/client/util/ClassInfo$1;->this$0:Lcom/google/api/client/util/ClassInfo;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic compare(Ljava/lang/Object;Ljava/lang/Object;)I
.locals 0
.line 1
check-cast p1, Ljava/lang/String;
check-cast p2, Ljava/lang/String;
invoke-virtual {p0, p1, p2}, Lcom/google/api/client/util/ClassInfo$1;->compare(Ljava/lang/String;Ljava/lang/String;)I
move-result p1
return p1
.end method
.method public compare(Ljava/lang/String;Ljava/lang/String;)I
.locals 0
if-ne p1, p2, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
if-nez p1, :cond_1
const/4 p1, -0x1
goto :goto_0
:cond_1
if-nez p2, :cond_2
const/4 p1, 0x1
goto :goto_0
.line 2
:cond_2
invoke-virtual {p1, p2}, Ljava/lang/String;->compareTo(Ljava/lang/String;)I
move-result p1
:goto_0
return p1
.end method
@@ -0,0 +1,603 @@
.class public final Lcom/google/api/client/util/ClassInfo;
.super Ljava/lang/Object;
.source "ClassInfo.java"
# static fields
.field private static final CACHE:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/Class<",
"*>;",
"Lcom/google/api/client/util/ClassInfo;",
">;"
}
.end annotation
.end field
.field private static final CACHE_IGNORE_CASE:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/Class<",
"*>;",
"Lcom/google/api/client/util/ClassInfo;",
">;"
}
.end annotation
.end field
# instance fields
.field private final clazz:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.end field
.field private final ignoreCase:Z
.field private final nameToFieldInfoMap:Ljava/util/IdentityHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/IdentityHashMap<",
"Ljava/lang/String;",
"Lcom/google/api/client/util/FieldInfo;",
">;"
}
.end annotation
.end field
.field public final names:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Ljava/util/WeakHashMap;
invoke-direct {v0}, Ljava/util/WeakHashMap;-><init>()V
sput-object v0, Lcom/google/api/client/util/ClassInfo;->CACHE:Ljava/util/Map;
.line 2
new-instance v0, Ljava/util/WeakHashMap;
invoke-direct {v0}, Ljava/util/WeakHashMap;-><init>()V
sput-object v0, Lcom/google/api/client/util/ClassInfo;->CACHE_IGNORE_CASE:Ljava/util/Map;
return-void
.end method
.method private constructor <init>(Ljava/lang/Class;Z)V
.locals 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;Z)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/IdentityHashMap;
invoke-direct {v0}, Ljava/util/IdentityHashMap;-><init>()V
iput-object v0, p0, Lcom/google/api/client/util/ClassInfo;->nameToFieldInfoMap:Ljava/util/IdentityHashMap;
.line 3
iput-object p1, p0, Lcom/google/api/client/util/ClassInfo;->clazz:Ljava/lang/Class;
.line 4
iput-boolean p2, p0, Lcom/google/api/client/util/ClassInfo;->ignoreCase:Z
const/4 v0, 0x0
const/4 v1, 0x1
if-eqz p2, :cond_1
.line 5
invoke-virtual {p1}, Ljava/lang/Class;->isEnum()Z
move-result v2
if-nez v2, :cond_0
goto :goto_0
:cond_0
move v2, v0
goto :goto_1
:cond_1
:goto_0
move v2, v1
:goto_1
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "cannot ignore case on an enum: "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-static {v2, v3}, Lcom/google/api/client/util/Preconditions;->checkArgument(ZLjava/lang/Object;)V
.line 6
new-instance v2, Ljava/util/TreeSet;
new-instance v3, Lcom/google/api/client/util/ClassInfo$1;
invoke-direct {v3, p0}, Lcom/google/api/client/util/ClassInfo$1;-><init>(Lcom/google/api/client/util/ClassInfo;)V
invoke-direct {v2, v3}, Ljava/util/TreeSet;-><init>(Ljava/util/Comparator;)V
.line 7
invoke-virtual {p1}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v3
array-length v4, v3
move v5, v0
:goto_2
if-ge v5, v4, :cond_7
aget-object v6, v3, v5
.line 8
invoke-static {v6}, Lcom/google/api/client/util/FieldInfo;->of(Ljava/lang/reflect/Field;)Lcom/google/api/client/util/FieldInfo;
move-result-object v7
if-nez v7, :cond_2
goto :goto_6
.line 9
:cond_2
invoke-virtual {v7}, Lcom/google/api/client/util/FieldInfo;->getName()Ljava/lang/String;
move-result-object v8
if-eqz p2, :cond_3
.line 10
invoke-virtual {v8}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v8
invoke-virtual {v8}, Ljava/lang/String;->intern()Ljava/lang/String;
move-result-object v8
.line 11
:cond_3
iget-object v9, p0, Lcom/google/api/client/util/ClassInfo;->nameToFieldInfoMap:Ljava/util/IdentityHashMap;
invoke-virtual {v9, v8}, Ljava/util/IdentityHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v9
check-cast v9, Lcom/google/api/client/util/FieldInfo;
if-nez v9, :cond_4
move v10, v1
goto :goto_3
:cond_4
move v10, v0
:goto_3
const/4 v11, 0x4
new-array v11, v11, [Ljava/lang/Object;
if-eqz p2, :cond_5
const-string v12, "case-insensitive "
goto :goto_4
:cond_5
const-string v12, ""
:goto_4
aput-object v12, v11, v0
aput-object v8, v11, v1
const/4 v12, 0x2
aput-object v6, v11, v12
const/4 v6, 0x3
if-nez v9, :cond_6
const/4 v9, 0x0
goto :goto_5
.line 12
:cond_6
invoke-virtual {v9}, Lcom/google/api/client/util/FieldInfo;->getField()Ljava/lang/reflect/Field;
move-result-object v9
:goto_5
aput-object v9, v11, v6
const-string v6, "two fields have the same %sname <%s>: %s and %s"
invoke-static {v10, v6, v11}, Lcom/google/api/client/util/Preconditions;->checkArgument(ZLjava/lang/String;[Ljava/lang/Object;)V
.line 13
iget-object v6, p0, Lcom/google/api/client/util/ClassInfo;->nameToFieldInfoMap:Ljava/util/IdentityHashMap;
invoke-virtual {v6, v8, v7}, Ljava/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 14
invoke-virtual {v2, v8}, Ljava/util/TreeSet;->add(Ljava/lang/Object;)Z
:goto_6
add-int/lit8 v5, v5, 0x1
goto :goto_2
.line 15
:cond_7
invoke-virtual {p1}, Ljava/lang/Class;->getSuperclass()Ljava/lang/Class;
move-result-object p1
if-eqz p1, :cond_9
.line 16
invoke-static {p1, p2}, Lcom/google/api/client/util/ClassInfo;->of(Ljava/lang/Class;Z)Lcom/google/api/client/util/ClassInfo;
move-result-object p1
.line 17
iget-object p2, p1, Lcom/google/api/client/util/ClassInfo;->names:Ljava/util/List;
invoke-virtual {v2, p2}, Ljava/util/TreeSet;->addAll(Ljava/util/Collection;)Z
.line 18
iget-object p1, p1, Lcom/google/api/client/util/ClassInfo;->nameToFieldInfoMap:Ljava/util/IdentityHashMap;
invoke-virtual {p1}, Ljava/util/IdentityHashMap;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_8
:goto_7
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_9
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Ljava/util/Map$Entry;
.line 19
invoke-interface {p2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 20
iget-object v1, p0, Lcom/google/api/client/util/ClassInfo;->nameToFieldInfoMap:Ljava/util/IdentityHashMap;
invoke-virtual {v1, v0}, Ljava/util/IdentityHashMap;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_8
.line 21
iget-object v1, p0, Lcom/google/api/client/util/ClassInfo;->nameToFieldInfoMap:Ljava/util/IdentityHashMap;
invoke-interface {p2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object p2
invoke-virtual {v1, v0, p2}, Ljava/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_7
.line 22
:cond_9
invoke-virtual {v2}, Ljava/util/TreeSet;->isEmpty()Z
move-result p1
if-eqz p1, :cond_a
invoke-static {}, Ljava/util/Collections;->emptyList()Ljava/util/List;
move-result-object p1
goto :goto_8
:cond_a
new-instance p1, Ljava/util/ArrayList;
invoke-direct {p1, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
invoke-static {p1}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
move-result-object p1
:goto_8
iput-object p1, p0, Lcom/google/api/client/util/ClassInfo;->names:Ljava/util/List;
return-void
.end method
.method public static of(Ljava/lang/Class;)Lcom/google/api/client/util/ClassInfo;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)",
"Lcom/google/api/client/util/ClassInfo;"
}
.end annotation
const/4 v0, 0x0
.line 1
invoke-static {p0, v0}, Lcom/google/api/client/util/ClassInfo;->of(Ljava/lang/Class;Z)Lcom/google/api/client/util/ClassInfo;
move-result-object p0
return-object p0
.end method
.method public static of(Ljava/lang/Class;Z)Lcom/google/api/client/util/ClassInfo;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;Z)",
"Lcom/google/api/client/util/ClassInfo;"
}
.end annotation
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
:cond_0
if-eqz p1, :cond_1
.line 2
sget-object v0, Lcom/google/api/client/util/ClassInfo;->CACHE_IGNORE_CASE:Ljava/util/Map;
goto :goto_0
:cond_1
sget-object v0, Lcom/google/api/client/util/ClassInfo;->CACHE:Ljava/util/Map;
.line 3
:goto_0
monitor-enter v0
.line 4
:try_start_0
invoke-interface {v0, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/google/api/client/util/ClassInfo;
if-nez v1, :cond_2
.line 5
new-instance v1, Lcom/google/api/client/util/ClassInfo;
invoke-direct {v1, p0, p1}, Lcom/google/api/client/util/ClassInfo;-><init>(Ljava/lang/Class;Z)V
.line 6
invoke-interface {v0, p0, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 7
:cond_2
monitor-exit v0
return-object v1
:catchall_0
move-exception p0
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p0
.end method
# virtual methods
.method public getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/api/client/util/ClassInfo;->getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
move-result-object p1
if-nez p1, :cond_0
const/4 p1, 0x0
goto :goto_0
.line 2
:cond_0
invoke-virtual {p1}, Lcom/google/api/client/util/FieldInfo;->getField()Ljava/lang/reflect/Field;
move-result-object p1
:goto_0
return-object p1
.end method
.method public getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
.locals 1
if-eqz p1, :cond_1
.line 1
iget-boolean v0, p0, Lcom/google/api/client/util/ClassInfo;->ignoreCase:Z
if-eqz v0, :cond_0
.line 2
invoke-virtual {p1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object p1
.line 3
:cond_0
invoke-virtual {p1}, Ljava/lang/String;->intern()Ljava/lang/String;
move-result-object p1
.line 4
:cond_1
iget-object v0, p0, Lcom/google/api/client/util/ClassInfo;->nameToFieldInfoMap:Ljava/util/IdentityHashMap;
invoke-virtual {v0, p1}, Ljava/util/IdentityHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/api/client/util/FieldInfo;
return-object p1
.end method
.method public getFieldInfos()Ljava/util/Collection;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Collection<",
"Lcom/google/api/client/util/FieldInfo;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ClassInfo;->nameToFieldInfoMap:Ljava/util/IdentityHashMap;
invoke-virtual {v0}, Ljava/util/IdentityHashMap;->values()Ljava/util/Collection;
move-result-object v0
invoke-static {v0}, Ljava/util/Collections;->unmodifiableCollection(Ljava/util/Collection;)Ljava/util/Collection;
move-result-object v0
return-object v0
.end method
.method public final getIgnoreCase()Z
.locals 1
.line 1
iget-boolean v0, p0, Lcom/google/api/client/util/ClassInfo;->ignoreCase:Z
return v0
.end method
.method public getNames()Ljava/util/Collection;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Collection<",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ClassInfo;->names:Ljava/util/List;
return-object v0
.end method
.method public getUnderlyingClass()Ljava/lang/Class;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ClassInfo;->clazz:Ljava/lang/Class;
return-object v0
.end method
.method public isEnum()Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ClassInfo;->clazz:Ljava/lang/Class;
invoke-virtual {v0}, Ljava/lang/Class;->isEnum()Z
move-result v0
return v0
.end method
@@ -0,0 +1,41 @@
.class final Lcom/google/api/client/util/Clock$1;
.super Ljava/lang/Object;
.source "Clock.java"
# interfaces
.implements Lcom/google/api/client/util/Clock;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/Clock;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public currentTimeMillis()J
.locals 2
.line 1
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
return-wide v0
.end method
@@ -0,0 +1,27 @@
.class public interface abstract Lcom/google/api/client/util/Clock;
.super Ljava/lang/Object;
.source "Clock.java"
# static fields
.field public static final SYSTEM:Lcom/google/api/client/util/Clock;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/api/client/util/Clock$1;
invoke-direct {v0}, Lcom/google/api/client/util/Clock$1;-><init>()V
sput-object v0, Lcom/google/api/client/util/Clock;->SYSTEM:Lcom/google/api/client/util/Clock;
return-void
.end method
# virtual methods
.method public abstract currentTimeMillis()J
.end method
@@ -0,0 +1,34 @@
.class public final Lcom/google/api/client/util/Collections2;
.super Ljava/lang/Object;
.source "Collections2.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static cast(Ljava/lang/Iterable;)Ljava/util/Collection;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Iterable<",
"TT;>;)",
"Ljava/util/Collection<",
"TT;>;"
}
.end annotation
.line 1
check-cast p0, Ljava/util/Collection;
return-object p0
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,221 @@
.class final Lcom/google/api/client/util/DataMap$Entry;
.super Ljava/lang/Object;
.source "DataMap.java"
# interfaces
.implements Ljava/util/Map$Entry;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/DataMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "Entry"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Map$Entry<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
# instance fields
.field private final fieldInfo:Lcom/google/api/client/util/FieldInfo;
.field private fieldValue:Ljava/lang/Object;
.field public final synthetic this$0:Lcom/google/api/client/util/DataMap;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/DataMap;Lcom/google/api/client/util/FieldInfo;Ljava/lang/Object;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/api/client/util/DataMap$Entry;->this$0:Lcom/google/api/client/util/DataMap;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p2, p0, Lcom/google/api/client/util/DataMap$Entry;->fieldInfo:Lcom/google/api/client/util/FieldInfo;
.line 3
invoke-static {p3}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
iput-object p1, p0, Lcom/google/api/client/util/DataMap$Entry;->fieldValue:Ljava/lang/Object;
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 4
const/4 v0, 0x1
if-ne p0, p1, :cond_0
return v0
.line 1
:cond_0
instance-of v1, p1, Ljava/util/Map$Entry;
const/4 v2, 0x0
if-nez v1, :cond_1
return v2
.line 2
:cond_1
check-cast p1, Ljava/util/Map$Entry;
.line 3
invoke-virtual {p0}, Lcom/google/api/client/util/DataMap$Entry;->getKey()Ljava/lang/String;
move-result-object v1
invoke-interface {p1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2
invoke-virtual {p0}, Lcom/google/api/client/util/DataMap$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
invoke-interface {p1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object p1
invoke-virtual {v1, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_2
goto :goto_0
:cond_2
move v0, v2
:goto_0
return v0
.end method
.method public bridge synthetic getKey()Ljava/lang/Object;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/DataMap$Entry;->getKey()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getKey()Ljava/lang/String;
.locals 2
.line 2
iget-object v0, p0, Lcom/google/api/client/util/DataMap$Entry;->fieldInfo:Lcom/google/api/client/util/FieldInfo;
invoke-virtual {v0}, Lcom/google/api/client/util/FieldInfo;->getName()Ljava/lang/String;
move-result-object v0
.line 3
iget-object v1, p0, Lcom/google/api/client/util/DataMap$Entry;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v1, v1, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v1}, Lcom/google/api/client/util/ClassInfo;->getIgnoreCase()Z
move-result v1
if-eqz v1, :cond_0
.line 4
invoke-virtual {v0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object v0
:cond_0
return-object v0
.end method
.method public getValue()Ljava/lang/Object;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/DataMap$Entry;->fieldValue:Ljava/lang/Object;
return-object v0
.end method
.method public hashCode()I
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/DataMap$Entry;->getKey()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->hashCode()I
move-result v0
invoke-virtual {p0}, Lcom/google/api/client/util/DataMap$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
xor-int/2addr v0, v1
return v0
.end method
.method public setValue(Ljava/lang/Object;)Ljava/lang/Object;
.locals 3
.line 1
iget-object v0, p0, Lcom/google/api/client/util/DataMap$Entry;->fieldValue:Ljava/lang/Object;
.line 2
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
iput-object v1, p0, Lcom/google/api/client/util/DataMap$Entry;->fieldValue:Ljava/lang/Object;
.line 3
iget-object v1, p0, Lcom/google/api/client/util/DataMap$Entry;->fieldInfo:Lcom/google/api/client/util/FieldInfo;
iget-object v2, p0, Lcom/google/api/client/util/DataMap$Entry;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v2, v2, Lcom/google/api/client/util/DataMap;->object:Ljava/lang/Object;
invoke-virtual {v1, v2, p1}, Lcom/google/api/client/util/FieldInfo;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
return-object v0
.end method
@@ -0,0 +1,268 @@
.class final Lcom/google/api/client/util/DataMap$EntryIterator;
.super Ljava/lang/Object;
.source "DataMap.java"
# interfaces
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/DataMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "EntryIterator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Iterator<",
"Ljava/util/Map$Entry<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
# instance fields
.field private currentFieldInfo:Lcom/google/api/client/util/FieldInfo;
.field private isComputed:Z
.field private isRemoved:Z
.field private nextFieldInfo:Lcom/google/api/client/util/FieldInfo;
.field private nextFieldValue:Ljava/lang/Object;
.field private nextKeyIndex:I
.field public final synthetic this$0:Lcom/google/api/client/util/DataMap;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/DataMap;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->this$0:Lcom/google/api/client/util/DataMap;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 p1, -0x1
.line 2
iput p1, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextKeyIndex:I
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 4
.line 1
iget-boolean v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->isComputed:Z
const/4 v1, 0x1
if-nez v0, :cond_0
.line 2
iput-boolean v1, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->isComputed:Z
const/4 v0, 0x0
.line 3
iput-object v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextFieldValue:Ljava/lang/Object;
.line 4
:goto_0
iget-object v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextFieldValue:Ljava/lang/Object;
if-nez v0, :cond_0
iget v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextKeyIndex:I
add-int/2addr v0, v1
iput v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextKeyIndex:I
iget-object v2, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v2, v2, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
iget-object v2, v2, Lcom/google/api/client/util/ClassInfo;->names:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v2
if-ge v0, v2, :cond_0
.line 5
iget-object v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v0, v0, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
iget-object v2, v0, Lcom/google/api/client/util/ClassInfo;->names:Ljava/util/List;
iget v3, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextKeyIndex:I
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-virtual {v0, v2}, Lcom/google/api/client/util/ClassInfo;->getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
move-result-object v0
iput-object v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextFieldInfo:Lcom/google/api/client/util/FieldInfo;
.line 6
iget-object v2, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v2, v2, Lcom/google/api/client/util/DataMap;->object:Ljava/lang/Object;
invoke-virtual {v0, v2}, Lcom/google/api/client/util/FieldInfo;->getValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
iput-object v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextFieldValue:Ljava/lang/Object;
goto :goto_0
.line 7
:cond_0
iget-object v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextFieldValue:Ljava/lang/Object;
if-eqz v0, :cond_1
goto :goto_1
:cond_1
const/4 v1, 0x0
:goto_1
return v1
.end method
.method public bridge synthetic next()Ljava/lang/Object;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/DataMap$EntryIterator;->next()Ljava/util/Map$Entry;
move-result-object v0
return-object v0
.end method
.method public next()Ljava/util/Map$Entry;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map$Entry<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 2
invoke-virtual {p0}, Lcom/google/api/client/util/DataMap$EntryIterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextFieldInfo:Lcom/google/api/client/util/FieldInfo;
iput-object v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->currentFieldInfo:Lcom/google/api/client/util/FieldInfo;
.line 4
iget-object v1, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextFieldValue:Ljava/lang/Object;
const/4 v2, 0x0
.line 5
iput-boolean v2, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->isComputed:Z
.line 6
iput-boolean v2, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->isRemoved:Z
const/4 v2, 0x0
.line 7
iput-object v2, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextFieldInfo:Lcom/google/api/client/util/FieldInfo;
.line 8
iput-object v2, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->nextFieldValue:Ljava/lang/Object;
.line 9
new-instance v2, Lcom/google/api/client/util/DataMap$Entry;
iget-object v3, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->this$0:Lcom/google/api/client/util/DataMap;
invoke-direct {v2, v3, v0, v1}, Lcom/google/api/client/util/DataMap$Entry;-><init>(Lcom/google/api/client/util/DataMap;Lcom/google/api/client/util/FieldInfo;Ljava/lang/Object;)V
return-object v2
.line 10
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public remove()V
.locals 3
.line 1
iget-object v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->currentFieldInfo:Lcom/google/api/client/util/FieldInfo;
const/4 v1, 0x1
if-eqz v0, :cond_0
iget-boolean v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->isRemoved:Z
if-nez v0, :cond_0
move v0, v1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/google/api/client/util/Preconditions;->checkState(Z)V
.line 2
iput-boolean v1, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->isRemoved:Z
.line 3
iget-object v0, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->currentFieldInfo:Lcom/google/api/client/util/FieldInfo;
iget-object v1, p0, Lcom/google/api/client/util/DataMap$EntryIterator;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v1, v1, Lcom/google/api/client/util/DataMap;->object:Ljava/lang/Object;
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Lcom/google/api/client/util/FieldInfo;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
return-void
.end method
@@ -0,0 +1,230 @@
.class final Lcom/google/api/client/util/DataMap$EntrySet;
.super Ljava/util/AbstractSet;
.source "DataMap.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/DataMap;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "EntrySet"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractSet<",
"Ljava/util/Map$Entry<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/api/client/util/DataMap;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/DataMap;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/api/client/util/DataMap$EntrySet;->this$0:Lcom/google/api/client/util/DataMap;
invoke-direct {p0}, Ljava/util/AbstractSet;-><init>()V
return-void
.end method
# virtual methods
.method public clear()V
.locals 4
.line 1
iget-object v0, p0, Lcom/google/api/client/util/DataMap$EntrySet;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v0, v0, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
iget-object v0, v0, Lcom/google/api/client/util/ClassInfo;->names:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 2
iget-object v2, p0, Lcom/google/api/client/util/DataMap$EntrySet;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v2, v2, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v2, v1}, Lcom/google/api/client/util/ClassInfo;->getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
move-result-object v1
iget-object v2, p0, Lcom/google/api/client/util/DataMap$EntrySet;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v2, v2, Lcom/google/api/client/util/DataMap;->object:Ljava/lang/Object;
const/4 v3, 0x0
invoke-virtual {v1, v2, v3}, Lcom/google/api/client/util/FieldInfo;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
goto :goto_0
:cond_0
return-void
.end method
.method public isEmpty()Z
.locals 3
.line 1
iget-object v0, p0, Lcom/google/api/client/util/DataMap$EntrySet;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v0, v0, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
iget-object v0, v0, Lcom/google/api/client/util/ClassInfo;->names:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 2
iget-object v2, p0, Lcom/google/api/client/util/DataMap$EntrySet;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v2, v2, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v2, v1}, Lcom/google/api/client/util/ClassInfo;->getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
move-result-object v1
iget-object v2, p0, Lcom/google/api/client/util/DataMap$EntrySet;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v2, v2, Lcom/google/api/client/util/DataMap;->object:Ljava/lang/Object;
invoke-virtual {v1, v2}, Lcom/google/api/client/util/FieldInfo;->getValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
if-eqz v1, :cond_0
const/4 v0, 0x0
return v0
:cond_1
const/4 v0, 0x1
return v0
.end method
.method public iterator()Lcom/google/api/client/util/DataMap$EntryIterator;
.locals 2
.line 2
new-instance v0, Lcom/google/api/client/util/DataMap$EntryIterator;
iget-object v1, p0, Lcom/google/api/client/util/DataMap$EntrySet;->this$0:Lcom/google/api/client/util/DataMap;
invoke-direct {v0, v1}, Lcom/google/api/client/util/DataMap$EntryIterator;-><init>(Lcom/google/api/client/util/DataMap;)V
return-object v0
.end method
.method public bridge synthetic iterator()Ljava/util/Iterator;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/DataMap$EntrySet;->iterator()Lcom/google/api/client/util/DataMap$EntryIterator;
move-result-object v0
return-object v0
.end method
.method public size()I
.locals 4
.line 1
iget-object v0, p0, Lcom/google/api/client/util/DataMap$EntrySet;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v0, v0, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
iget-object v0, v0, Lcom/google/api/client/util/ClassInfo;->names:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
const/4 v1, 0x0
:cond_0
:goto_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 2
iget-object v3, p0, Lcom/google/api/client/util/DataMap$EntrySet;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v3, v3, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v3, v2}, Lcom/google/api/client/util/ClassInfo;->getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
move-result-object v2
iget-object v3, p0, Lcom/google/api/client/util/DataMap$EntrySet;->this$0:Lcom/google/api/client/util/DataMap;
iget-object v3, v3, Lcom/google/api/client/util/DataMap;->object:Ljava/lang/Object;
invoke-virtual {v2, v3}, Lcom/google/api/client/util/FieldInfo;->getValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
if-eqz v2, :cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
return v1
.end method
@@ -0,0 +1,203 @@
.class final Lcom/google/api/client/util/DataMap;
.super Ljava/util/AbstractMap;
.source "DataMap.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/api/client/util/DataMap$Entry;,
Lcom/google/api/client/util/DataMap$EntryIterator;,
Lcom/google/api/client/util/DataMap$EntrySet;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractMap<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
# instance fields
.field public final classInfo:Lcom/google/api/client/util/ClassInfo;
.field public final object:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Ljava/lang/Object;Z)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/util/AbstractMap;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/api/client/util/DataMap;->object:Ljava/lang/Object;
.line 3
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p1
invoke-static {p1, p2}, Lcom/google/api/client/util/ClassInfo;->of(Ljava/lang/Class;Z)Lcom/google/api/client/util/ClassInfo;
move-result-object p1
iput-object p1, p0, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
.line 4
invoke-virtual {p1}, Lcom/google/api/client/util/ClassInfo;->isEnum()Z
move-result p1
xor-int/lit8 p1, p1, 0x1
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkArgument(Z)V
return-void
.end method
# virtual methods
.method public containsKey(Ljava/lang/Object;)Z
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/api/client/util/DataMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public entrySet()Lcom/google/api/client/util/DataMap$EntrySet;
.locals 1
.line 2
new-instance v0, Lcom/google/api/client/util/DataMap$EntrySet;
invoke-direct {v0, p0}, Lcom/google/api/client/util/DataMap$EntrySet;-><init>(Lcom/google/api/client/util/DataMap;)V
return-object v0
.end method
.method public bridge synthetic entrySet()Ljava/util/Set;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/DataMap;->entrySet()Lcom/google/api/client/util/DataMap$EntrySet;
move-result-object v0
return-object v0
.end method
.method public get(Ljava/lang/Object;)Ljava/lang/Object;
.locals 2
.line 1
instance-of v0, p1, Ljava/lang/String;
const/4 v1, 0x0
if-nez v0, :cond_0
return-object v1
.line 2
:cond_0
iget-object v0, p0, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
check-cast p1, Ljava/lang/String;
invoke-virtual {v0, p1}, Lcom/google/api/client/util/ClassInfo;->getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
move-result-object p1
if-nez p1, :cond_1
return-object v1
.line 3
:cond_1
iget-object v0, p0, Lcom/google/api/client/util/DataMap;->object:Ljava/lang/Object;
invoke-virtual {p1, v0}, Lcom/google/api/client/util/FieldInfo;->getValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/String;
invoke-virtual {p0, p1, p2}, Lcom/google/api/client/util/DataMap;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
.locals 3
.line 2
iget-object v0, p0, Lcom/google/api/client/util/DataMap;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v0, p1}, Lcom/google/api/client/util/ClassInfo;->getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
move-result-object v0
.line 3
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "no field of key "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v0, p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4
iget-object p1, p0, Lcom/google/api/client/util/DataMap;->object:Ljava/lang/Object;
invoke-virtual {v0, p1}, Lcom/google/api/client/util/FieldInfo;->getValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
.line 5
iget-object v1, p0, Lcom/google/api/client/util/DataMap;->object:Ljava/lang/Object;
invoke-static {p2}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p2
invoke-virtual {v0, v1, p2}, Lcom/google/api/client/util/FieldInfo;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
return-object p1
.end method
@@ -0,0 +1,967 @@
.class public final Lcom/google/api/client/util/DateTime;
.super Ljava/lang/Object;
.source "DateTime.java"
# interfaces
.implements Ljava/io/Serializable;
# static fields
.field private static final GMT:Ljava/util/TimeZone;
.field private static final RFC3339_PATTERN:Ljava/util/regex/Pattern;
.field private static final serialVersionUID:J = 0x1L
# instance fields
.field private final dateOnly:Z
.field private final tzShift:I
.field private final value:J
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "GMT"
.line 1
invoke-static {v0}, Ljava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
move-result-object v0
sput-object v0, Lcom/google/api/client/util/DateTime;->GMT:Ljava/util/TimeZone;
const-string v0, "^(\\d{4})-(\\d{2})-(\\d{2})([Tt](\\d{2}):(\\d{2}):(\\d{2})(\\.\\d+)?)?([Zz]|([+-])(\\d{2}):(\\d{2}))?"
.line 2
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/api/client/util/DateTime;->RFC3339_PATTERN:Ljava/util/regex/Pattern;
return-void
.end method
.method public constructor <init>(J)V
.locals 2
const/4 v0, 0x0
const/4 v1, 0x0
.line 2
invoke-direct {p0, v0, p1, p2, v1}, Lcom/google/api/client/util/DateTime;-><init>(ZJLjava/lang/Integer;)V
return-void
.end method
.method public constructor <init>(JI)V
.locals 1
.line 4
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p3
const/4 v0, 0x0
invoke-direct {p0, v0, p1, p2, p3}, Lcom/google/api/client/util/DateTime;-><init>(ZJLjava/lang/Integer;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.locals 2
.line 9
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 10
invoke-static {p1}, Lcom/google/api/client/util/DateTime;->parseRfc3339(Ljava/lang/String;)Lcom/google/api/client/util/DateTime;
move-result-object p1
.line 11
iget-boolean v0, p1, Lcom/google/api/client/util/DateTime;->dateOnly:Z
iput-boolean v0, p0, Lcom/google/api/client/util/DateTime;->dateOnly:Z
.line 12
iget-wide v0, p1, Lcom/google/api/client/util/DateTime;->value:J
iput-wide v0, p0, Lcom/google/api/client/util/DateTime;->value:J
.line 13
iget p1, p1, Lcom/google/api/client/util/DateTime;->tzShift:I
iput p1, p0, Lcom/google/api/client/util/DateTime;->tzShift:I
return-void
.end method
.method public constructor <init>(Ljava/util/Date;)V
.locals 2
.line 3
invoke-virtual {p1}, Ljava/util/Date;->getTime()J
move-result-wide v0
invoke-direct {p0, v0, v1}, Lcom/google/api/client/util/DateTime;-><init>(J)V
return-void
.end method
.method public constructor <init>(Ljava/util/Date;Ljava/util/TimeZone;)V
.locals 4
.line 1
invoke-virtual {p1}, Ljava/util/Date;->getTime()J
move-result-wide v0
if-nez p2, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
invoke-virtual {p1}, Ljava/util/Date;->getTime()J
move-result-wide v2
invoke-virtual {p2, v2, v3}, Ljava/util/TimeZone;->getOffset(J)I
move-result p1
const p2, 0xea60
div-int/2addr p1, p2
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
:goto_0
const/4 p2, 0x0
invoke-direct {p0, p2, v0, v1, p1}, Lcom/google/api/client/util/DateTime;-><init>(ZJLjava/lang/Integer;)V
return-void
.end method
.method public constructor <init>(ZJLjava/lang/Integer;)V
.locals 0
.line 5
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 6
iput-boolean p1, p0, Lcom/google/api/client/util/DateTime;->dateOnly:Z
.line 7
iput-wide p2, p0, Lcom/google/api/client/util/DateTime;->value:J
if-eqz p1, :cond_0
const/4 p1, 0x0
goto :goto_0
:cond_0
if-nez p4, :cond_1
.line 8
invoke-static {}, Ljava/util/TimeZone;->getDefault()Ljava/util/TimeZone;
move-result-object p1
invoke-virtual {p1, p2, p3}, Ljava/util/TimeZone;->getOffset(J)I
move-result p1
const p2, 0xea60
div-int/2addr p1, p2
goto :goto_0
:cond_1
invoke-virtual {p4}, Ljava/lang/Integer;->intValue()I
move-result p1
:goto_0
iput p1, p0, Lcom/google/api/client/util/DateTime;->tzShift:I
return-void
.end method
.method private static appendInt(Ljava/lang/StringBuilder;II)V
.locals 2
if-gez p1, :cond_0
const/16 v0, 0x2d
.line 1
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
neg-int p1, p1
:cond_0
move v0, p1
:goto_0
if-lez v0, :cond_1
.line 2
div-int/lit8 v0, v0, 0xa
add-int/lit8 p2, p2, -0x1
goto :goto_0
:cond_1
const/4 v0, 0x0
:goto_1
if-ge v0, p2, :cond_2
const/16 v1, 0x30
.line 3
invoke-virtual {p0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_2
if-eqz p1, :cond_3
.line 4
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
:cond_3
return-void
.end method
.method public static parseRfc3339(Ljava/lang/String;)Lcom/google/api/client/util/DateTime;
.locals 16
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/NumberFormatException;
}
.end annotation
move-object/from16 v0, p0
.line 1
sget-object v1, Lcom/google/api/client/util/DateTime;->RFC3339_PATTERN:Ljava/util/regex/Pattern;
invoke-virtual {v1, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v1
.line 2
invoke-virtual {v1}, Ljava/util/regex/Matcher;->matches()Z
move-result v2
if-eqz v2, :cond_9
const/4 v2, 0x1
.line 3
invoke-virtual {v1, v2}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v5
const/4 v3, 0x2
.line 4
invoke-virtual {v1, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v3
add-int/lit8 v6, v3, -0x1
const/4 v3, 0x3
.line 5
invoke-virtual {v1, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v7
const/4 v4, 0x4
.line 6
invoke-virtual {v1, v4}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v4
if-eqz v4, :cond_0
move v11, v2
goto :goto_0
:cond_0
const/4 v4, 0x0
move v11, v4
:goto_0
const/16 v4, 0x9
.line 7
invoke-virtual {v1, v4}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v12
if-eqz v12, :cond_1
move v13, v2
goto :goto_1
:cond_1
const/4 v4, 0x0
move v13, v4
:goto_1
if-eqz v13, :cond_3
if-eqz v11, :cond_2
goto :goto_2
.line 8
:cond_2
new-instance v1, Ljava/lang/NumberFormatException;
const-string v2, "Invalid date/time format, cannot specify time zone shift without specifying time: "
invoke-static {v2, v0}, Lc/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw v1
:cond_3
:goto_2
if-eqz v11, :cond_5
const/4 v0, 0x5
.line 9
invoke-virtual {v1, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
const/4 v4, 0x6
.line 10
invoke-virtual {v1, v4}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v4
const/4 v8, 0x7
.line 11
invoke-virtual {v1, v8}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v8
const/16 v9, 0x8
.line 12
invoke-virtual {v1, v9}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v10
if-eqz v10, :cond_4
.line 13
invoke-virtual {v1, v9}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v10
invoke-virtual {v10, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v10
invoke-static {v10}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v10
.line 14
invoke-virtual {v1, v9}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v9
invoke-virtual {v9, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v2
sub-int/2addr v2, v3
int-to-float v3, v10
float-to-double v9, v3
const-wide/high16 v14, 0x4024000000000000L # 10.0
move/from16 p0, v4
int-to-double v3, v2
.line 15
invoke-static {v14, v15, v3, v4}, Ljava/lang/Math;->pow(DD)D
move-result-wide v2
div-double/2addr v9, v2
double-to-int v2, v9
goto :goto_3
:cond_4
move/from16 p0, v4
const/4 v2, 0x0
:goto_3
move/from16 v9, p0
move v10, v8
move v8, v0
goto :goto_4
:cond_5
const/4 v2, 0x0
const/4 v0, 0x0
const/4 v3, 0x0
const/4 v4, 0x0
move v8, v0
move v9, v3
move v10, v4
.line 16
:goto_4
new-instance v0, Ljava/util/GregorianCalendar;
sget-object v3, Lcom/google/api/client/util/DateTime;->GMT:Ljava/util/TimeZone;
invoke-direct {v0, v3}, Ljava/util/GregorianCalendar;-><init>(Ljava/util/TimeZone;)V
move-object v4, v0
.line 17
invoke-virtual/range {v4 .. v10}, Ljava/util/Calendar;->set(IIIIII)V
const/16 v3, 0xe
.line 18
invoke-virtual {v0, v3, v2}, Ljava/util/Calendar;->set(II)V
.line 19
invoke-virtual {v0}, Ljava/util/Calendar;->getTimeInMillis()J
move-result-wide v2
if-eqz v11, :cond_8
if-eqz v13, :cond_8
const/4 v0, 0x0
.line 20
invoke-virtual {v12, v0}, Ljava/lang/String;->charAt(I)C
move-result v0
invoke-static {v0}, Ljava/lang/Character;->toUpperCase(C)C
move-result v0
const/16 v4, 0x5a
if-ne v0, v4, :cond_6
const/4 v0, 0x0
goto :goto_6
:cond_6
const/16 v0, 0xb
.line 21
invoke-virtual {v1, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
mul-int/lit8 v0, v0, 0x3c
const/16 v4, 0xc
invoke-virtual {v1, v4}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v4
invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v4
add-int/2addr v4, v0
const/16 v0, 0xa
.line 22
invoke-virtual {v1, v0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/lang/String;->charAt(I)C
move-result v0
const/16 v1, 0x2d
if-ne v0, v1, :cond_7
neg-int v0, v4
goto :goto_5
:cond_7
move v0, v4
:goto_5
int-to-long v4, v0
const-wide/32 v6, 0xea60
mul-long/2addr v4, v6
sub-long/2addr v2, v4
.line 23
:goto_6
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v14
goto :goto_7
:cond_8
const/4 v14, 0x0
.line 24
:goto_7
new-instance v0, Lcom/google/api/client/util/DateTime;
xor-int/lit8 v1, v11, 0x1
invoke-direct {v0, v1, v2, v3, v14}, Lcom/google/api/client/util/DateTime;-><init>(ZJLjava/lang/Integer;)V
return-object v0
.line 25
:cond_9
new-instance v1, Ljava/lang/NumberFormatException;
const-string v2, "Invalid date/time format: "
invoke-static {v2, v0}, Lc/g;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/NumberFormatException;-><init>(Ljava/lang/String;)V
throw v1
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.locals 7
const/4 v0, 0x1
if-ne p1, p0, :cond_0
return v0
.line 1
:cond_0
instance-of v1, p1, Lcom/google/api/client/util/DateTime;
const/4 v2, 0x0
if-nez v1, :cond_1
return v2
.line 2
:cond_1
check-cast p1, Lcom/google/api/client/util/DateTime;
.line 3
iget-boolean v1, p0, Lcom/google/api/client/util/DateTime;->dateOnly:Z
iget-boolean v3, p1, Lcom/google/api/client/util/DateTime;->dateOnly:Z
if-ne v1, v3, :cond_2
iget-wide v3, p0, Lcom/google/api/client/util/DateTime;->value:J
iget-wide v5, p1, Lcom/google/api/client/util/DateTime;->value:J
cmp-long v1, v3, v5
if-nez v1, :cond_2
iget v1, p0, Lcom/google/api/client/util/DateTime;->tzShift:I
iget p1, p1, Lcom/google/api/client/util/DateTime;->tzShift:I
if-ne v1, p1, :cond_2
goto :goto_0
:cond_2
move v0, v2
:goto_0
return v0
.end method
.method public getTimeZoneShift()I
.locals 1
.line 1
iget v0, p0, Lcom/google/api/client/util/DateTime;->tzShift:I
return v0
.end method
.method public getValue()J
.locals 2
.line 1
iget-wide v0, p0, Lcom/google/api/client/util/DateTime;->value:J
return-wide v0
.end method
.method public hashCode()I
.locals 4
const/4 v0, 0x3
new-array v0, v0, [J
.line 1
iget-wide v1, p0, Lcom/google/api/client/util/DateTime;->value:J
const/4 v3, 0x0
aput-wide v1, v0, v3
iget-boolean v1, p0, Lcom/google/api/client/util/DateTime;->dateOnly:Z
if-eqz v1, :cond_0
const-wide/16 v1, 0x1
goto :goto_0
:cond_0
const-wide/16 v1, 0x0
:goto_0
const/4 v3, 0x1
aput-wide v1, v0, v3
const/4 v1, 0x2
iget v2, p0, Lcom/google/api/client/util/DateTime;->tzShift:I
int-to-long v2, v2
aput-wide v2, v0, v1
invoke-static {v0}, Ljava/util/Arrays;->hashCode([J)I
move-result v0
return v0
.end method
.method public isDateOnly()Z
.locals 1
.line 1
iget-boolean v0, p0, Lcom/google/api/client/util/DateTime;->dateOnly:Z
return v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/DateTime;->toStringRfc3339()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public toStringRfc3339()Ljava/lang/String;
.locals 8
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 2
new-instance v1, Ljava/util/GregorianCalendar;
sget-object v2, Lcom/google/api/client/util/DateTime;->GMT:Ljava/util/TimeZone;
invoke-direct {v1, v2}, Ljava/util/GregorianCalendar;-><init>(Ljava/util/TimeZone;)V
.line 3
iget-wide v2, p0, Lcom/google/api/client/util/DateTime;->value:J
iget v4, p0, Lcom/google/api/client/util/DateTime;->tzShift:I
int-to-long v4, v4
const-wide/32 v6, 0xea60
mul-long/2addr v4, v6
add-long/2addr v4, v2
.line 4
invoke-virtual {v1, v4, v5}, Ljava/util/Calendar;->setTimeInMillis(J)V
const/4 v2, 0x1
.line 5
invoke-virtual {v1, v2}, Ljava/util/Calendar;->get(I)I
move-result v3
const/4 v4, 0x4
invoke-static {v0, v3, v4}, Lcom/google/api/client/util/DateTime;->appendInt(Ljava/lang/StringBuilder;II)V
const/16 v3, 0x2d
.line 6
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v4, 0x2
.line 7
invoke-virtual {v1, v4}, Ljava/util/Calendar;->get(I)I
move-result v5
add-int/2addr v5, v2
invoke-static {v0, v5, v4}, Lcom/google/api/client/util/DateTime;->appendInt(Ljava/lang/StringBuilder;II)V
.line 8
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v2, 0x5
.line 9
invoke-virtual {v1, v2}, Ljava/util/Calendar;->get(I)I
move-result v2
invoke-static {v0, v2, v4}, Lcom/google/api/client/util/DateTime;->appendInt(Ljava/lang/StringBuilder;II)V
.line 10
iget-boolean v2, p0, Lcom/google/api/client/util/DateTime;->dateOnly:Z
if-nez v2, :cond_3
const/16 v2, 0x54
.line 11
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/16 v2, 0xb
.line 12
invoke-virtual {v1, v2}, Ljava/util/Calendar;->get(I)I
move-result v2
invoke-static {v0, v2, v4}, Lcom/google/api/client/util/DateTime;->appendInt(Ljava/lang/StringBuilder;II)V
const/16 v2, 0x3a
.line 13
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/16 v5, 0xc
.line 14
invoke-virtual {v1, v5}, Ljava/util/Calendar;->get(I)I
move-result v5
invoke-static {v0, v5, v4}, Lcom/google/api/client/util/DateTime;->appendInt(Ljava/lang/StringBuilder;II)V
.line 15
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/16 v5, 0xd
.line 16
invoke-virtual {v1, v5}, Ljava/util/Calendar;->get(I)I
move-result v5
invoke-static {v0, v5, v4}, Lcom/google/api/client/util/DateTime;->appendInt(Ljava/lang/StringBuilder;II)V
const/16 v5, 0xe
.line 17
invoke-virtual {v1, v5}, Ljava/util/Calendar;->isSet(I)Z
move-result v6
if-eqz v6, :cond_0
const/16 v6, 0x2e
.line 18
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 19
invoke-virtual {v1, v5}, Ljava/util/Calendar;->get(I)I
move-result v1
const/4 v5, 0x3
invoke-static {v0, v1, v5}, Lcom/google/api/client/util/DateTime;->appendInt(Ljava/lang/StringBuilder;II)V
.line 20
:cond_0
iget v1, p0, Lcom/google/api/client/util/DateTime;->tzShift:I
if-nez v1, :cond_1
const/16 v1, 0x5a
.line 21
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_1
:cond_1
if-lez v1, :cond_2
const/16 v3, 0x2b
.line 22
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
goto :goto_0
.line 23
:cond_2
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
neg-int v1, v1
.line 24
:goto_0
div-int/lit8 v3, v1, 0x3c
.line 25
rem-int/lit8 v1, v1, 0x3c
.line 26
invoke-static {v0, v3, v4}, Lcom/google/api/client/util/DateTime;->appendInt(Ljava/lang/StringBuilder;II)V
.line 27
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 28
invoke-static {v0, v1, v4}, Lcom/google/api/client/util/DateTime;->appendInt(Ljava/lang/StringBuilder;II)V
.line 29
:cond_3
:goto_1
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,196 @@
.class public Lcom/google/api/client/util/ExponentialBackOff$Builder;
.super Ljava/lang/Object;
.source "ExponentialBackOff.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/ExponentialBackOff;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Builder"
.end annotation
# instance fields
.field public initialIntervalMillis:I
.field public maxElapsedTimeMillis:I
.field public maxIntervalMillis:I
.field public multiplier:D
.field public nanoClock:Lcom/google/api/client/util/NanoClock;
.field public randomizationFactor:D
# direct methods
.method public constructor <init>()V
.locals 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/16 v0, 0x1f4
.line 2
iput v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->initialIntervalMillis:I
const-wide/high16 v0, 0x3fe0000000000000L # 0.5
.line 3
iput-wide v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->randomizationFactor:D
const-wide/high16 v0, 0x3ff8000000000000L # 1.5
.line 4
iput-wide v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->multiplier:D
const v0, 0xea60
.line 5
iput v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->maxIntervalMillis:I
const v0, 0xdbba0
.line 6
iput v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->maxElapsedTimeMillis:I
.line 7
sget-object v0, Lcom/google/api/client/util/NanoClock;->SYSTEM:Lcom/google/api/client/util/NanoClock;
iput-object v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->nanoClock:Lcom/google/api/client/util/NanoClock;
return-void
.end method
# virtual methods
.method public build()Lcom/google/api/client/util/ExponentialBackOff;
.locals 1
.line 1
new-instance v0, Lcom/google/api/client/util/ExponentialBackOff;
invoke-direct {v0, p0}, Lcom/google/api/client/util/ExponentialBackOff;-><init>(Lcom/google/api/client/util/ExponentialBackOff$Builder;)V
return-object v0
.end method
.method public final getInitialIntervalMillis()I
.locals 1
.line 1
iget v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->initialIntervalMillis:I
return v0
.end method
.method public final getMaxElapsedTimeMillis()I
.locals 1
.line 1
iget v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->maxElapsedTimeMillis:I
return v0
.end method
.method public final getMaxIntervalMillis()I
.locals 1
.line 1
iget v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->maxIntervalMillis:I
return v0
.end method
.method public final getMultiplier()D
.locals 2
.line 1
iget-wide v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->multiplier:D
return-wide v0
.end method
.method public final getNanoClock()Lcom/google/api/client/util/NanoClock;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->nanoClock:Lcom/google/api/client/util/NanoClock;
return-object v0
.end method
.method public final getRandomizationFactor()D
.locals 2
.line 1
iget-wide v0, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->randomizationFactor:D
return-wide v0
.end method
.method public setInitialIntervalMillis(I)Lcom/google/api/client/util/ExponentialBackOff$Builder;
.locals 0
.line 1
iput p1, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->initialIntervalMillis:I
return-object p0
.end method
.method public setMaxElapsedTimeMillis(I)Lcom/google/api/client/util/ExponentialBackOff$Builder;
.locals 0
.line 1
iput p1, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->maxElapsedTimeMillis:I
return-object p0
.end method
.method public setMaxIntervalMillis(I)Lcom/google/api/client/util/ExponentialBackOff$Builder;
.locals 0
.line 1
iput p1, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->maxIntervalMillis:I
return-object p0
.end method
.method public setMultiplier(D)Lcom/google/api/client/util/ExponentialBackOff$Builder;
.locals 0
.line 1
iput-wide p1, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->multiplier:D
return-object p0
.end method
.method public setNanoClock(Lcom/google/api/client/util/NanoClock;)Lcom/google/api/client/util/ExponentialBackOff$Builder;
.locals 0
.line 1
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/api/client/util/NanoClock;
iput-object p1, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->nanoClock:Lcom/google/api/client/util/NanoClock;
return-object p0
.end method
.method public setRandomizationFactor(D)Lcom/google/api/client/util/ExponentialBackOff$Builder;
.locals 0
.line 1
iput-wide p1, p0, Lcom/google/api/client/util/ExponentialBackOff$Builder;->randomizationFactor:D
return-object p0
.end method
@@ -0,0 +1,389 @@
.class public Lcom/google/api/client/util/ExponentialBackOff;
.super Ljava/lang/Object;
.source "ExponentialBackOff.java"
# interfaces
.implements Lcom/google/api/client/util/BackOff;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/api/client/util/ExponentialBackOff$Builder;
}
.end annotation
# static fields
.field public static final DEFAULT_INITIAL_INTERVAL_MILLIS:I = 0x1f4
.field public static final DEFAULT_MAX_ELAPSED_TIME_MILLIS:I = 0xdbba0
.field public static final DEFAULT_MAX_INTERVAL_MILLIS:I = 0xea60
.field public static final DEFAULT_MULTIPLIER:D = 1.5
.field public static final DEFAULT_RANDOMIZATION_FACTOR:D = 0.5
# instance fields
.field private currentIntervalMillis:I
.field private final initialIntervalMillis:I
.field private final maxElapsedTimeMillis:I
.field private final maxIntervalMillis:I
.field private final multiplier:D
.field private final nanoClock:Lcom/google/api/client/util/NanoClock;
.field private final randomizationFactor:D
.field public startTimeNanos:J
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
new-instance v0, Lcom/google/api/client/util/ExponentialBackOff$Builder;
invoke-direct {v0}, Lcom/google/api/client/util/ExponentialBackOff$Builder;-><init>()V
invoke-direct {p0, v0}, Lcom/google/api/client/util/ExponentialBackOff;-><init>(Lcom/google/api/client/util/ExponentialBackOff$Builder;)V
return-void
.end method
.method public constructor <init>(Lcom/google/api/client/util/ExponentialBackOff$Builder;)V
.locals 11
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
iget v0, p1, Lcom/google/api/client/util/ExponentialBackOff$Builder;->initialIntervalMillis:I
iput v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->initialIntervalMillis:I
.line 4
iget-wide v1, p1, Lcom/google/api/client/util/ExponentialBackOff$Builder;->randomizationFactor:D
iput-wide v1, p0, Lcom/google/api/client/util/ExponentialBackOff;->randomizationFactor:D
.line 5
iget-wide v3, p1, Lcom/google/api/client/util/ExponentialBackOff$Builder;->multiplier:D
iput-wide v3, p0, Lcom/google/api/client/util/ExponentialBackOff;->multiplier:D
.line 6
iget v5, p1, Lcom/google/api/client/util/ExponentialBackOff$Builder;->maxIntervalMillis:I
iput v5, p0, Lcom/google/api/client/util/ExponentialBackOff;->maxIntervalMillis:I
.line 7
iget v6, p1, Lcom/google/api/client/util/ExponentialBackOff$Builder;->maxElapsedTimeMillis:I
iput v6, p0, Lcom/google/api/client/util/ExponentialBackOff;->maxElapsedTimeMillis:I
.line 8
iget-object p1, p1, Lcom/google/api/client/util/ExponentialBackOff$Builder;->nanoClock:Lcom/google/api/client/util/NanoClock;
iput-object p1, p0, Lcom/google/api/client/util/ExponentialBackOff;->nanoClock:Lcom/google/api/client/util/NanoClock;
const/4 p1, 0x1
const/4 v7, 0x0
if-lez v0, :cond_0
move v8, p1
goto :goto_0
:cond_0
move v8, v7
.line 9
:goto_0
invoke-static {v8}, Lcom/google/api/client/util/Preconditions;->checkArgument(Z)V
const-wide/16 v8, 0x0
cmpg-double v8, v8, v1
const-wide/high16 v9, 0x3ff0000000000000L # 1.0
if-gtz v8, :cond_1
cmpg-double v1, v1, v9
if-gez v1, :cond_1
move v1, p1
goto :goto_1
:cond_1
move v1, v7
.line 10
:goto_1
invoke-static {v1}, Lcom/google/api/client/util/Preconditions;->checkArgument(Z)V
cmpl-double v1, v3, v9
if-ltz v1, :cond_2
move v1, p1
goto :goto_2
:cond_2
move v1, v7
.line 11
:goto_2
invoke-static {v1}, Lcom/google/api/client/util/Preconditions;->checkArgument(Z)V
if-lt v5, v0, :cond_3
move v0, p1
goto :goto_3
:cond_3
move v0, v7
.line 12
:goto_3
invoke-static {v0}, Lcom/google/api/client/util/Preconditions;->checkArgument(Z)V
if-lez v6, :cond_4
goto :goto_4
:cond_4
move p1, v7
.line 13
:goto_4
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkArgument(Z)V
.line 14
invoke-virtual {p0}, Lcom/google/api/client/util/ExponentialBackOff;->reset()V
return-void
.end method
.method public static getRandomValueFromInterval(DDI)I
.locals 4
int-to-double v0, p4
mul-double/2addr p0, v0
sub-double v2, v0, p0
add-double/2addr v0, p0
sub-double/2addr v0, v2
const-wide/high16 p0, 0x3ff0000000000000L # 1.0
add-double/2addr v0, p0
mul-double/2addr v0, p2
add-double/2addr v0, v2
double-to-int p0, v0
return p0
.end method
.method private incrementCurrentInterval()V
.locals 8
.line 1
iget v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->currentIntervalMillis:I
int-to-double v1, v0
iget v3, p0, Lcom/google/api/client/util/ExponentialBackOff;->maxIntervalMillis:I
int-to-double v4, v3
iget-wide v6, p0, Lcom/google/api/client/util/ExponentialBackOff;->multiplier:D
div-double/2addr v4, v6
cmpl-double v1, v1, v4
if-ltz v1, :cond_0
.line 2
iput v3, p0, Lcom/google/api/client/util/ExponentialBackOff;->currentIntervalMillis:I
goto :goto_0
:cond_0
int-to-double v0, v0
mul-double/2addr v0, v6
double-to-int v0, v0
.line 3
iput v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->currentIntervalMillis:I
:goto_0
return-void
.end method
# virtual methods
.method public final getCurrentIntervalMillis()I
.locals 1
.line 1
iget v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->currentIntervalMillis:I
return v0
.end method
.method public final getElapsedTimeMillis()J
.locals 4
.line 1
iget-object v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->nanoClock:Lcom/google/api/client/util/NanoClock;
invoke-interface {v0}, Lcom/google/api/client/util/NanoClock;->nanoTime()J
move-result-wide v0
iget-wide v2, p0, Lcom/google/api/client/util/ExponentialBackOff;->startTimeNanos:J
sub-long/2addr v0, v2
const-wide/32 v2, 0xf4240
div-long/2addr v0, v2
return-wide v0
.end method
.method public final getInitialIntervalMillis()I
.locals 1
.line 1
iget v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->initialIntervalMillis:I
return v0
.end method
.method public final getMaxElapsedTimeMillis()I
.locals 1
.line 1
iget v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->maxElapsedTimeMillis:I
return v0
.end method
.method public final getMaxIntervalMillis()I
.locals 1
.line 1
iget v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->maxIntervalMillis:I
return v0
.end method
.method public final getMultiplier()D
.locals 2
.line 1
iget-wide v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->multiplier:D
return-wide v0
.end method
.method public final getRandomizationFactor()D
.locals 2
.line 1
iget-wide v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->randomizationFactor:D
return-wide v0
.end method
.method public nextBackOffMillis()J
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/ExponentialBackOff;->getElapsedTimeMillis()J
move-result-wide v0
iget v2, p0, Lcom/google/api/client/util/ExponentialBackOff;->maxElapsedTimeMillis:I
int-to-long v2, v2
cmp-long v0, v0, v2
if-lez v0, :cond_0
const-wide/16 v0, -0x1
return-wide v0
.line 2
:cond_0
iget-wide v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->randomizationFactor:D
invoke-static {}, Ljava/lang/Math;->random()D
move-result-wide v2
iget v4, p0, Lcom/google/api/client/util/ExponentialBackOff;->currentIntervalMillis:I
invoke-static {v0, v1, v2, v3, v4}, Lcom/google/api/client/util/ExponentialBackOff;->getRandomValueFromInterval(DDI)I
move-result v0
.line 3
invoke-direct {p0}, Lcom/google/api/client/util/ExponentialBackOff;->incrementCurrentInterval()V
int-to-long v0, v0
return-wide v0
.end method
.method public final reset()V
.locals 2
.line 1
iget v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->initialIntervalMillis:I
iput v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->currentIntervalMillis:I
.line 2
iget-object v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->nanoClock:Lcom/google/api/client/util/NanoClock;
invoke-interface {v0}, Lcom/google/api/client/util/NanoClock;->nanoTime()J
move-result-wide v0
iput-wide v0, p0, Lcom/google/api/client/util/ExponentialBackOff;->startTimeNanos:J
return-void
.end method
@@ -0,0 +1,590 @@
.class public Lcom/google/api/client/util/FieldInfo;
.super Ljava/lang/Object;
.source "FieldInfo.java"
# static fields
.field private static final CACHE:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/reflect/Field;",
"Lcom/google/api/client/util/FieldInfo;",
">;"
}
.end annotation
.end field
# instance fields
.field private final field:Ljava/lang/reflect/Field;
.field private final isPrimitive:Z
.field private final name:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Ljava/util/WeakHashMap;
invoke-direct {v0}, Ljava/util/WeakHashMap;-><init>()V
sput-object v0, Lcom/google/api/client/util/FieldInfo;->CACHE:Ljava/util/Map;
return-void
.end method
.method public constructor <init>(Ljava/lang/reflect/Field;Ljava/lang/String;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/api/client/util/FieldInfo;->field:Ljava/lang/reflect/Field;
if-nez p2, :cond_0
const/4 p1, 0x0
goto :goto_0
.line 3
:cond_0
invoke-virtual {p2}, Ljava/lang/String;->intern()Ljava/lang/String;
move-result-object p1
:goto_0
iput-object p1, p0, Lcom/google/api/client/util/FieldInfo;->name:Ljava/lang/String;
.line 4
invoke-virtual {p0}, Lcom/google/api/client/util/FieldInfo;->getType()Ljava/lang/Class;
move-result-object p1
invoke-static {p1}, Lcom/google/api/client/util/Data;->isPrimitive(Ljava/lang/reflect/Type;)Z
move-result p1
iput-boolean p1, p0, Lcom/google/api/client/util/FieldInfo;->isPrimitive:Z
return-void
.end method
.method public static getFieldValue(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
:try_start_0
invoke-virtual {p0, p1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
:try_end_0
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
move-exception p0
.line 2
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/Throwable;)V
throw p1
.end method
.method public static of(Ljava/lang/Enum;)Lcom/google/api/client/util/FieldInfo;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Enum<",
"*>;)",
"Lcom/google/api/client/util/FieldInfo;"
}
.end annotation
.line 1
:try_start_0
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {p0}, Ljava/lang/Enum;->name()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
invoke-static {v0}, Lcom/google/api/client/util/FieldInfo;->of(Ljava/lang/reflect/Field;)Lcom/google/api/client/util/FieldInfo;
move-result-object v0
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_0
move v3, v1
goto :goto_0
:cond_0
move v3, v2
:goto_0
const-string v4, "enum constant missing @Value or @NullValue annotation: %s"
new-array v1, v1, [Ljava/lang/Object;
aput-object p0, v1, v2
.line 2
invoke-static {v3, v4, v1}, Lcom/google/api/client/util/Preconditions;->checkArgument(ZLjava/lang/String;[Ljava/lang/Object;)V
:try_end_0
.catch Ljava/lang/NoSuchFieldException; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
:catch_0
move-exception p0
.line 3
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method public static of(Ljava/lang/reflect/Field;)Lcom/google/api/client/util/FieldInfo;
.locals 5
const/4 v0, 0x0
if-nez p0, :cond_0
return-object v0
.line 4
:cond_0
sget-object v1, Lcom/google/api/client/util/FieldInfo;->CACHE:Ljava/util/Map;
monitor-enter v1
.line 5
:try_start_0
invoke-interface {v1, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/api/client/util/FieldInfo;
.line 6
invoke-virtual {p0}, Ljava/lang/reflect/Field;->isEnumConstant()Z
move-result v3
if-nez v2, :cond_7
if-nez v3, :cond_1
.line 7
invoke-virtual {p0}, Ljava/lang/reflect/Field;->getModifiers()I
move-result v4
invoke-static {v4}, Ljava/lang/reflect/Modifier;->isStatic(I)Z
move-result v4
if-nez v4, :cond_7
:cond_1
if-eqz v3, :cond_4
.line 8
const-class v2, Lcom/google/api/client/util/Value;
invoke-virtual {p0, v2}, Ljava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v2
check-cast v2, Lcom/google/api/client/util/Value;
if-eqz v2, :cond_2
.line 9
invoke-interface {v2}, Lcom/google/api/client/util/Value;->value()Ljava/lang/String;
move-result-object v0
goto :goto_0
.line 10
:cond_2
const-class v2, Lcom/google/api/client/util/NullValue;
invoke-virtual {p0, v2}, Ljava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v2
check-cast v2, Lcom/google/api/client/util/NullValue;
if-eqz v2, :cond_3
goto :goto_0
.line 11
:cond_3
monitor-exit v1
return-object v0
.line 12
:cond_4
const-class v2, Lcom/google/api/client/util/Key;
invoke-virtual {p0, v2}, Ljava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
move-result-object v2
check-cast v2, Lcom/google/api/client/util/Key;
if-nez v2, :cond_5
.line 13
monitor-exit v1
return-object v0
.line 14
:cond_5
invoke-interface {v2}, Lcom/google/api/client/util/Key;->value()Ljava/lang/String;
move-result-object v0
const/4 v2, 0x1
.line 15
invoke-virtual {p0, v2}, Ljava/lang/reflect/Field;->setAccessible(Z)V
:goto_0
const-string v2, "##default"
.line 16
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_6
.line 17
invoke-virtual {p0}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v0
.line 18
:cond_6
new-instance v2, Lcom/google/api/client/util/FieldInfo;
invoke-direct {v2, p0, v0}, Lcom/google/api/client/util/FieldInfo;-><init>(Ljava/lang/reflect/Field;Ljava/lang/String;)V
.line 19
invoke-interface {v1, p0, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 20
:cond_7
monitor-exit v1
return-object v2
:catchall_0
move-exception p0
.line 21
monitor-exit v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p0
.end method
.method public static setFieldValue(Ljava/lang/reflect/Field;Ljava/lang/Object;Ljava/lang/Object;)V
.locals 4
.line 1
invoke-virtual {p0}, Ljava/lang/reflect/Field;->getModifiers()I
move-result v0
invoke-static {v0}, Ljava/lang/reflect/Modifier;->isFinal(I)Z
move-result v0
if-eqz v0, :cond_2
.line 2
invoke-static {p0, p1}, Lcom/google/api/client/util/FieldInfo;->getFieldValue(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
if-nez p2, :cond_0
if-nez v0, :cond_1
goto :goto_0
.line 3
:cond_0
invoke-virtual {p2, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1
goto :goto_0
.line 4
:cond_1
new-instance v1, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "expected final value <"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v0, "> but was <"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p2, "> on "
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object p0
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, " field in "
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p0
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.line 5
:cond_2
:try_start_0
invoke-virtual {p0, p1, p2}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_0
.catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_0
:goto_0
return-void
:catch_0
move-exception p0
.line 6
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/Throwable;)V
throw p1
:catch_1
move-exception p0
.line 7
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/Throwable;)V
throw p1
.end method
# virtual methods
.method public enumValue()Ljava/lang/Enum;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Enum<",
"TT;>;>()TT;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/FieldInfo;->field:Ljava/lang/reflect/Field;
invoke-virtual {v0}, Ljava/lang/reflect/Field;->getDeclaringClass()Ljava/lang/Class;
move-result-object v0
iget-object v1, p0, Lcom/google/api/client/util/FieldInfo;->field:Ljava/lang/reflect/Field;
invoke-virtual {v1}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object v0
return-object v0
.end method
.method public getClassInfo()Lcom/google/api/client/util/ClassInfo;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/FieldInfo;->field:Ljava/lang/reflect/Field;
invoke-virtual {v0}, Ljava/lang/reflect/Field;->getDeclaringClass()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lcom/google/api/client/util/ClassInfo;->of(Ljava/lang/Class;)Lcom/google/api/client/util/ClassInfo;
move-result-object v0
return-object v0
.end method
.method public getField()Ljava/lang/reflect/Field;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/FieldInfo;->field:Ljava/lang/reflect/Field;
return-object v0
.end method
.method public getGenericType()Ljava/lang/reflect/Type;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/FieldInfo;->field:Ljava/lang/reflect/Field;
invoke-virtual {v0}, Ljava/lang/reflect/Field;->getGenericType()Ljava/lang/reflect/Type;
move-result-object v0
return-object v0
.end method
.method public getName()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/FieldInfo;->name:Ljava/lang/String;
return-object v0
.end method
.method public getType()Ljava/lang/Class;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/lang/Class<",
"*>;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/FieldInfo;->field:Ljava/lang/reflect/Field;
invoke-virtual {v0}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v0
return-object v0
.end method
.method public getValue(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/FieldInfo;->field:Ljava/lang/reflect/Field;
invoke-static {v0, p1}, Lcom/google/api/client/util/FieldInfo;->getFieldValue(Ljava/lang/reflect/Field;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public isFinal()Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/FieldInfo;->field:Ljava/lang/reflect/Field;
invoke-virtual {v0}, Ljava/lang/reflect/Field;->getModifiers()I
move-result v0
invoke-static {v0}, Ljava/lang/reflect/Modifier;->isFinal(I)Z
move-result v0
return v0
.end method
.method public isPrimitive()Z
.locals 1
.line 1
iget-boolean v0, p0, Lcom/google/api/client/util/FieldInfo;->isPrimitive:Z
return v0
.end method
.method public setValue(Ljava/lang/Object;Ljava/lang/Object;)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/FieldInfo;->field:Ljava/lang/reflect/Field;
invoke-static {v0, p1, p2}, Lcom/google/api/client/util/FieldInfo;->setFieldValue(Ljava/lang/reflect/Field;Ljava/lang/Object;Ljava/lang/Object;)V
return-void
.end method
@@ -0,0 +1,217 @@
.class final Lcom/google/api/client/util/GenericData$EntryIterator;
.super Ljava/lang/Object;
.source "GenericData.java"
# interfaces
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/GenericData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "EntryIterator"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Iterator<",
"Ljava/util/Map$Entry<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
# instance fields
.field private final fieldIterator:Ljava/util/Iterator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Iterator<",
"Ljava/util/Map$Entry<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
.end field
.field private startedUnknown:Z
.field public final synthetic this$0:Lcom/google/api/client/util/GenericData;
.field private final unknownIterator:Ljava/util/Iterator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Iterator<",
"Ljava/util/Map$Entry<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/GenericData;Lcom/google/api/client/util/DataMap$EntrySet;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->this$0:Lcom/google/api/client/util/GenericData;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-virtual {p2}, Lcom/google/api/client/util/DataMap$EntrySet;->iterator()Lcom/google/api/client/util/DataMap$EntryIterator;
move-result-object p2
iput-object p2, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->fieldIterator:Ljava/util/Iterator;
.line 3
iget-object p1, p1, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
iput-object p1, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->unknownIterator:Ljava/util/Iterator;
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->fieldIterator:Ljava/util/Iterator;
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-nez v0, :cond_1
iget-object v0, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->unknownIterator:Ljava/util/Iterator;
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 v0, 0x1
:goto_1
return v0
.end method
.method public bridge synthetic next()Ljava/lang/Object;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/GenericData$EntryIterator;->next()Ljava/util/Map$Entry;
move-result-object v0
return-object v0
.end method
.method public next()Ljava/util/Map$Entry;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map$Entry<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 2
iget-boolean v0, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->startedUnknown:Z
if-nez v0, :cond_1
.line 3
iget-object v0, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->fieldIterator:Ljava/util/Iterator;
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
.line 4
iget-object v0, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->fieldIterator:Ljava/util/Iterator;
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
return-object v0
:cond_0
const/4 v0, 0x1
.line 5
iput-boolean v0, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->startedUnknown:Z
.line 6
:cond_1
iget-object v0, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->unknownIterator:Ljava/util/Iterator;
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
return-object v0
.end method
.method public remove()V
.locals 1
.line 1
iget-boolean v0, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->startedUnknown:Z
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->unknownIterator:Ljava/util/Iterator;
invoke-interface {v0}, Ljava/util/Iterator;->remove()V
.line 3
:cond_0
iget-object v0, p0, Lcom/google/api/client/util/GenericData$EntryIterator;->fieldIterator:Ljava/util/Iterator;
invoke-interface {v0}, Ljava/util/Iterator;->remove()V
return-void
.end method
@@ -0,0 +1,128 @@
.class final Lcom/google/api/client/util/GenericData$EntrySet;
.super Ljava/util/AbstractSet;
.source "GenericData.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/GenericData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "EntrySet"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractSet<",
"Ljava/util/Map$Entry<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
# instance fields
.field private final dataEntrySet:Lcom/google/api/client/util/DataMap$EntrySet;
.field public final synthetic this$0:Lcom/google/api/client/util/GenericData;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/GenericData;)V
.locals 2
.line 1
iput-object p1, p0, Lcom/google/api/client/util/GenericData$EntrySet;->this$0:Lcom/google/api/client/util/GenericData;
invoke-direct {p0}, Ljava/util/AbstractSet;-><init>()V
.line 2
new-instance v0, Lcom/google/api/client/util/DataMap;
iget-object v1, p1, Lcom/google/api/client/util/GenericData;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v1}, Lcom/google/api/client/util/ClassInfo;->getIgnoreCase()Z
move-result v1
invoke-direct {v0, p1, v1}, Lcom/google/api/client/util/DataMap;-><init>(Ljava/lang/Object;Z)V
invoke-virtual {v0}, Lcom/google/api/client/util/DataMap;->entrySet()Lcom/google/api/client/util/DataMap$EntrySet;
move-result-object p1
iput-object p1, p0, Lcom/google/api/client/util/GenericData$EntrySet;->dataEntrySet:Lcom/google/api/client/util/DataMap$EntrySet;
return-void
.end method
# virtual methods
.method public clear()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/GenericData$EntrySet;->this$0:Lcom/google/api/client/util/GenericData;
iget-object v0, v0, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->clear()V
.line 2
iget-object v0, p0, Lcom/google/api/client/util/GenericData$EntrySet;->dataEntrySet:Lcom/google/api/client/util/DataMap$EntrySet;
invoke-virtual {v0}, Lcom/google/api/client/util/DataMap$EntrySet;->clear()V
return-void
.end method
.method public iterator()Ljava/util/Iterator;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"Ljava/util/Map$Entry<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/api/client/util/GenericData$EntryIterator;
iget-object v1, p0, Lcom/google/api/client/util/GenericData$EntrySet;->this$0:Lcom/google/api/client/util/GenericData;
iget-object v2, p0, Lcom/google/api/client/util/GenericData$EntrySet;->dataEntrySet:Lcom/google/api/client/util/DataMap$EntrySet;
invoke-direct {v0, v1, v2}, Lcom/google/api/client/util/GenericData$EntryIterator;-><init>(Lcom/google/api/client/util/GenericData;Lcom/google/api/client/util/DataMap$EntrySet;)V
return-object v0
.end method
.method public size()I
.locals 2
.line 1
iget-object v0, p0, Lcom/google/api/client/util/GenericData$EntrySet;->this$0:Lcom/google/api/client/util/GenericData;
iget-object v0, v0, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
invoke-interface {v0}, Ljava/util/Map;->size()I
move-result v0
iget-object v1, p0, Lcom/google/api/client/util/GenericData$EntrySet;->dataEntrySet:Lcom/google/api/client/util/DataMap$EntrySet;
invoke-virtual {v1}, Lcom/google/api/client/util/DataMap$EntrySet;->size()I
move-result v1
add-int/2addr v0, v1
return v0
.end method
@@ -0,0 +1,100 @@
.class public final enum Lcom/google/api/client/util/GenericData$Flags;
.super Ljava/lang/Enum;
.source "GenericData.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/GenericData;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "Flags"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/api/client/util/GenericData$Flags;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/api/client/util/GenericData$Flags;
.field public static final enum IGNORE_CASE:Lcom/google/api/client/util/GenericData$Flags;
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/api/client/util/GenericData$Flags;
const-string v1, "IGNORE_CASE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/api/client/util/GenericData$Flags;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/api/client/util/GenericData$Flags;->IGNORE_CASE:Lcom/google/api/client/util/GenericData$Flags;
const/4 v1, 0x1
new-array v1, v1, [Lcom/google/api/client/util/GenericData$Flags;
aput-object v0, v1, v2
.line 2
sput-object v1, Lcom/google/api/client/util/GenericData$Flags;->$VALUES:[Lcom/google/api/client/util/GenericData$Flags;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;I)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
return-void
.end method
.method public static valueOf(Ljava/lang/String;)Lcom/google/api/client/util/GenericData$Flags;
.locals 1
.line 1
const-class v0, Lcom/google/api/client/util/GenericData$Flags;
invoke-static {v0, p0}, Ljava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
move-result-object p0
check-cast p0, Lcom/google/api/client/util/GenericData$Flags;
return-object p0
.end method
.method public static values()[Lcom/google/api/client/util/GenericData$Flags;
.locals 1
.line 1
sget-object v0, Lcom/google/api/client/util/GenericData$Flags;->$VALUES:[Lcom/google/api/client/util/GenericData$Flags;
invoke-virtual {v0}, [Lcom/google/api/client/util/GenericData$Flags;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/api/client/util/GenericData$Flags;
return-object v0
.end method
@@ -0,0 +1,495 @@
.class public Lcom/google/api/client/util/GenericData;
.super Ljava/util/AbstractMap;
.source "GenericData.java"
# interfaces
.implements Ljava/lang/Cloneable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/api/client/util/GenericData$EntryIterator;,
Lcom/google/api/client/util/GenericData$EntrySet;,
Lcom/google/api/client/util/GenericData$Flags;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/AbstractMap<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;",
"Ljava/lang/Cloneable;"
}
.end annotation
# instance fields
.field public final classInfo:Lcom/google/api/client/util/ClassInfo;
.field public unknownFields:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
const-class v0, Lcom/google/api/client/util/GenericData$Flags;
invoke-static {v0}, Ljava/util/EnumSet;->noneOf(Ljava/lang/Class;)Ljava/util/EnumSet;
move-result-object v0
invoke-direct {p0, v0}, Lcom/google/api/client/util/GenericData;-><init>(Ljava/util/EnumSet;)V
return-void
.end method
.method public constructor <init>(Ljava/util/EnumSet;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/EnumSet<",
"Lcom/google/api/client/util/GenericData$Flags;",
">;)V"
}
.end annotation
.line 2
invoke-direct {p0}, Ljava/util/AbstractMap;-><init>()V
.line 3
invoke-static {}, Lcom/google/api/client/util/ArrayMap;->create()Lcom/google/api/client/util/ArrayMap;
move-result-object v0
iput-object v0, p0, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
.line 4
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
sget-object v1, Lcom/google/api/client/util/GenericData$Flags;->IGNORE_CASE:Lcom/google/api/client/util/GenericData$Flags;
invoke-virtual {p1, v1}, Ljava/util/EnumSet;->contains(Ljava/lang/Object;)Z
move-result p1
invoke-static {v0, p1}, Lcom/google/api/client/util/ClassInfo;->of(Ljava/lang/Class;Z)Lcom/google/api/client/util/ClassInfo;
move-result-object p1
iput-object p1, p0, Lcom/google/api/client/util/GenericData;->classInfo:Lcom/google/api/client/util/ClassInfo;
return-void
.end method
# virtual methods
.method public clone()Lcom/google/api/client/util/GenericData;
.locals 2
.line 2
:try_start_0
invoke-super {p0}, Ljava/util/AbstractMap;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/api/client/util/GenericData;
.line 3
invoke-static {p0, v0}, Lcom/google/api/client/util/Data;->deepCopy(Ljava/lang/Object;Ljava/lang/Object;)V
.line 4
iget-object v1, p0, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
invoke-static {v1}, Lcom/google/api/client/util/Data;->clone(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map;
iput-object v1, v0, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
:try_end_0
.catch Ljava/lang/CloneNotSupportedException; {:try_start_0 .. :try_end_0} :catch_0
return-object v0
:catch_0
move-exception v0
.line 5
new-instance v1, Ljava/lang/IllegalStateException;
invoke-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/Throwable;)V
throw v1
.end method
.method public bridge synthetic clone()Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/CloneNotSupportedException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/GenericData;->clone()Lcom/google/api/client/util/GenericData;
move-result-object v0
return-object v0
.end method
.method public entrySet()Ljava/util/Set;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Ljava/util/Map$Entry<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;>;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/api/client/util/GenericData$EntrySet;
invoke-direct {v0, p0}, Lcom/google/api/client/util/GenericData$EntrySet;-><init>(Lcom/google/api/client/util/GenericData;)V
return-object v0
.end method
.method public final get(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
.line 1
instance-of v0, p1, Ljava/lang/String;
if-nez v0, :cond_0
const/4 p1, 0x0
return-object p1
.line 2
:cond_0
check-cast p1, Ljava/lang/String;
.line 3
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v0, p1}, Lcom/google/api/client/util/ClassInfo;->getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
move-result-object v0
if-eqz v0, :cond_1
.line 4
invoke-virtual {v0, p0}, Lcom/google/api/client/util/FieldInfo;->getValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 5
:cond_1
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v0}, Lcom/google/api/client/util/ClassInfo;->getIgnoreCase()Z
move-result v0
if-eqz v0, :cond_2
.line 6
invoke-virtual {p1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object p1
.line 7
:cond_2
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final getClassInfo()Lcom/google/api/client/util/ClassInfo;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->classInfo:Lcom/google/api/client/util/ClassInfo;
return-object v0
.end method
.method public final getUnknownKeys()Ljava/util/Map;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
return-object v0
.end method
.method public bridge synthetic put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/lang/String;
invoke-virtual {p0, p1, p2}, Lcom/google/api/client/util/GenericData;->put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
.line 2
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v0, p1}, Lcom/google/api/client/util/ClassInfo;->getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
move-result-object v0
if-eqz v0, :cond_0
.line 3
invoke-virtual {v0, p0}, Lcom/google/api/client/util/FieldInfo;->getValue(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
.line 4
invoke-virtual {v0, p0, p2}, Lcom/google/api/client/util/FieldInfo;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
return-object p1
.line 5
:cond_0
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v0}, Lcom/google/api/client/util/ClassInfo;->getIgnoreCase()Z
move-result v0
if-eqz v0, :cond_1
.line 6
invoke-virtual {p1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object p1
.line 7
:cond_1
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
invoke-interface {v0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final putAll(Ljava/util/Map;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"+",
"Ljava/lang/String;",
"*>;)V"
}
.end annotation
.line 1
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
.line 2
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
invoke-virtual {p0, v1, v0}, Lcom/google/api/client/util/GenericData;->set(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/api/client/util/GenericData;
goto :goto_0
:cond_0
return-void
.end method
.method public final remove(Ljava/lang/Object;)Ljava/lang/Object;
.locals 1
.line 1
instance-of v0, p1, Ljava/lang/String;
if-nez v0, :cond_0
const/4 p1, 0x0
return-object p1
.line 2
:cond_0
check-cast p1, Ljava/lang/String;
.line 3
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v0, p1}, Lcom/google/api/client/util/ClassInfo;->getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
move-result-object v0
if-nez v0, :cond_2
.line 4
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v0}, Lcom/google/api/client/util/ClassInfo;->getIgnoreCase()Z
move-result v0
if-eqz v0, :cond_1
.line 5
invoke-virtual {p1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object p1
.line 6
:cond_1
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.line 7
:cond_2
new-instance p1, Ljava/lang/UnsupportedOperationException;
invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw p1
.end method
.method public set(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/api/client/util/GenericData;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v0, p1}, Lcom/google/api/client/util/ClassInfo;->getFieldInfo(Ljava/lang/String;)Lcom/google/api/client/util/FieldInfo;
move-result-object v0
if-eqz v0, :cond_0
.line 2
invoke-virtual {v0, p0, p2}, Lcom/google/api/client/util/FieldInfo;->setValue(Ljava/lang/Object;Ljava/lang/Object;)V
goto :goto_0
.line 3
:cond_0
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->classInfo:Lcom/google/api/client/util/ClassInfo;
invoke-virtual {v0}, Lcom/google/api/client/util/ClassInfo;->getIgnoreCase()Z
move-result v0
if-eqz v0, :cond_1
.line 4
invoke-virtual {p1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
move-result-object p1
.line 5
:cond_1
iget-object v0, p0, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
invoke-interface {v0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:goto_0
return-object p0
.end method
.method public final setUnknownKeys(Ljava/util/Map;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
.line 1
iput-object p1, p0, Lcom/google/api/client/util/GenericData;->unknownFields:Ljava/util/Map;
return-void
.end method
@@ -0,0 +1,414 @@
.class public Lcom/google/api/client/util/IOUtils;
.super Ljava/lang/Object;
.source "IOUtils.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static computeLength(Lcom/google/api/client/util/StreamingContent;)J
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
new-instance v0, Lcom/google/api/client/util/ByteCountingOutputStream;
invoke-direct {v0}, Lcom/google/api/client/util/ByteCountingOutputStream;-><init>()V
.line 2
:try_start_0
invoke-interface {p0, v0}, Lcom/google/api/client/util/StreamingContent;->writeTo(Ljava/io/OutputStream;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
.line 4
iget-wide v0, v0, Lcom/google/api/client/util/ByteCountingOutputStream;->count:J
return-wide v0
:catchall_0
move-exception p0
.line 5
invoke-virtual {v0}, Ljava/io/OutputStream;->close()V
throw p0
.end method
.method public static copy(Ljava/io/InputStream;Ljava/io/OutputStream;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x1
.line 1
invoke-static {p0, p1, v0}, Lcom/google/api/client/util/IOUtils;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V
return-void
.end method
.method public static copy(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2
:try_start_0
invoke-static {p0, p1}, Lcom/google/api/client/util/ByteStreams;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)J
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz p2, :cond_0
.line 3
invoke-virtual {p0}, Ljava/io/InputStream;->close()V
:cond_0
return-void
:catchall_0
move-exception p1
if-eqz p2, :cond_1
invoke-virtual {p0}, Ljava/io/InputStream;->close()V
:cond_1
throw p1
.end method
.method public static deserialize(Ljava/io/InputStream;)Ljava/io/Serializable;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<S::",
"Ljava/io/Serializable;",
">(",
"Ljava/io/InputStream;",
")TS;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2
:try_start_0
new-instance v0, Ljava/io/ObjectInputStream;
invoke-direct {v0, p0}, Ljava/io/ObjectInputStream;-><init>(Ljava/io/InputStream;)V
invoke-virtual {v0}, Ljava/io/ObjectInputStream;->readObject()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/io/Serializable;
:try_end_0
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
invoke-virtual {p0}, Ljava/io/InputStream;->close()V
return-object v0
:catchall_0
move-exception v0
goto :goto_0
:catch_0
move-exception v0
.line 4
:try_start_1
new-instance v1, Ljava/io/IOException;
const-string v2, "Failed to deserialize object"
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
.line 5
invoke-virtual {v1, v0}, Ljava/io/IOException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
.line 6
throw v1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 7
:goto_0
invoke-virtual {p0}, Ljava/io/InputStream;->close()V
throw v0
.end method
.method public static deserialize([B)Ljava/io/Serializable;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<S::",
"Ljava/io/Serializable;",
">([B)TS;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 1
:cond_0
new-instance v0, Ljava/io/ByteArrayInputStream;
invoke-direct {v0, p0}, Ljava/io/ByteArrayInputStream;-><init>([B)V
invoke-static {v0}, Lcom/google/api/client/util/IOUtils;->deserialize(Ljava/io/InputStream;)Ljava/io/Serializable;
move-result-object p0
return-object p0
.end method
.method public static isSymbolicLink(Ljava/io/File;)Z
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x1
const/4 v1, 0x0
:try_start_0
const-string v2, "java.nio.file.Files"
.line 1
invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v2
const-string v3, "java.nio.file.Path"
.line 2
invoke-static {v3}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v3
.line 3
const-class v4, Ljava/io/File;
const-string v5, "toPath"
new-array v6, v1, [Ljava/lang/Class;
invoke-virtual {v4, v5, v6}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v4
new-array v5, v1, [Ljava/lang/Object;
invoke-virtual {v4, p0, v5}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
const-string v5, "isSymbolicLink"
new-array v6, v0, [Ljava/lang/Class;
aput-object v3, v6, v1
.line 4
invoke-virtual {v2, v5, v6}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v2
const/4 v3, 0x0
new-array v5, v0, [Ljava/lang/Object;
aput-object v4, v5, v1
invoke-virtual {v2, v3, v5}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Boolean;
invoke-virtual {v2}, Ljava/lang/Boolean;->booleanValue()Z
move-result p0
:try_end_0
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0
return p0
.line 5
:catch_0
sget-char v2, Ljava/io/File;->separatorChar:C
const/16 v3, 0x5c
if-ne v2, v3, :cond_0
return v1
.line 6
:cond_0
invoke-virtual {p0}, Ljava/io/File;->getParent()Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_1
.line 7
new-instance v1, Ljava/io/File;
invoke-virtual {p0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object v2
invoke-virtual {v2}, Ljava/io/File;->getCanonicalFile()Ljava/io/File;
move-result-object v2
invoke-virtual {p0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object p0
invoke-direct {v1, v2, p0}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
move-object p0, v1
.line 8
:cond_1
invoke-virtual {p0}, Ljava/io/File;->getCanonicalFile()Ljava/io/File;
move-result-object v1
invoke-virtual {p0}, Ljava/io/File;->getAbsoluteFile()Ljava/io/File;
move-result-object p0
invoke-virtual {v1, p0}, Ljava/io/File;->equals(Ljava/lang/Object;)Z
move-result p0
xor-int/2addr p0, v0
return p0
:catch_1
move-exception p0
.line 9
invoke-virtual {p0}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;
move-result-object p0
.line 10
const-class v0, Ljava/io/IOException;
invoke-static {p0, v0}, Lcom/google/api/client/util/Throwables;->propagateIfPossible(Ljava/lang/Throwable;Ljava/lang/Class;)V
.line 11
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method public static serialize(Ljava/lang/Object;Ljava/io/OutputStream;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 4
:try_start_0
new-instance v0, Ljava/io/ObjectOutputStream;
invoke-direct {v0, p1}, Ljava/io/ObjectOutputStream;-><init>(Ljava/io/OutputStream;)V
invoke-virtual {v0, p0}, Ljava/io/ObjectOutputStream;->writeObject(Ljava/lang/Object;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 5
invoke-virtual {p1}, Ljava/io/OutputStream;->close()V
return-void
:catchall_0
move-exception p0
invoke-virtual {p1}, Ljava/io/OutputStream;->close()V
throw p0
.end method
.method public static serialize(Ljava/lang/Object;)[B
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
new-instance v0, Ljava/io/ByteArrayOutputStream;
invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 2
invoke-static {p0, v0}, Lcom/google/api/client/util/IOUtils;->serialize(Ljava/lang/Object;Ljava/io/OutputStream;)V
.line 3
invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p0
return-object p0
.end method
@@ -0,0 +1,59 @@
.class public final Lcom/google/api/client/util/Joiner;
.super Ljava/lang/Object;
.source "Joiner.java"
# instance fields
.field private final wrapped:Lcom/google/api/client/repackaged/com/google/common/base/Joiner;
# direct methods
.method private constructor <init>(Lcom/google/api/client/repackaged/com/google/common/base/Joiner;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/api/client/util/Joiner;->wrapped:Lcom/google/api/client/repackaged/com/google/common/base/Joiner;
return-void
.end method
.method public static on(C)Lcom/google/api/client/util/Joiner;
.locals 1
.line 1
new-instance v0, Lcom/google/api/client/util/Joiner;
invoke-static {p0}, Lcom/google/api/client/repackaged/com/google/common/base/Joiner;->on(C)Lcom/google/api/client/repackaged/com/google/common/base/Joiner;
move-result-object p0
invoke-direct {v0, p0}, Lcom/google/api/client/util/Joiner;-><init>(Lcom/google/api/client/repackaged/com/google/common/base/Joiner;)V
return-object v0
.end method
# virtual methods
.method public final join(Ljava/lang/Iterable;)Ljava/lang/String;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Iterable<",
"*>;)",
"Ljava/lang/String;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/Joiner;->wrapped:Lcom/google/api/client/repackaged/com/google/common/base/Joiner;
invoke-virtual {v0, p1}, Lcom/google/api/client/repackaged/com/google/common/base/Joiner;->join(Ljava/lang/Iterable;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,29 @@
.class public interface abstract annotation Lcom/google/api/client/util/Key;
.super Ljava/lang/Object;
.source "Key.java"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/AnnotationDefault;
value = .subannotation Lcom/google/api/client/util/Key;
value = "##default"
.end subannotation
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->RUNTIME:Ljava/lang/annotation/RetentionPolicy;
.end annotation
.annotation runtime Ljava/lang/annotation/Target;
value = {
.enum Ljava/lang/annotation/ElementType;->FIELD:Ljava/lang/annotation/ElementType;
}
.end annotation
# virtual methods
.method public abstract value()Ljava/lang/String;
.end method
@@ -0,0 +1,136 @@
.class public final Lcom/google/api/client/util/Lists;
.super Ljava/lang/Object;
.source "Lists.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static newArrayList()Ljava/util/ArrayList;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">()",
"Ljava/util/ArrayList<",
"TE;>;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
return-object v0
.end method
.method public static newArrayList(Ljava/lang/Iterable;)Ljava/util/ArrayList;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Iterable<",
"+TE;>;)",
"Ljava/util/ArrayList<",
"TE;>;"
}
.end annotation
.line 2
instance-of v0, p0, Ljava/util/Collection;
if-eqz v0, :cond_0
new-instance v0, Ljava/util/ArrayList;
invoke-static {p0}, Lcom/google/api/client/util/Collections2;->cast(Ljava/lang/Iterable;)Ljava/util/Collection;
move-result-object p0
invoke-direct {v0, p0}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
goto :goto_0
:cond_0
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
invoke-static {p0}, Lcom/google/api/client/util/Lists;->newArrayList(Ljava/util/Iterator;)Ljava/util/ArrayList;
move-result-object v0
:goto_0
return-object v0
.end method
.method public static newArrayList(Ljava/util/Iterator;)Ljava/util/ArrayList;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Iterator<",
"+TE;>;)",
"Ljava/util/ArrayList<",
"TE;>;"
}
.end annotation
.line 3
invoke-static {}, Lcom/google/api/client/util/Lists;->newArrayList()Ljava/util/ArrayList;
move-result-object v0
.line 4
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
.line 5
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_0
return-object v0
.end method
.method public static newArrayListWithCapacity(I)Ljava/util/ArrayList;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">(I)",
"Ljava/util/ArrayList<",
"TE;>;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0, p0}, Ljava/util/ArrayList;-><init>(I)V
return-object v0
.end method
@@ -0,0 +1,366 @@
.class public Lcom/google/api/client/util/LoggingByteArrayOutputStream;
.super Ljava/io/ByteArrayOutputStream;
.source "LoggingByteArrayOutputStream.java"
# instance fields
.field private bytesWritten:I
.field private closed:Z
.field private final logger:Ljava/util/logging/Logger;
.field private final loggingLevel:Ljava/util/logging/Level;
.field private final maximumBytesToLog:I
# direct methods
.method public constructor <init>(Ljava/util/logging/Logger;Ljava/util/logging/Level;I)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 2
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/logging/Logger;
iput-object p1, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->logger:Ljava/util/logging/Logger;
.line 3
invoke-static {p2}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/logging/Level;
iput-object p1, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->loggingLevel:Ljava/util/logging/Level;
if-ltz p3, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
.line 4
:goto_0
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkArgument(Z)V
.line 5
iput p3, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->maximumBytesToLog:I
return-void
.end method
.method private static appendBytes(Ljava/lang/StringBuilder;I)V
.locals 3
const/4 v0, 0x1
if-ne p1, v0, :cond_0
const-string p1, "1 byte"
.line 1
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_0
.line 2
:cond_0
invoke-static {}, Ljava/text/NumberFormat;->getInstance()Ljava/text/NumberFormat;
move-result-object v0
int-to-long v1, p1
invoke-virtual {v0, v1, v2}, Ljava/text/NumberFormat;->format(J)Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " bytes"
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:goto_0
return-void
.end method
# virtual methods
.method public declared-synchronized close()V
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
monitor-enter p0
.line 1
:try_start_0
iget-boolean v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->closed:Z
if-nez v0, :cond_2
.line 2
iget v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->bytesWritten:I
if-eqz v0, :cond_1
.line 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Total: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 4
iget v1, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->bytesWritten:I
invoke-static {v0, v1}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->appendBytes(Ljava/lang/StringBuilder;I)V
.line 5
iget v1, p0, Ljava/io/ByteArrayOutputStream;->count:I
if-eqz v1, :cond_0
iget v2, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->bytesWritten:I
if-ge v1, v2, :cond_0
const-string v1, " (logging first "
.line 6
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 7
iget v1, p0, Ljava/io/ByteArrayOutputStream;->count:I
invoke-static {v0, v1}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->appendBytes(Ljava/lang/StringBuilder;I)V
const-string v1, ")"
.line 8
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 9
:cond_0
iget-object v1, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->logger:Ljava/util/logging/Logger;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/util/logging/Logger;->config(Ljava/lang/String;)V
.line 10
iget v0, p0, Ljava/io/ByteArrayOutputStream;->count:I
if-eqz v0, :cond_1
.line 11
iget-object v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->logger:Ljava/util/logging/Logger;
iget-object v1, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->loggingLevel:Ljava/util/logging/Level;
const-string v2, "UTF-8"
invoke-virtual {p0, v2}, Ljava/io/ByteArrayOutputStream;->toString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
const-string v3, "[\\x00-\\x09\\x0B\\x0C\\x0E-\\x1F\\x7F]"
const-string v4, " "
invoke-virtual {v2, v3, v4}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V
:cond_1
const/4 v0, 0x1
.line 12
iput-boolean v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->closed:Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 13
:cond_2
monitor-exit p0
return-void
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final declared-synchronized getBytesWritten()I
.locals 1
monitor-enter p0
.line 1
:try_start_0
iget v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->bytesWritten:I
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
monitor-exit p0
return v0
:catchall_0
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final getMaximumBytesToLog()I
.locals 1
.line 1
iget v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->maximumBytesToLog:I
return v0
.end method
.method public declared-synchronized write(I)V
.locals 2
monitor-enter p0
.line 1
:try_start_0
iget-boolean v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->closed:Z
const/4 v1, 0x1
if-nez v0, :cond_0
move v0, v1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/google/api/client/util/Preconditions;->checkArgument(Z)V
.line 2
iget v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->bytesWritten:I
add-int/2addr v0, v1
iput v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->bytesWritten:I
.line 3
iget v0, p0, Ljava/io/ByteArrayOutputStream;->count:I
iget v1, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->maximumBytesToLog:I
if-ge v0, v1, :cond_1
.line 4
invoke-super {p0, p1}, Ljava/io/ByteArrayOutputStream;->write(I)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 5
:cond_1
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
.method public declared-synchronized write([BII)V
.locals 2
monitor-enter p0
.line 6
:try_start_0
iget-boolean v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->closed:Z
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
invoke-static {v0}, Lcom/google/api/client/util/Preconditions;->checkArgument(Z)V
.line 7
iget v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->bytesWritten:I
add-int/2addr v0, p3
iput v0, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->bytesWritten:I
.line 8
iget v0, p0, Ljava/io/ByteArrayOutputStream;->count:I
iget v1, p0, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->maximumBytesToLog:I
if-ge v0, v1, :cond_2
add-int/2addr v0, p3
if-le v0, v1, :cond_1
sub-int/2addr v1, v0
add-int/2addr p3, v1
.line 9
:cond_1
invoke-super {p0, p1, p2, p3}, Ljava/io/ByteArrayOutputStream;->write([BII)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 10
:cond_2
monitor-exit p0
return-void
:catchall_0
move-exception p1
monitor-exit p0
throw p1
.end method
@@ -0,0 +1,100 @@
.class public Lcom/google/api/client/util/LoggingInputStream;
.super Ljava/io/FilterInputStream;
.source "LoggingInputStream.java"
# instance fields
.field private final logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
# direct methods
.method public constructor <init>(Ljava/io/InputStream;Ljava/util/logging/Logger;Ljava/util/logging/Level;I)V
.locals 0
.line 1
invoke-direct {p0, p1}, Ljava/io/FilterInputStream;-><init>(Ljava/io/InputStream;)V
.line 2
new-instance p1, Lcom/google/api/client/util/LoggingByteArrayOutputStream;
invoke-direct {p1, p2, p3, p4}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;-><init>(Ljava/util/logging/Logger;Ljava/util/logging/Level;I)V
iput-object p1, p0, Lcom/google/api/client/util/LoggingInputStream;->logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
return-void
.end method
# virtual methods
.method public close()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/LoggingInputStream;->logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
invoke-virtual {v0}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->close()V
.line 2
invoke-super {p0}, Ljava/io/FilterInputStream;->close()V
return-void
.end method
.method public final getLogStream()Lcom/google/api/client/util/LoggingByteArrayOutputStream;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/LoggingInputStream;->logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
return-object v0
.end method
.method public read()I
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-super {p0}, Ljava/io/FilterInputStream;->read()I
move-result v0
.line 2
iget-object v1, p0, Lcom/google/api/client/util/LoggingInputStream;->logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
invoke-virtual {v1, v0}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->write(I)V
return v0
.end method
.method public read([BII)I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 3
invoke-super {p0, p1, p2, p3}, Ljava/io/FilterInputStream;->read([BII)I
move-result p3
if-lez p3, :cond_0
.line 4
iget-object v0, p0, Lcom/google/api/client/util/LoggingInputStream;->logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
invoke-virtual {v0, p1, p2, p3}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->write([BII)V
:cond_0
return p3
.end method
@@ -0,0 +1,97 @@
.class public Lcom/google/api/client/util/LoggingOutputStream;
.super Ljava/io/FilterOutputStream;
.source "LoggingOutputStream.java"
# instance fields
.field private final logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
# direct methods
.method public constructor <init>(Ljava/io/OutputStream;Ljava/util/logging/Logger;Ljava/util/logging/Level;I)V
.locals 0
.line 1
invoke-direct {p0, p1}, Ljava/io/FilterOutputStream;-><init>(Ljava/io/OutputStream;)V
.line 2
new-instance p1, Lcom/google/api/client/util/LoggingByteArrayOutputStream;
invoke-direct {p1, p2, p3, p4}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;-><init>(Ljava/util/logging/Logger;Ljava/util/logging/Level;I)V
iput-object p1, p0, Lcom/google/api/client/util/LoggingOutputStream;->logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
return-void
.end method
# virtual methods
.method public close()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/LoggingOutputStream;->logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
invoke-virtual {v0}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->close()V
.line 2
invoke-super {p0}, Ljava/io/FilterOutputStream;->close()V
return-void
.end method
.method public final getLogStream()Lcom/google/api/client/util/LoggingByteArrayOutputStream;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/LoggingOutputStream;->logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
return-object v0
.end method
.method public write(I)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Ljava/io/FilterOutputStream;->out:Ljava/io/OutputStream;
invoke-virtual {v0, p1}, Ljava/io/OutputStream;->write(I)V
.line 2
iget-object v0, p0, Lcom/google/api/client/util/LoggingOutputStream;->logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
invoke-virtual {v0, p1}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->write(I)V
return-void
.end method
.method public write([BII)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 3
iget-object v0, p0, Ljava/io/FilterOutputStream;->out:Ljava/io/OutputStream;
invoke-virtual {v0, p1, p2, p3}, Ljava/io/OutputStream;->write([BII)V
.line 4
iget-object v0, p0, Lcom/google/api/client/util/LoggingOutputStream;->logStream:Lcom/google/api/client/util/LoggingByteArrayOutputStream;
invoke-virtual {v0, p1, p2, p3}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->write([BII)V
return-void
.end method
@@ -0,0 +1,93 @@
.class public final Lcom/google/api/client/util/LoggingStreamingContent;
.super Ljava/lang/Object;
.source "LoggingStreamingContent.java"
# interfaces
.implements Lcom/google/api/client/util/StreamingContent;
# instance fields
.field private final content:Lcom/google/api/client/util/StreamingContent;
.field private final contentLoggingLimit:I
.field private final logger:Ljava/util/logging/Logger;
.field private final loggingLevel:Ljava/util/logging/Level;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/StreamingContent;Ljava/util/logging/Logger;Ljava/util/logging/Level;I)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/api/client/util/LoggingStreamingContent;->content:Lcom/google/api/client/util/StreamingContent;
.line 3
iput-object p2, p0, Lcom/google/api/client/util/LoggingStreamingContent;->logger:Ljava/util/logging/Logger;
.line 4
iput-object p3, p0, Lcom/google/api/client/util/LoggingStreamingContent;->loggingLevel:Ljava/util/logging/Level;
.line 5
iput p4, p0, Lcom/google/api/client/util/LoggingStreamingContent;->contentLoggingLimit:I
return-void
.end method
# virtual methods
.method public writeTo(Ljava/io/OutputStream;)V
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
new-instance v0, Lcom/google/api/client/util/LoggingOutputStream;
iget-object v1, p0, Lcom/google/api/client/util/LoggingStreamingContent;->logger:Ljava/util/logging/Logger;
iget-object v2, p0, Lcom/google/api/client/util/LoggingStreamingContent;->loggingLevel:Ljava/util/logging/Level;
iget v3, p0, Lcom/google/api/client/util/LoggingStreamingContent;->contentLoggingLimit:I
invoke-direct {v0, p1, v1, v2, v3}, Lcom/google/api/client/util/LoggingOutputStream;-><init>(Ljava/io/OutputStream;Ljava/util/logging/Logger;Ljava/util/logging/Level;I)V
.line 2
:try_start_0
iget-object v1, p0, Lcom/google/api/client/util/LoggingStreamingContent;->content:Lcom/google/api/client/util/StreamingContent;
invoke-interface {v1, v0}, Lcom/google/api/client/util/StreamingContent;->writeTo(Ljava/io/OutputStream;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
invoke-virtual {v0}, Lcom/google/api/client/util/LoggingOutputStream;->getLogStream()Lcom/google/api/client/util/LoggingByteArrayOutputStream;
move-result-object v0
invoke-virtual {v0}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->close()V
.line 4
invoke-virtual {p1}, Ljava/io/OutputStream;->flush()V
return-void
:catchall_0
move-exception p1
.line 5
invoke-virtual {v0}, Lcom/google/api/client/util/LoggingOutputStream;->getLogStream()Lcom/google/api/client/util/LoggingByteArrayOutputStream;
move-result-object v0
invoke-virtual {v0}, Lcom/google/api/client/util/LoggingByteArrayOutputStream;->close()V
throw p1
.end method
@@ -0,0 +1,80 @@
.class public final Lcom/google/api/client/util/Maps;
.super Ljava/lang/Object;
.source "Maps.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static newHashMap()Ljava/util/HashMap;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">()",
"Ljava/util/HashMap<",
"TK;TV;>;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
return-object v0
.end method
.method public static newLinkedHashMap()Ljava/util/LinkedHashMap;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<K:",
"Ljava/lang/Object;",
"V:",
"Ljava/lang/Object;",
">()",
"Ljava/util/LinkedHashMap<",
"TK;TV;>;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/LinkedHashMap;
invoke-direct {v0}, Ljava/util/LinkedHashMap;-><init>()V
return-object v0
.end method
.method public static newTreeMap()Ljava/util/TreeMap;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<K::",
"Ljava/lang/Comparable<",
"*>;V:",
"Ljava/lang/Object;",
">()",
"Ljava/util/TreeMap<",
"TK;TV;>;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/TreeMap;
invoke-direct {v0}, Ljava/util/TreeMap;-><init>()V
return-object v0
.end method
@@ -0,0 +1,41 @@
.class final Lcom/google/api/client/util/NanoClock$1;
.super Ljava/lang/Object;
.source "NanoClock.java"
# interfaces
.implements Lcom/google/api/client/util/NanoClock;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/NanoClock;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public nanoTime()J
.locals 2
.line 1
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v0
return-wide v0
.end method
@@ -0,0 +1,27 @@
.class public interface abstract Lcom/google/api/client/util/NanoClock;
.super Ljava/lang/Object;
.source "NanoClock.java"
# static fields
.field public static final SYSTEM:Lcom/google/api/client/util/NanoClock;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/api/client/util/NanoClock$1;
invoke-direct {v0}, Lcom/google/api/client/util/NanoClock$1;-><init>()V
sput-object v0, Lcom/google/api/client/util/NanoClock;->SYSTEM:Lcom/google/api/client/util/NanoClock;
return-void
.end method
# virtual methods
.method public abstract nanoTime()J
.end method
@@ -0,0 +1,18 @@
.class public interface abstract annotation Lcom/google/api/client/util/NullValue;
.super Ljava/lang/Object;
.source "NullValue.java"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->RUNTIME:Ljava/lang/annotation/RetentionPolicy;
.end annotation
.annotation runtime Ljava/lang/annotation/Target;
value = {
.enum Ljava/lang/annotation/ElementType;->FIELD:Ljava/lang/annotation/ElementType;
}
.end annotation
@@ -0,0 +1,60 @@
.class public interface abstract Lcom/google/api/client/util/ObjectParser;
.super Ljava/lang/Object;
.source "ObjectParser.java"
# virtual methods
.method public abstract parseAndClose(Ljava/io/InputStream;Ljava/nio/charset/Charset;Ljava/lang/Class;)Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/io/InputStream;",
"Ljava/nio/charset/Charset;",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract parseAndClose(Ljava/io/InputStream;Ljava/nio/charset/Charset;Ljava/lang/reflect/Type;)Ljava/lang/Object;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract parseAndClose(Ljava/io/Reader;Ljava/lang/Class;)Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/io/Reader;",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract parseAndClose(Ljava/io/Reader;Ljava/lang/reflect/Type;)Ljava/lang/Object;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
@@ -0,0 +1,14 @@
.class synthetic Lcom/google/api/client/util/Objects$1;
.super Ljava/lang/Object;
.source "Objects.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/Objects;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
@@ -0,0 +1,42 @@
.class final Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
.super Ljava/lang/Object;
.source "Objects.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/Objects$ToStringHelper;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ValueHolder"
.end annotation
# instance fields
.field public name:Ljava/lang/String;
.field public next:Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
.field public value:Ljava/lang/Object;
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/api/client/util/Objects$1;)V
.locals 0
.line 2
invoke-direct {p0}, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;-><init>()V
return-void
.end method
@@ -0,0 +1,204 @@
.class public final Lcom/google/api/client/util/Objects$ToStringHelper;
.super Ljava/lang/Object;
.source "Objects.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/Objects;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "ToStringHelper"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
}
.end annotation
# instance fields
.field private final className:Ljava/lang/String;
.field private holderHead:Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
.field private holderTail:Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
.field private omitNullValues:Z
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;-><init>(Lcom/google/api/client/util/Objects$1;)V
iput-object v0, p0, Lcom/google/api/client/util/Objects$ToStringHelper;->holderHead:Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
.line 3
iput-object v0, p0, Lcom/google/api/client/util/Objects$ToStringHelper;->holderTail:Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
.line 4
iput-object p1, p0, Lcom/google/api/client/util/Objects$ToStringHelper;->className:Ljava/lang/String;
return-void
.end method
.method private addHolder()Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
.locals 2
.line 1
new-instance v0, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;-><init>(Lcom/google/api/client/util/Objects$1;)V
.line 2
iget-object v1, p0, Lcom/google/api/client/util/Objects$ToStringHelper;->holderTail:Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
iput-object v0, v1, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;->next:Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
iput-object v0, p0, Lcom/google/api/client/util/Objects$ToStringHelper;->holderTail:Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
return-object v0
.end method
.method private addHolder(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/api/client/util/Objects$ToStringHelper;
.locals 1
.line 3
invoke-direct {p0}, Lcom/google/api/client/util/Objects$ToStringHelper;->addHolder()Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
move-result-object v0
.line 4
iput-object p2, v0, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;->value:Ljava/lang/Object;
.line 5
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
iput-object p1, v0, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;->name:Ljava/lang/String;
return-object p0
.end method
# virtual methods
.method public add(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/api/client/util/Objects$ToStringHelper;
.locals 0
.line 1
invoke-direct {p0, p1, p2}, Lcom/google/api/client/util/Objects$ToStringHelper;->addHolder(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/api/client/util/Objects$ToStringHelper;
move-result-object p1
return-object p1
.end method
.method public omitNullValues()Lcom/google/api/client/util/Objects$ToStringHelper;
.locals 1
const/4 v0, 0x1
.line 1
iput-boolean v0, p0, Lcom/google/api/client/util/Objects$ToStringHelper;->omitNullValues:Z
return-object p0
.end method
.method public toString()Ljava/lang/String;
.locals 5
.line 1
iget-boolean v0, p0, Lcom/google/api/client/util/Objects$ToStringHelper;->omitNullValues:Z
.line 2
new-instance v1, Ljava/lang/StringBuilder;
const/16 v2, 0x20
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(I)V
iget-object v2, p0, Lcom/google/api/client/util/Objects$ToStringHelper;->className:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v2, 0x7b
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 3
iget-object v2, p0, Lcom/google/api/client/util/Objects$ToStringHelper;->holderHead:Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
iget-object v2, v2, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;->next:Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
const-string v3, ""
:goto_0
if-eqz v2, :cond_3
if-eqz v0, :cond_0
.line 4
iget-object v4, v2, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;->value:Ljava/lang/Object;
if-eqz v4, :cond_2
.line 5
:cond_0
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 6
iget-object v3, v2, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;->name:Ljava/lang/String;
if-eqz v3, :cond_1
.line 7
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v3, 0x3d
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 8
:cond_1
iget-object v3, v2, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;->value:Ljava/lang/Object;
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v3, ", "
.line 9
:cond_2
iget-object v2, v2, Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;->next:Lcom/google/api/client/util/Objects$ToStringHelper$ValueHolder;
goto :goto_0
:cond_3
const/16 v0, 0x7d
.line 10
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,52 @@
.class public final Lcom/google/api/client/util/Objects;
.super Ljava/lang/Object;
.source "Objects.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/api/client/util/Objects$ToStringHelper;
}
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static equal(Ljava/lang/Object;Ljava/lang/Object;)Z
.locals 0
.line 1
invoke-static {p0, p1}, Lcom/google/api/client/repackaged/com/google/common/base/Objects;->equal(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p0
return p0
.end method
.method public static toStringHelper(Ljava/lang/Object;)Lcom/google/api/client/util/Objects$ToStringHelper;
.locals 1
.line 1
new-instance v0, Lcom/google/api/client/util/Objects$ToStringHelper;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Lcom/google/api/client/util/Objects$ToStringHelper;-><init>(Ljava/lang/String;)V
return-object v0
.end method
@@ -0,0 +1,69 @@
.class public final Lcom/google/api/client/util/PemReader$Section;
.super Ljava/lang/Object;
.source "PemReader.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/PemReader;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Section"
.end annotation
# instance fields
.field private final base64decodedBytes:[B
.field private final title:Ljava/lang/String;
# direct methods
.method public constructor <init>(Ljava/lang/String;[B)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
iput-object p1, p0, Lcom/google/api/client/util/PemReader$Section;->title:Ljava/lang/String;
.line 3
invoke-static {p2}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [B
iput-object p1, p0, Lcom/google/api/client/util/PemReader$Section;->base64decodedBytes:[B
return-void
.end method
# virtual methods
.method public getBase64DecodedBytes()[B
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/PemReader$Section;->base64decodedBytes:[B
return-object v0
.end method
.method public getTitle()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/PemReader$Section;->title:Ljava/lang/String;
return-object v0
.end method
@@ -0,0 +1,304 @@
.class public final Lcom/google/api/client/util/PemReader;
.super Ljava/lang/Object;
.source "PemReader.java"
# annotations
.annotation build Lcom/google/api/client/util/Beta;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/api/client/util/PemReader$Section;
}
.end annotation
# static fields
.field private static final BEGIN_PATTERN:Ljava/util/regex/Pattern;
.field private static final END_PATTERN:Ljava/util/regex/Pattern;
# instance fields
.field private reader:Ljava/io/BufferedReader;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "-----BEGIN ([A-Z ]+)-----"
.line 1
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/api/client/util/PemReader;->BEGIN_PATTERN:Ljava/util/regex/Pattern;
const-string v0, "-----END ([A-Z ]+)-----"
.line 2
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/api/client/util/PemReader;->END_PATTERN:Ljava/util/regex/Pattern;
return-void
.end method
.method public constructor <init>(Ljava/io/Reader;)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/io/BufferedReader;
invoke-direct {v0, p1}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
iput-object v0, p0, Lcom/google/api/client/util/PemReader;->reader:Ljava/io/BufferedReader;
return-void
.end method
.method public static readFirstSectionAndClose(Ljava/io/Reader;)Lcom/google/api/client/util/PemReader$Section;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
.line 1
invoke-static {p0, v0}, Lcom/google/api/client/util/PemReader;->readFirstSectionAndClose(Ljava/io/Reader;Ljava/lang/String;)Lcom/google/api/client/util/PemReader$Section;
move-result-object p0
return-object p0
.end method
.method public static readFirstSectionAndClose(Ljava/io/Reader;Ljava/lang/String;)Lcom/google/api/client/util/PemReader$Section;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2
new-instance v0, Lcom/google/api/client/util/PemReader;
invoke-direct {v0, p0}, Lcom/google/api/client/util/PemReader;-><init>(Ljava/io/Reader;)V
.line 3
:try_start_0
invoke-virtual {v0, p1}, Lcom/google/api/client/util/PemReader;->readNextSection(Ljava/lang/String;)Lcom/google/api/client/util/PemReader$Section;
move-result-object p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 4
invoke-virtual {v0}, Lcom/google/api/client/util/PemReader;->close()V
return-object p0
:catchall_0
move-exception p0
invoke-virtual {v0}, Lcom/google/api/client/util/PemReader;->close()V
throw p0
.end method
# virtual methods
.method public close()V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/PemReader;->reader:Ljava/io/BufferedReader;
invoke-virtual {v0}, Ljava/io/BufferedReader;->close()V
return-void
.end method
.method public readNextSection()Lcom/google/api/client/util/PemReader$Section;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
.line 1
invoke-virtual {p0, v0}, Lcom/google/api/client/util/PemReader;->readNextSection(Ljava/lang/String;)Lcom/google/api/client/util/PemReader$Section;
move-result-object v0
return-object v0
.end method
.method public readNextSection(Ljava/lang/String;)Lcom/google/api/client/util/PemReader$Section;
.locals 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
move-object v1, v0
move-object v2, v1
.line 2
:cond_0
:goto_0
iget-object v3, p0, Lcom/google/api/client/util/PemReader;->reader:Ljava/io/BufferedReader;
invoke-virtual {v3}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v3
const/4 v4, 0x0
const/4 v5, 0x1
if-nez v3, :cond_2
if-nez v2, :cond_1
move p1, v5
goto :goto_1
:cond_1
move p1, v4
:goto_1
new-array v1, v5, [Ljava/lang/Object;
aput-object v2, v1, v4
const-string v2, "missing end tag (%s)"
.line 3
invoke-static {p1, v2, v1}, Lcom/google/api/client/util/Preconditions;->checkArgument(ZLjava/lang/String;[Ljava/lang/Object;)V
return-object v0
:cond_2
if-nez v1, :cond_4
.line 4
sget-object v4, Lcom/google/api/client/util/PemReader;->BEGIN_PATTERN:Ljava/util/regex/Pattern;
invoke-virtual {v4, v3}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v3
.line 5
invoke-virtual {v3}, Ljava/util/regex/Matcher;->matches()Z
move-result v4
if-eqz v4, :cond_0
.line 6
invoke-virtual {v3, v5}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v3
if-eqz p1, :cond_3
.line 7
invoke-virtual {v3, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_0
.line 8
:cond_3
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
move-object v2, v3
goto :goto_0
.line 9
:cond_4
sget-object v6, Lcom/google/api/client/util/PemReader;->END_PATTERN:Ljava/util/regex/Pattern;
invoke-virtual {v6, v3}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v6
.line 10
invoke-virtual {v6}, Ljava/util/regex/Matcher;->matches()Z
move-result v7
if-eqz v7, :cond_5
.line 11
invoke-virtual {v6, v5}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object p1
.line 12
invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v3, 0x2
new-array v3, v3, [Ljava/lang/Object;
aput-object p1, v3, v4
aput-object v2, v3, v5
const-string p1, "end tag (%s) doesn\'t match begin tag (%s)"
invoke-static {v0, p1, v3}, Lcom/google/api/client/util/Preconditions;->checkArgument(ZLjava/lang/String;[Ljava/lang/Object;)V
.line 13
new-instance p1, Lcom/google/api/client/util/PemReader$Section;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/google/api/client/util/Base64;->decodeBase64(Ljava/lang/String;)[B
move-result-object v0
invoke-direct {p1, v2, v0}, Lcom/google/api/client/util/PemReader$Section;-><init>(Ljava/lang/String;[B)V
return-object p1
.line 14
:cond_5
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_0
.end method
@@ -0,0 +1,128 @@
.class public final Lcom/google/api/client/util/Preconditions;
.super Ljava/lang/Object;
.source "Preconditions.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static checkArgument(Z)V
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/com/google/common/base/Preconditions;->checkArgument(Z)V
return-void
.end method
.method public static checkArgument(ZLjava/lang/Object;)V
.locals 0
.line 2
invoke-static {p0, p1}, Lcom/google/api/client/repackaged/com/google/common/base/Preconditions;->checkArgument(ZLjava/lang/Object;)V
return-void
.end method
.method public static varargs checkArgument(ZLjava/lang/String;[Ljava/lang/Object;)V
.locals 0
.line 3
invoke-static {p0, p1, p2}, Lcom/google/api/client/repackaged/com/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
.method public static checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(TT;)TT;"
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/com/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(TT;",
"Ljava/lang/Object;",
")TT;"
}
.end annotation
.line 2
invoke-static {p0, p1}, Lcom/google/api/client/repackaged/com/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static varargs checkNotNull(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(TT;",
"Ljava/lang/String;",
"[",
"Ljava/lang/Object;",
")TT;"
}
.end annotation
.line 3
invoke-static {p0, p1, p2}, Lcom/google/api/client/repackaged/com/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
return-object p0
.end method
.method public static checkState(Z)V
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/com/google/common/base/Preconditions;->checkState(Z)V
return-void
.end method
.method public static checkState(ZLjava/lang/Object;)V
.locals 0
.line 2
invoke-static {p0, p1}, Lcom/google/api/client/repackaged/com/google/common/base/Preconditions;->checkState(ZLjava/lang/Object;)V
return-void
.end method
.method public static varargs checkState(ZLjava/lang/String;[Ljava/lang/Object;)V
.locals 0
.line 3
invoke-static {p0, p1, p2}, Lcom/google/api/client/repackaged/com/google/common/base/Preconditions;->checkState(ZLjava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
@@ -0,0 +1,450 @@
.class public final Lcom/google/api/client/util/SecurityUtils;
.super Ljava/lang/Object;
.source "SecurityUtils.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getDefaultKeyStore()Ljava/security/KeyStore;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/KeyStoreException;
}
.end annotation
.line 1
invoke-static {}, Ljava/security/KeyStore;->getDefaultType()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/security/KeyStore;->getInstance(Ljava/lang/String;)Ljava/security/KeyStore;
move-result-object v0
return-object v0
.end method
.method public static getJavaKeyStore()Ljava/security/KeyStore;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/KeyStoreException;
}
.end annotation
const-string v0, "JKS"
.line 1
invoke-static {v0}, Ljava/security/KeyStore;->getInstance(Ljava/lang/String;)Ljava/security/KeyStore;
move-result-object v0
return-object v0
.end method
.method public static getPkcs12KeyStore()Ljava/security/KeyStore;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/KeyStoreException;
}
.end annotation
const-string v0, "PKCS12"
.line 1
invoke-static {v0}, Ljava/security/KeyStore;->getInstance(Ljava/lang/String;)Ljava/security/KeyStore;
move-result-object v0
return-object v0
.end method
.method public static getPrivateKey(Ljava/security/KeyStore;Ljava/lang/String;Ljava/lang/String;)Ljava/security/PrivateKey;
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/GeneralSecurityException;
}
.end annotation
.line 1
invoke-virtual {p2}, Ljava/lang/String;->toCharArray()[C
move-result-object p2
invoke-virtual {p0, p1, p2}, Ljava/security/KeyStore;->getKey(Ljava/lang/String;[C)Ljava/security/Key;
move-result-object p0
check-cast p0, Ljava/security/PrivateKey;
return-object p0
.end method
.method public static getRsaKeyFactory()Ljava/security/KeyFactory;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
const-string v0, "RSA"
.line 1
invoke-static {v0}, Ljava/security/KeyFactory;->getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;
move-result-object v0
return-object v0
.end method
.method public static getSha1WithRsaSignatureAlgorithm()Ljava/security/Signature;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
const-string v0, "SHA1withRSA"
.line 1
invoke-static {v0}, Ljava/security/Signature;->getInstance(Ljava/lang/String;)Ljava/security/Signature;
move-result-object v0
return-object v0
.end method
.method public static getSha256WithRsaSignatureAlgorithm()Ljava/security/Signature;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
const-string v0, "SHA256withRSA"
.line 1
invoke-static {v0}, Ljava/security/Signature;->getInstance(Ljava/lang/String;)Ljava/security/Signature;
move-result-object v0
return-object v0
.end method
.method public static getX509CertificateFactory()Ljava/security/cert/CertificateFactory;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/cert/CertificateException;
}
.end annotation
const-string v0, "X.509"
.line 1
invoke-static {v0}, Ljava/security/cert/CertificateFactory;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
move-result-object v0
return-object v0
.end method
.method public static loadKeyStore(Ljava/security/KeyStore;Ljava/io/InputStream;Ljava/lang/String;)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/security/GeneralSecurityException;
}
.end annotation
.line 1
:try_start_0
invoke-virtual {p2}, Ljava/lang/String;->toCharArray()[C
move-result-object p2
invoke-virtual {p0, p1, p2}, Ljava/security/KeyStore;->load(Ljava/io/InputStream;[C)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 2
invoke-virtual {p1}, Ljava/io/InputStream;->close()V
return-void
:catchall_0
move-exception p0
invoke-virtual {p1}, Ljava/io/InputStream;->close()V
throw p0
.end method
.method public static loadKeyStoreFromCertificates(Ljava/security/KeyStore;Ljava/security/cert/CertificateFactory;Ljava/io/InputStream;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/GeneralSecurityException;
}
.end annotation
.line 1
invoke-virtual {p1, p2}, Ljava/security/cert/CertificateFactory;->generateCertificates(Ljava/io/InputStream;)Ljava/util/Collection;
move-result-object p1
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
const/4 p2, 0x0
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/security/cert/Certificate;
.line 2
invoke-static {p2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {p0, v1, v0}, Ljava/security/KeyStore;->setCertificateEntry(Ljava/lang/String;Ljava/security/cert/Certificate;)V
add-int/lit8 p2, p2, 0x1
goto :goto_0
:cond_0
return-void
.end method
.method public static loadPrivateKeyFromKeyStore(Ljava/security/KeyStore;Ljava/io/InputStream;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/PrivateKey;
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/security/GeneralSecurityException;
}
.end annotation
.line 1
invoke-static {p0, p1, p2}, Lcom/google/api/client/util/SecurityUtils;->loadKeyStore(Ljava/security/KeyStore;Ljava/io/InputStream;Ljava/lang/String;)V
.line 2
invoke-static {p0, p3, p4}, Lcom/google/api/client/util/SecurityUtils;->getPrivateKey(Ljava/security/KeyStore;Ljava/lang/String;Ljava/lang/String;)Ljava/security/PrivateKey;
move-result-object p0
return-object p0
.end method
.method public static sign(Ljava/security/Signature;Ljava/security/PrivateKey;[B)[B
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/InvalidKeyException;,
Ljava/security/SignatureException;
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Ljava/security/Signature;->initSign(Ljava/security/PrivateKey;)V
.line 2
invoke-virtual {p0, p2}, Ljava/security/Signature;->update([B)V
.line 3
invoke-virtual {p0}, Ljava/security/Signature;->sign()[B
move-result-object p0
return-object p0
.end method
.method public static verify(Ljava/security/Signature;Ljavax/net/ssl/X509TrustManager;Ljava/util/List;[B[B)Ljava/security/cert/X509Certificate;
.locals 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/security/Signature;",
"Ljavax/net/ssl/X509TrustManager;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;[B[B)",
"Ljava/security/cert/X509Certificate;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/InvalidKeyException;,
Ljava/security/SignatureException;
}
.end annotation
const/4 v0, 0x0
.line 4
:try_start_0
invoke-static {}, Lcom/google/api/client/util/SecurityUtils;->getX509CertificateFactory()Ljava/security/cert/CertificateFactory;
move-result-object v1
:try_end_0
.catch Ljava/security/cert/CertificateException; {:try_start_0 .. :try_end_0} :catch_1
.line 5
invoke-interface {p2}, Ljava/util/List;->size()I
move-result v2
new-array v2, v2, [Ljava/security/cert/X509Certificate;
.line 6
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p2
const/4 v3, 0x0
move v4, v3
:goto_0
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_1
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/String;
.line 7
invoke-static {v5}, Lcom/google/api/client/util/Base64;->decodeBase64(Ljava/lang/String;)[B
move-result-object v5
.line 8
new-instance v6, Ljava/io/ByteArrayInputStream;
invoke-direct {v6, v5}, Ljava/io/ByteArrayInputStream;-><init>([B)V
.line 9
:try_start_1
invoke-virtual {v1, v6}, Ljava/security/cert/CertificateFactory;->generateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
move-result-object v5
.line 10
instance-of v6, v5, Ljava/security/cert/X509Certificate;
if-nez v6, :cond_0
return-object v0
:cond_0
add-int/lit8 v6, v4, 0x1
.line 11
check-cast v5, Ljava/security/cert/X509Certificate;
aput-object v5, v2, v4
:try_end_1
.catch Ljava/security/cert/CertificateException; {:try_start_1 .. :try_end_1} :catch_0
move v4, v6
goto :goto_0
:catch_0
return-object v0
:cond_1
:try_start_2
const-string p2, "RSA"
.line 12
invoke-interface {p1, v2, p2}, Ljavax/net/ssl/X509TrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
:try_end_2
.catch Ljava/security/cert/CertificateException; {:try_start_2 .. :try_end_2} :catch_1
.line 13
aget-object p1, v2, v3
invoke-virtual {p1}, Ljava/security/cert/X509Certificate;->getPublicKey()Ljava/security/PublicKey;
move-result-object p1
.line 14
invoke-static {p0, p1, p3, p4}, Lcom/google/api/client/util/SecurityUtils;->verify(Ljava/security/Signature;Ljava/security/PublicKey;[B[B)Z
move-result p0
if-eqz p0, :cond_2
.line 15
aget-object p0, v2, v3
return-object p0
:catch_1
:cond_2
return-object v0
.end method
.method public static verify(Ljava/security/Signature;Ljava/security/PublicKey;[B[B)Z
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/InvalidKeyException;,
Ljava/security/SignatureException;
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Ljava/security/Signature;->initVerify(Ljava/security/PublicKey;)V
.line 2
invoke-virtual {p0, p3}, Ljava/security/Signature;->update([B)V
.line 3
:try_start_0
invoke-virtual {p0, p2}, Ljava/security/Signature;->verify([B)Z
move-result p0
:try_end_0
.catch Ljava/security/SignatureException; {:try_start_0 .. :try_end_0} :catch_0
return p0
:catch_0
const/4 p0, 0x0
return p0
.end method
@@ -0,0 +1,54 @@
.class public final Lcom/google/api/client/util/Sets;
.super Ljava/lang/Object;
.source "Sets.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static newHashSet()Ljava/util/HashSet;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">()",
"Ljava/util/HashSet<",
"TE;>;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
return-object v0
.end method
.method public static newTreeSet()Ljava/util/TreeSet;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<E::",
"Ljava/lang/Comparable<",
"*>;>()",
"Ljava/util/TreeSet<",
"TE;>;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/TreeSet;
invoke-direct {v0}, Ljava/util/TreeSet;-><init>()V
return-object v0
.end method
@@ -0,0 +1,44 @@
.class final Lcom/google/api/client/util/Sleeper$1;
.super Ljava/lang/Object;
.source "Sleeper.java"
# interfaces
.implements Lcom/google/api/client/util/Sleeper;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/Sleeper;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public sleep(J)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;
}
.end annotation
.line 1
invoke-static {p1, p2}, Ljava/lang/Thread;->sleep(J)V
return-void
.end method
@@ -0,0 +1,32 @@
.class public interface abstract Lcom/google/api/client/util/Sleeper;
.super Ljava/lang/Object;
.source "Sleeper.java"
# static fields
.field public static final DEFAULT:Lcom/google/api/client/util/Sleeper;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/api/client/util/Sleeper$1;
invoke-direct {v0}, Lcom/google/api/client/util/Sleeper$1;-><init>()V
sput-object v0, Lcom/google/api/client/util/Sleeper;->DEFAULT:Lcom/google/api/client/util/Sleeper;
return-void
.end method
# virtual methods
.method public abstract sleep(J)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;
}
.end annotation
.end method
@@ -0,0 +1,60 @@
.class final Lcom/google/api/client/util/SslUtils$1;
.super Ljava/lang/Object;
.source "SslUtils.java"
# interfaces
.implements Ljavax/net/ssl/X509TrustManager;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/api/client/util/SslUtils;->trustAllSSLContext()Ljavax/net/ssl/SSLContext;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public checkClientTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/cert/CertificateException;
}
.end annotation
return-void
.end method
.method public checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/cert/CertificateException;
}
.end annotation
return-void
.end method
.method public getAcceptedIssuers()[Ljava/security/cert/X509Certificate;
.locals 1
const/4 v0, 0x0
return-object v0
.end method
@@ -0,0 +1,38 @@
.class final Lcom/google/api/client/util/SslUtils$2;
.super Ljava/lang/Object;
.source "SslUtils.java"
# interfaces
.implements Ljavax/net/ssl/HostnameVerifier;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/api/client/util/SslUtils;->trustAllHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public verify(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z
.locals 0
const/4 p1, 0x1
return p1
.end method
@@ -0,0 +1,199 @@
.class public final Lcom/google/api/client/util/SslUtils;
.super Ljava/lang/Object;
.source "SslUtils.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getDefaultKeyManagerFactory()Ljavax/net/ssl/KeyManagerFactory;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
.line 1
invoke-static {}, Ljavax/net/ssl/KeyManagerFactory;->getDefaultAlgorithm()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljavax/net/ssl/KeyManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
move-result-object v0
return-object v0
.end method
.method public static getDefaultTrustManagerFactory()Ljavax/net/ssl/TrustManagerFactory;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
.line 1
invoke-static {}, Ljavax/net/ssl/TrustManagerFactory;->getDefaultAlgorithm()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljavax/net/ssl/TrustManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
move-result-object v0
return-object v0
.end method
.method public static getPkixKeyManagerFactory()Ljavax/net/ssl/KeyManagerFactory;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
const-string v0, "PKIX"
.line 1
invoke-static {v0}, Ljavax/net/ssl/KeyManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
move-result-object v0
return-object v0
.end method
.method public static getPkixTrustManagerFactory()Ljavax/net/ssl/TrustManagerFactory;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
const-string v0, "PKIX"
.line 1
invoke-static {v0}, Ljavax/net/ssl/TrustManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
move-result-object v0
return-object v0
.end method
.method public static getSslContext()Ljavax/net/ssl/SSLContext;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
const-string v0, "SSL"
.line 1
invoke-static {v0}, Ljavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
move-result-object v0
return-object v0
.end method
.method public static getTlsSslContext()Ljavax/net/ssl/SSLContext;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
const-string v0, "TLS"
.line 1
invoke-static {v0}, Ljavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
move-result-object v0
return-object v0
.end method
.method public static initSslContext(Ljavax/net/ssl/SSLContext;Ljava/security/KeyStore;Ljavax/net/ssl/TrustManagerFactory;)Ljavax/net/ssl/SSLContext;
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/GeneralSecurityException;
}
.end annotation
.line 1
invoke-virtual {p2, p1}, Ljavax/net/ssl/TrustManagerFactory;->init(Ljava/security/KeyStore;)V
.line 2
invoke-virtual {p2}, Ljavax/net/ssl/TrustManagerFactory;->getTrustManagers()[Ljavax/net/ssl/TrustManager;
move-result-object p1
const/4 p2, 0x0
invoke-virtual {p0, p2, p1, p2}, Ljavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
return-object p0
.end method
.method public static trustAllHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;
.locals 1
.annotation build Lcom/google/api/client/util/Beta;
.end annotation
.line 1
new-instance v0, Lcom/google/api/client/util/SslUtils$2;
invoke-direct {v0}, Lcom/google/api/client/util/SslUtils$2;-><init>()V
return-object v0
.end method
.method public static trustAllSSLContext()Ljavax/net/ssl/SSLContext;
.locals 3
.annotation build Lcom/google/api/client/util/Beta;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/GeneralSecurityException;
}
.end annotation
const/4 v0, 0x1
new-array v0, v0, [Ljavax/net/ssl/TrustManager;
.line 1
new-instance v1, Lcom/google/api/client/util/SslUtils$1;
invoke-direct {v1}, Lcom/google/api/client/util/SslUtils$1;-><init>()V
const/4 v2, 0x0
aput-object v1, v0, v2
.line 2
invoke-static {}, Lcom/google/api/client/util/SslUtils;->getTlsSslContext()Ljavax/net/ssl/SSLContext;
move-result-object v1
const/4 v2, 0x0
.line 3
invoke-virtual {v1, v2, v0, v2}, Ljavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
return-object v1
.end method
@@ -0,0 +1,13 @@
.class public interface abstract Lcom/google/api/client/util/StreamingContent;
.super Ljava/lang/Object;
.source "StreamingContent.java"
# virtual methods
.method public abstract writeTo(Ljava/io/OutputStream;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
@@ -0,0 +1,55 @@
.class public Lcom/google/api/client/util/StringUtils;
.super Ljava/lang/Object;
.source "StringUtils.java"
# static fields
.field public static final LINE_SEPARATOR:Ljava/lang/String;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "line.separator"
.line 1
invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/google/api/client/util/StringUtils;->LINE_SEPARATOR:Ljava/lang/String;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static getBytesUtf8(Ljava/lang/String;)[B
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/org/apache/commons/codec/binary/StringUtils;->getBytesUtf8(Ljava/lang/String;)[B
move-result-object p0
return-object p0
.end method
.method public static newStringUtf8([B)Ljava/lang/String;
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/org/apache/commons/codec/binary/StringUtils;->newStringUtf8([B)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
@@ -0,0 +1,25 @@
.class public final Lcom/google/api/client/util/Strings;
.super Ljava/lang/Object;
.source "Strings.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static isNullOrEmpty(Ljava/lang/String;)Z
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/com/google/common/base/Strings;->isNullOrEmpty(Ljava/lang/String;)Z
move-result p0
return p0
.end method
@@ -0,0 +1,59 @@
.class public final Lcom/google/api/client/util/Throwables;
.super Ljava/lang/Object;
.source "Throwables.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/com/google/common/base/Throwables;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p0
return-object p0
.end method
.method public static propagateIfPossible(Ljava/lang/Throwable;)V
.locals 0
.line 1
invoke-static {p0}, Lcom/google/api/client/repackaged/com/google/common/base/Throwables;->propagateIfPossible(Ljava/lang/Throwable;)V
return-void
.end method
.method public static propagateIfPossible(Ljava/lang/Throwable;Ljava/lang/Class;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<X:",
"Ljava/lang/Throwable;",
">(",
"Ljava/lang/Throwable;",
"Ljava/lang/Class<",
"TX;>;)V^TX;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Throwable;
}
.end annotation
.line 2
invoke-static {p0, p1}, Lcom/google/api/client/repackaged/com/google/common/base/Throwables;->propagateIfPossible(Ljava/lang/Throwable;Ljava/lang/Class;)V
return-void
.end method
@@ -0,0 +1,135 @@
.class Lcom/google/api/client/util/Types$1$1;
.super Ljava/lang/Object;
.source "Types.java"
# interfaces
.implements Ljava/util/Iterator;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/api/client/util/Types$1;->iterator()Ljava/util/Iterator;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/Iterator<",
"TT;>;"
}
.end annotation
# instance fields
.field public index:I
.field public final length:I
.field public final synthetic this$0:Lcom/google/api/client/util/Types$1;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/Types$1;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/api/client/util/Types$1$1;->this$0:Lcom/google/api/client/util/Types$1;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iget-object p1, p1, Lcom/google/api/client/util/Types$1;->val$value:Ljava/lang/Object;
invoke-static {p1}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result p1
iput p1, p0, Lcom/google/api/client/util/Types$1$1;->length:I
const/4 p1, 0x0
.line 3
iput p1, p0, Lcom/google/api/client/util/Types$1$1;->index:I
return-void
.end method
# virtual methods
.method public hasNext()Z
.locals 2
.line 1
iget v0, p0, Lcom/google/api/client/util/Types$1$1;->index:I
iget v1, p0, Lcom/google/api/client/util/Types$1$1;->length:I
if-ge v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public next()Ljava/lang/Object;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/Types$1$1;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
.line 2
iget-object v0, p0, Lcom/google/api/client/util/Types$1$1;->this$0:Lcom/google/api/client/util/Types$1;
iget-object v0, v0, Lcom/google/api/client/util/Types$1;->val$value:Ljava/lang/Object;
iget v1, p0, Lcom/google/api/client/util/Types$1$1;->index:I
add-int/lit8 v2, v1, 0x1
iput v2, p0, Lcom/google/api/client/util/Types$1$1;->index:I
invoke-static {v0, v1}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v0
return-object v0
.line 3
:cond_0
new-instance v0, Ljava/util/NoSuchElementException;
invoke-direct {v0}, Ljava/util/NoSuchElementException;-><init>()V
throw v0
.end method
.method public remove()V
.locals 1
.line 1
new-instance v0, Ljava/lang/UnsupportedOperationException;
invoke-direct {v0}, Ljava/lang/UnsupportedOperationException;-><init>()V
throw v0
.end method
@@ -0,0 +1,62 @@
.class final Lcom/google/api/client/util/Types$1;
.super Ljava/lang/Object;
.source "Types.java"
# interfaces
.implements Ljava/lang/Iterable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/api/client/util/Types;->iterableOf(Ljava/lang/Object;)Ljava/lang/Iterable;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/lang/Iterable<",
"TT;>;"
}
.end annotation
# instance fields
.field public final synthetic val$value:Ljava/lang/Object;
# direct methods
.method public constructor <init>(Ljava/lang/Object;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/api/client/util/Types$1;->val$value:Ljava/lang/Object;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public iterator()Ljava/util/Iterator;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Iterator<",
"TT;>;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/api/client/util/Types$1$1;
invoke-direct {v0, p0}, Lcom/google/api/client/util/Types$1$1;-><init>(Lcom/google/api/client/util/Types$1;)V
return-object v0
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,29 @@
.class public interface abstract annotation Lcom/google/api/client/util/Value;
.super Ljava/lang/Object;
.source "Value.java"
# interfaces
.implements Ljava/lang/annotation/Annotation;
# annotations
.annotation system Ldalvik/annotation/AnnotationDefault;
value = .subannotation Lcom/google/api/client/util/Value;
value = "##default"
.end subannotation
.end annotation
.annotation runtime Ljava/lang/annotation/Retention;
value = .enum Ljava/lang/annotation/RetentionPolicy;->RUNTIME:Ljava/lang/annotation/RetentionPolicy;
.end annotation
.annotation runtime Ljava/lang/annotation/Target;
value = {
.enum Ljava/lang/annotation/ElementType;->FIELD:Ljava/lang/annotation/ElementType;
}
.end annotation
# virtual methods
.method public abstract value()Ljava/lang/String;
.end method
@@ -0,0 +1,23 @@
.class public final synthetic Lcom/google/api/client/util/a;
.super Ljava/lang/Object;
.source "R8$$SyntheticClass"
# direct methods
.method public static a(Ljava/lang/String;Ljava/lang/reflect/Type;)Ljava/lang/String;
.locals 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
@@ -0,0 +1,172 @@
.class public final Lcom/google/api/client/util/escape/CharEscapers;
.super Ljava/lang/Object;
.source "CharEscapers.java"
# static fields
.field private static final URI_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
.field private static final URI_PATH_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
.field private static final URI_QUERY_STRING_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
.field private static final URI_RESERVED_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
.field private static final URI_USERINFO_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/api/client/util/escape/PercentEscaper;
const-string v1, "-_.*"
const/4 v2, 0x1
invoke-direct {v0, v1, v2}, Lcom/google/api/client/util/escape/PercentEscaper;-><init>(Ljava/lang/String;Z)V
sput-object v0, Lcom/google/api/client/util/escape/CharEscapers;->URI_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
.line 2
new-instance v0, Lcom/google/api/client/util/escape/PercentEscaper;
const-string v1, "-_.!~*\'()@:$&,;="
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/api/client/util/escape/PercentEscaper;-><init>(Ljava/lang/String;Z)V
sput-object v0, Lcom/google/api/client/util/escape/CharEscapers;->URI_PATH_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
.line 3
new-instance v0, Lcom/google/api/client/util/escape/PercentEscaper;
const-string v1, "-_.!~*\'()@:$&,;=+/?"
invoke-direct {v0, v1, v2}, Lcom/google/api/client/util/escape/PercentEscaper;-><init>(Ljava/lang/String;Z)V
sput-object v0, Lcom/google/api/client/util/escape/CharEscapers;->URI_RESERVED_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
.line 4
new-instance v0, Lcom/google/api/client/util/escape/PercentEscaper;
const-string v1, "-_.!~*\'():$&,;="
invoke-direct {v0, v1, v2}, Lcom/google/api/client/util/escape/PercentEscaper;-><init>(Ljava/lang/String;Z)V
sput-object v0, Lcom/google/api/client/util/escape/CharEscapers;->URI_USERINFO_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
.line 5
new-instance v0, Lcom/google/api/client/util/escape/PercentEscaper;
const-string v1, "-_.!~*\'()@:$,;/?:"
invoke-direct {v0, v1, v2}, Lcom/google/api/client/util/escape/PercentEscaper;-><init>(Ljava/lang/String;Z)V
sput-object v0, Lcom/google/api/client/util/escape/CharEscapers;->URI_QUERY_STRING_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static decodeUri(Ljava/lang/String;)Ljava/lang/String;
.locals 1
:try_start_0
const-string v0, "UTF-8"
.line 1
invoke-static {p0, v0}, Ljava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_0
.catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
move-exception p0
.line 2
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method public static escapeUri(Ljava/lang/String;)Ljava/lang/String;
.locals 1
.line 1
sget-object v0, Lcom/google/api/client/util/escape/CharEscapers;->URI_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
invoke-virtual {v0, p0}, Lcom/google/api/client/util/escape/Escaper;->escape(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static escapeUriPath(Ljava/lang/String;)Ljava/lang/String;
.locals 1
.line 1
sget-object v0, Lcom/google/api/client/util/escape/CharEscapers;->URI_PATH_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
invoke-virtual {v0, p0}, Lcom/google/api/client/util/escape/Escaper;->escape(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static escapeUriPathWithoutReserved(Ljava/lang/String;)Ljava/lang/String;
.locals 1
.line 1
sget-object v0, Lcom/google/api/client/util/escape/CharEscapers;->URI_RESERVED_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
invoke-virtual {v0, p0}, Lcom/google/api/client/util/escape/Escaper;->escape(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static escapeUriQuery(Ljava/lang/String;)Ljava/lang/String;
.locals 1
.line 1
sget-object v0, Lcom/google/api/client/util/escape/CharEscapers;->URI_QUERY_STRING_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
invoke-virtual {v0, p0}, Lcom/google/api/client/util/escape/Escaper;->escape(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static escapeUriUserInfo(Ljava/lang/String;)Ljava/lang/String;
.locals 1
.line 1
sget-object v0, Lcom/google/api/client/util/escape/CharEscapers;->URI_USERINFO_ESCAPER:Lcom/google/api/client/util/escape/Escaper;
invoke-virtual {v0, p0}, Lcom/google/api/client/util/escape/Escaper;->escape(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
@@ -0,0 +1,19 @@
.class public abstract Lcom/google/api/client/util/escape/Escaper;
.super Ljava/lang/Object;
.source "Escaper.java"
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public abstract escape(Ljava/lang/String;)Ljava/lang/String;
.end method
@@ -0,0 +1,633 @@
.class public Lcom/google/api/client/util/escape/PercentEscaper;
.super Lcom/google/api/client/util/escape/UnicodeEscaper;
.source "PercentEscaper.java"
# static fields
.field public static final SAFECHARS_URLENCODER:Ljava/lang/String; = "-_.*"
.field public static final SAFEPATHCHARS_URLENCODER:Ljava/lang/String; = "-_.!~*\'()@:$&,;="
.field public static final SAFEQUERYSTRINGCHARS_URLENCODER:Ljava/lang/String; = "-_.!~*\'()@:$,;/?:"
.field public static final SAFEUSERINFOCHARS_URLENCODER:Ljava/lang/String; = "-_.!~*\'():$&,;="
.field public static final SAFE_PLUS_RESERVED_CHARS_URLENCODER:Ljava/lang/String; = "-_.!~*\'()@:$&,;=+/?"
.field private static final UPPER_HEX_DIGITS:[C
.field private static final URI_ESCAPED_SPACE:[C
# instance fields
.field private final plusForSpace:Z
.field private final safeOctets:[Z
# direct methods
.method public static constructor <clinit>()V
.locals 3
const/4 v0, 0x1
new-array v0, v0, [C
const/4 v1, 0x0
const/16 v2, 0x2b
aput-char v2, v0, v1
.line 1
sput-object v0, Lcom/google/api/client/util/escape/PercentEscaper;->URI_ESCAPED_SPACE:[C
const-string v0, "0123456789ABCDEF"
.line 2
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
sput-object v0, Lcom/google/api/client/util/escape/PercentEscaper;->UPPER_HEX_DIGITS:[C
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Z)V
.locals 1
.line 1
invoke-direct {p0}, Lcom/google/api/client/util/escape/UnicodeEscaper;-><init>()V
const-string v0, ".*[0-9A-Za-z].*"
.line 2
invoke-virtual {p1, v0}, Ljava/lang/String;->matches(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_3
if-eqz p2, :cond_1
const-string v0, " "
.line 3
invoke-virtual {p1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_0
goto :goto_0
.line 4
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "plusForSpace cannot be specified when space is a \'safe\' character"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_1
:goto_0
const-string v0, "%"
.line 5
invoke-virtual {p1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_2
.line 6
iput-boolean p2, p0, Lcom/google/api/client/util/escape/PercentEscaper;->plusForSpace:Z
.line 7
invoke-static {p1}, Lcom/google/api/client/util/escape/PercentEscaper;->createSafeOctets(Ljava/lang/String;)[Z
move-result-object p1
iput-object p1, p0, Lcom/google/api/client/util/escape/PercentEscaper;->safeOctets:[Z
return-void
.line 8
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "The \'%\' character cannot be specified as \'safe\'"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 9
:cond_3
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Alphanumeric characters are always \'safe\' and should not be explicitly specified"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method private static createSafeOctets(Ljava/lang/String;)[Z
.locals 6
.line 1
invoke-virtual {p0}, Ljava/lang/String;->toCharArray()[C
move-result-object p0
.line 2
array-length v0, p0
const/4 v1, 0x0
const/16 v2, 0x7a
move v3, v1
move v4, v2
:goto_0
if-ge v3, v0, :cond_0
aget-char v5, p0, v3
.line 3
invoke-static {v5, v4}, Ljava/lang/Math;->max(II)I
move-result v4
add-int/lit8 v3, v3, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x1
add-int/2addr v4, v0
.line 4
new-array v3, v4, [Z
const/16 v4, 0x30
:goto_1
const/16 v5, 0x39
if-gt v4, v5, :cond_1
.line 5
aput-boolean v0, v3, v4
add-int/lit8 v4, v4, 0x1
goto :goto_1
:cond_1
const/16 v4, 0x41
:goto_2
const/16 v5, 0x5a
if-gt v4, v5, :cond_2
.line 6
aput-boolean v0, v3, v4
add-int/lit8 v4, v4, 0x1
goto :goto_2
:cond_2
const/16 v4, 0x61
:goto_3
if-gt v4, v2, :cond_3
.line 7
aput-boolean v0, v3, v4
add-int/lit8 v4, v4, 0x1
goto :goto_3
.line 8
:cond_3
array-length v2, p0
:goto_4
if-ge v1, v2, :cond_4
aget-char v4, p0, v1
.line 9
aput-boolean v0, v3, v4
add-int/lit8 v1, v1, 0x1
goto :goto_4
:cond_4
return-object v3
.end method
# virtual methods
.method public escape(Ljava/lang/String;)Ljava/lang/String;
.locals 5
.line 1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_2
.line 2
invoke-virtual {p1, v1}, Ljava/lang/String;->charAt(I)C
move-result v2
.line 3
iget-object v3, p0, Lcom/google/api/client/util/escape/PercentEscaper;->safeOctets:[Z
array-length v4, v3
if-ge v2, v4, :cond_1
aget-boolean v2, v3, v2
if-nez v2, :cond_0
goto :goto_1
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 4
:cond_1
:goto_1
invoke-virtual {p0, p1, v1}, Lcom/google/api/client/util/escape/UnicodeEscaper;->escapeSlow(Ljava/lang/String;I)Ljava/lang/String;
move-result-object p1
:cond_2
return-object p1
.end method
.method public escape(I)[C
.locals 13
.line 5
iget-object v0, p0, Lcom/google/api/client/util/escape/PercentEscaper;->safeOctets:[Z
array-length v1, v0
if-ge p1, v1, :cond_0
aget-boolean v0, v0, p1
if-eqz v0, :cond_0
const/4 p1, 0x0
return-object p1
:cond_0
const/16 v0, 0x20
if-ne p1, v0, :cond_1
.line 6
iget-boolean v0, p0, Lcom/google/api/client/util/escape/PercentEscaper;->plusForSpace:Z
if-eqz v0, :cond_1
.line 7
sget-object p1, Lcom/google/api/client/util/escape/PercentEscaper;->URI_ESCAPED_SPACE:[C
return-object p1
:cond_1
const/16 v0, 0x7f
const/4 v1, 0x1
const/4 v2, 0x0
const/4 v3, 0x2
const/16 v4, 0x25
const/4 v5, 0x3
const/4 v6, 0x4
if-gt p1, v0, :cond_2
new-array v0, v5, [C
aput-char v4, v0, v2
.line 8
sget-object v2, Lcom/google/api/client/util/escape/PercentEscaper;->UPPER_HEX_DIGITS:[C
and-int/lit8 v4, p1, 0xf
aget-char v4, v2, v4
aput-char v4, v0, v3
ushr-int/2addr p1, v6
.line 9
aget-char p1, v2, p1
aput-char p1, v0, v1
return-object v0
:cond_2
const/16 v0, 0x7ff
const/16 v7, 0xc
const/4 v8, 0x5
const/4 v9, 0x6
const/16 v10, 0x8
if-gt p1, v0, :cond_3
new-array v0, v9, [C
aput-char v4, v0, v2
aput-char v4, v0, v5
.line 10
sget-object v2, Lcom/google/api/client/util/escape/PercentEscaper;->UPPER_HEX_DIGITS:[C
and-int/lit8 v4, p1, 0xf
aget-char v4, v2, v4
aput-char v4, v0, v8
ushr-int/2addr p1, v6
and-int/lit8 v4, p1, 0x3
or-int/2addr v4, v10
.line 11
aget-char v4, v2, v4
aput-char v4, v0, v6
ushr-int/2addr p1, v3
and-int/lit8 v4, p1, 0xf
.line 12
aget-char v4, v2, v4
aput-char v4, v0, v3
ushr-int/2addr p1, v6
or-int/2addr p1, v7
.line 13
aget-char p1, v2, p1
aput-char p1, v0, v1
return-object v0
:cond_3
const v0, 0xffff
const/16 v11, 0x9
const/4 v12, 0x7
if-gt p1, v0, :cond_4
new-array v0, v11, [C
aput-char v4, v0, v2
const/16 v2, 0x45
aput-char v2, v0, v1
aput-char v4, v0, v5
aput-char v4, v0, v9
.line 14
sget-object v1, Lcom/google/api/client/util/escape/PercentEscaper;->UPPER_HEX_DIGITS:[C
and-int/lit8 v2, p1, 0xf
aget-char v2, v1, v2
aput-char v2, v0, v10
ushr-int/2addr p1, v6
and-int/lit8 v2, p1, 0x3
or-int/2addr v2, v10
.line 15
aget-char v2, v1, v2
aput-char v2, v0, v12
ushr-int/2addr p1, v3
and-int/lit8 v2, p1, 0xf
.line 16
aget-char v2, v1, v2
aput-char v2, v0, v8
ushr-int/2addr p1, v6
and-int/lit8 v2, p1, 0x3
or-int/2addr v2, v10
.line 17
aget-char v2, v1, v2
aput-char v2, v0, v6
ushr-int/2addr p1, v3
.line 18
aget-char p1, v1, p1
aput-char p1, v0, v3
return-object v0
:cond_4
const v0, 0x10ffff
if-gt p1, v0, :cond_5
new-array v0, v7, [C
aput-char v4, v0, v2
const/16 v2, 0x46
aput-char v2, v0, v1
aput-char v4, v0, v5
aput-char v4, v0, v9
aput-char v4, v0, v11
const/16 v1, 0xb
.line 19
sget-object v2, Lcom/google/api/client/util/escape/PercentEscaper;->UPPER_HEX_DIGITS:[C
and-int/lit8 v4, p1, 0xf
aget-char v4, v2, v4
aput-char v4, v0, v1
ushr-int/2addr p1, v6
const/16 v1, 0xa
and-int/lit8 v4, p1, 0x3
or-int/2addr v4, v10
.line 20
aget-char v4, v2, v4
aput-char v4, v0, v1
ushr-int/2addr p1, v3
and-int/lit8 v1, p1, 0xf
.line 21
aget-char v1, v2, v1
aput-char v1, v0, v10
ushr-int/2addr p1, v6
and-int/lit8 v1, p1, 0x3
or-int/2addr v1, v10
.line 22
aget-char v1, v2, v1
aput-char v1, v0, v12
ushr-int/2addr p1, v3
and-int/lit8 v1, p1, 0xf
.line 23
aget-char v1, v2, v1
aput-char v1, v0, v8
ushr-int/2addr p1, v6
and-int/lit8 v1, p1, 0x3
or-int/2addr v1, v10
.line 24
aget-char v1, v2, v1
aput-char v1, v0, v6
ushr-int/2addr p1, v3
and-int/2addr p1, v12
.line 25
aget-char p1, v2, p1
aput-char p1, v0, v3
return-object v0
.line 26
:cond_5
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Invalid unicode character value "
invoke-static {v1, p1}, Landroid/support/v4/media/b;->a(Ljava/lang/String;I)Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public nextEscapeIndex(Ljava/lang/CharSequence;II)I
.locals 3
:goto_0
if-ge p2, p3, :cond_1
.line 1
invoke-interface {p1, p2}, Ljava/lang/CharSequence;->charAt(I)C
move-result v0
.line 2
iget-object v1, p0, Lcom/google/api/client/util/escape/PercentEscaper;->safeOctets:[Z
array-length v2, v1
if-ge v0, v2, :cond_1
aget-boolean v0, v1, v0
if-nez v0, :cond_0
goto :goto_1
:cond_0
add-int/lit8 p2, p2, 0x1
goto :goto_0
:cond_1
:goto_1
return p2
.end method
@@ -0,0 +1,55 @@
.class final Lcom/google/api/client/util/escape/Platform$1;
.super Ljava/lang/ThreadLocal;
.source "Platform.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/escape/Platform;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"[C>;"
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/ThreadLocal;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic initialValue()Ljava/lang/Object;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/escape/Platform$1;->initialValue()[C
move-result-object v0
return-object v0
.end method
.method public initialValue()[C
.locals 1
const/16 v0, 0x400
new-array v0, v0, [C
return-object v0
.end method
@@ -0,0 +1,53 @@
.class final Lcom/google/api/client/util/escape/Platform;
.super Ljava/lang/Object;
.source "Platform.java"
# static fields
.field private static final DEST_TL:Ljava/lang/ThreadLocal;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"[C>;"
}
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/api/client/util/escape/Platform$1;
invoke-direct {v0}, Lcom/google/api/client/util/escape/Platform$1;-><init>()V
sput-object v0, Lcom/google/api/client/util/escape/Platform;->DEST_TL:Ljava/lang/ThreadLocal;
return-void
.end method
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static charBufferFromThreadLocal()[C
.locals 1
.line 1
sget-object v0, Lcom/google/api/client/util/escape/Platform;->DEST_TL:Ljava/lang/ThreadLocal;
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, [C
return-object v0
.end method
@@ -0,0 +1,335 @@
.class public abstract Lcom/google/api/client/util/escape/UnicodeEscaper;
.super Lcom/google/api/client/util/escape/Escaper;
.source "UnicodeEscaper.java"
# static fields
.field private static final DEST_PAD:I = 0x20
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/api/client/util/escape/Escaper;-><init>()V
return-void
.end method
.method public static codePointAt(Ljava/lang/CharSequence;II)I
.locals 4
if-ge p1, p2, :cond_5
add-int/lit8 v0, p1, 0x1
.line 1
invoke-interface {p0, p1}, Ljava/lang/CharSequence;->charAt(I)C
move-result p1
const v1, 0xd800
if-lt p1, v1, :cond_4
const v1, 0xdfff
if-le p1, v1, :cond_0
goto :goto_0
:cond_0
const v1, 0xdbff
const-string v2, " at index "
const-string v3, "\' with value "
if-gt p1, v1, :cond_3
if-ne v0, p2, :cond_1
neg-int p0, p1
return p0
.line 2
:cond_1
invoke-interface {p0, v0}, Ljava/lang/CharSequence;->charAt(I)C
move-result p0
.line 3
invoke-static {p0}, Ljava/lang/Character;->isLowSurrogate(C)Z
move-result p2
if-eqz p2, :cond_2
.line 4
invoke-static {p1, p0}, Ljava/lang/Character;->toCodePoint(CC)I
move-result p0
return p0
.line 5
:cond_2
new-instance p1, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Expected low surrogate but got char \'"
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {p2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 6
:cond_3
new-instance p0, Ljava/lang/IllegalArgumentException;
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Unexpected low surrogate character \'"
invoke-virtual {p2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {p2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v0, v0, -0x1
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
:cond_4
:goto_0
return p1
.line 7
:cond_5
new-instance p0, Ljava/lang/IndexOutOfBoundsException;
const-string p1, "Index exceeds specified range"
invoke-direct {p0, p1}, Ljava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method private static growBuffer([CII)[C
.locals 1
.line 1
new-array p2, p2, [C
if-lez p1, :cond_0
const/4 v0, 0x0
.line 2
invoke-static {p0, v0, p2, v0, p1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
:cond_0
return-object p2
.end method
# virtual methods
.method public abstract escape(Ljava/lang/String;)Ljava/lang/String;
.end method
.method public abstract escape(I)[C
.end method
.method public final escapeSlow(Ljava/lang/String;I)Ljava/lang/String;
.locals 11
.line 1
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
.line 2
invoke-static {}, Lcom/google/api/client/util/escape/Platform;->charBufferFromThreadLocal()[C
move-result-object v1
const/4 v2, 0x0
move v3, v2
move v4, v3
:goto_0
if-ge p2, v0, :cond_6
.line 3
invoke-static {p1, p2, v0}, Lcom/google/api/client/util/escape/UnicodeEscaper;->codePointAt(Ljava/lang/CharSequence;II)I
move-result v5
if-ltz v5, :cond_5
.line 4
invoke-virtual {p0, v5}, Lcom/google/api/client/util/escape/UnicodeEscaper;->escape(I)[C
move-result-object v6
.line 5
invoke-static {v5}, Ljava/lang/Character;->isSupplementaryCodePoint(I)Z
move-result v5
if-eqz v5, :cond_0
const/4 v5, 0x2
goto :goto_1
:cond_0
const/4 v5, 0x1
:goto_1
add-int/2addr v5, p2
if-eqz v6, :cond_4
sub-int v7, p2, v3
add-int v8, v4, v7
.line 6
array-length v9, v6
add-int/2addr v9, v8
.line 7
array-length v10, v1
if-ge v10, v9, :cond_1
add-int/2addr v9, v0
sub-int/2addr v9, p2
add-int/lit8 v9, v9, 0x20
.line 8
invoke-static {v1, v4, v9}, Lcom/google/api/client/util/escape/UnicodeEscaper;->growBuffer([CII)[C
move-result-object v1
:cond_1
if-lez v7, :cond_2
.line 9
invoke-virtual {p1, v3, p2, v1, v4}, Ljava/lang/String;->getChars(II[CI)V
move v4, v8
.line 10
:cond_2
array-length p2, v6
if-lez p2, :cond_3
.line 11
array-length p2, v6
invoke-static {v6, v2, v1, v4, p2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 12
array-length p2, v6
add-int/2addr v4, p2
:cond_3
move v3, v5
.line 13
:cond_4
invoke-virtual {p0, p1, v5, v0}, Lcom/google/api/client/util/escape/UnicodeEscaper;->nextEscapeIndex(Ljava/lang/CharSequence;II)I
move-result p2
goto :goto_0
.line 14
:cond_5
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Trailing high surrogate at end of input"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_6
sub-int p2, v0, v3
if-lez p2, :cond_8
add-int/2addr p2, v4
.line 15
array-length v5, v1
if-ge v5, p2, :cond_7
.line 16
invoke-static {v1, v4, p2}, Lcom/google/api/client/util/escape/UnicodeEscaper;->growBuffer([CII)[C
move-result-object v1
.line 17
:cond_7
invoke-virtual {p1, v3, v0, v1, v4}, Ljava/lang/String;->getChars(II[CI)V
move v4, p2
.line 18
:cond_8
new-instance p1, Ljava/lang/String;
invoke-direct {p1, v1, v2, v4}, Ljava/lang/String;-><init>([CII)V
return-object p1
.end method
.method public abstract nextEscapeIndex(Ljava/lang/CharSequence;II)I
.end method
@@ -0,0 +1,172 @@
.class public abstract Lcom/google/api/client/util/store/AbstractDataStore;
.super Ljava/lang/Object;
.source "AbstractDataStore.java"
# interfaces
.implements Lcom/google/api/client/util/store/DataStore;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<V::",
"Ljava/io/Serializable;",
">",
"Ljava/lang/Object;",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
# instance fields
.field private final dataStoreFactory:Lcom/google/api/client/util/store/DataStoreFactory;
.field private final id:Ljava/lang/String;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/store/DataStoreFactory;Ljava/lang/String;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/api/client/util/store/DataStoreFactory;
iput-object p1, p0, Lcom/google/api/client/util/store/AbstractDataStore;->dataStoreFactory:Lcom/google/api/client/util/store/DataStoreFactory;
.line 3
invoke-static {p2}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/String;
iput-object p1, p0, Lcom/google/api/client/util/store/AbstractDataStore;->id:Ljava/lang/String;
return-void
.end method
# virtual methods
.method public containsKey(Ljava/lang/String;)Z
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-interface {p0, p1}, Lcom/google/api/client/util/store/DataStore;->get(Ljava/lang/String;)Ljava/io/Serializable;
move-result-object p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
.method public containsValue(Ljava/io/Serializable;)Z
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(TV;)Z"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-interface {p0}, Lcom/google/api/client/util/store/DataStore;->values()Ljava/util/Collection;
move-result-object v0
invoke-interface {v0, p1}, Ljava/util/Collection;->contains(Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public getDataStoreFactory()Lcom/google/api/client/util/store/DataStoreFactory;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractDataStore;->dataStoreFactory:Lcom/google/api/client/util/store/DataStoreFactory;
return-object v0
.end method
.method public final getId()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractDataStore;->id:Ljava/lang/String;
return-object v0
.end method
.method public isEmpty()Z
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/store/AbstractDataStore;->size()I
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public size()I
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-interface {p0}, Lcom/google/api/client/util/store/DataStore;->keySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->size()I
move-result v0
return v0
.end method
@@ -0,0 +1,183 @@
.class public abstract Lcom/google/api/client/util/store/AbstractDataStoreFactory;
.super Ljava/lang/Object;
.source "AbstractDataStoreFactory.java"
# interfaces
.implements Lcom/google/api/client/util/store/DataStoreFactory;
# static fields
.field private static final ID_PATTERN:Ljava/util/regex/Pattern;
# instance fields
.field private final dataStoreMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Lcom/google/api/client/util/store/DataStore<",
"+",
"Ljava/io/Serializable;",
">;>;"
}
.end annotation
.end field
.field private final lock:Ljava/util/concurrent/locks/Lock;
# direct methods
.method public static constructor <clinit>()V
.locals 1
const-string v0, "\\w{1,30}"
.line 1
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
sput-object v0, Lcom/google/api/client/util/store/AbstractDataStoreFactory;->ID_PATTERN:Ljava/util/regex/Pattern;
return-void
.end method
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/locks/ReentrantLock;
invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantLock;-><init>()V
iput-object v0, p0, Lcom/google/api/client/util/store/AbstractDataStoreFactory;->lock:Ljava/util/concurrent/locks/Lock;
.line 3
invoke-static {}, Lcom/google/api/client/util/Maps;->newHashMap()Ljava/util/HashMap;
move-result-object v0
iput-object v0, p0, Lcom/google/api/client/util/store/AbstractDataStoreFactory;->dataStoreMap:Ljava/util/Map;
return-void
.end method
# virtual methods
.method public abstract createDataStore(Ljava/lang/String;)Lcom/google/api/client/util/store/DataStore;
.annotation system Ldalvik/annotation/Signature;
value = {
"<V::",
"Ljava/io/Serializable;",
">(",
"Ljava/lang/String;",
")",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public final getDataStore(Ljava/lang/String;)Lcom/google/api/client/util/store/DataStore;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<V::",
"Ljava/io/Serializable;",
">(",
"Ljava/lang/String;",
")",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
sget-object v0, Lcom/google/api/client/util/store/AbstractDataStoreFactory;->ID_PATTERN:Ljava/util/regex/Pattern;
invoke-virtual {v0, p1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v1
invoke-virtual {v1}, Ljava/util/regex/Matcher;->matches()Z
move-result v1
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const/4 v3, 0x1
aput-object v0, v2, v3
const-string v0, "%s does not match pattern %s"
invoke-static {v1, v0, v2}, Lcom/google/api/client/util/Preconditions;->checkArgument(ZLjava/lang/String;[Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractDataStoreFactory;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 3
:try_start_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractDataStoreFactory;->dataStoreMap:Ljava/util/Map;
invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/google/api/client/util/store/DataStore;
if-nez v0, :cond_0
.line 4
invoke-virtual {p0, p1}, Lcom/google/api/client/util/store/AbstractDataStoreFactory;->createDataStore(Ljava/lang/String;)Lcom/google/api/client/util/store/DataStore;
move-result-object v0
.line 5
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractDataStoreFactory;->dataStoreMap:Ljava/util/Map;
invoke-interface {v1, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 6
:cond_0
iget-object p1, p0, Lcom/google/api/client/util/store/AbstractDataStoreFactory;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {p1}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-object v0
:catchall_0
move-exception p1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractDataStoreFactory;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p1
.end method
@@ -0,0 +1,661 @@
.class Lcom/google/api/client/util/store/AbstractMemoryDataStore;
.super Lcom/google/api/client/util/store/AbstractDataStore;
.source "AbstractMemoryDataStore.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<V::",
"Ljava/io/Serializable;",
">",
"Lcom/google/api/client/util/store/AbstractDataStore<",
"TV;>;"
}
.end annotation
# instance fields
.field public keyValueMap:Ljava/util/HashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"[B>;"
}
.end annotation
.end field
.field private final lock:Ljava/util/concurrent/locks/Lock;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/store/DataStoreFactory;Ljava/lang/String;)V
.locals 0
.line 1
invoke-direct {p0, p1, p2}, Lcom/google/api/client/util/store/AbstractDataStore;-><init>(Lcom/google/api/client/util/store/DataStoreFactory;Ljava/lang/String;)V
.line 2
new-instance p1, Ljava/util/concurrent/locks/ReentrantLock;
invoke-direct {p1}, Ljava/util/concurrent/locks/ReentrantLock;-><init>()V
iput-object p1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
.line 3
invoke-static {}, Lcom/google/api/client/util/Maps;->newHashMap()Ljava/util/HashMap;
move-result-object p1
iput-object p1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
return-void
.end method
# virtual methods
.method public final clear()Lcom/google/api/client/util/store/DataStore;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->clear()V
.line 3
invoke-virtual {p0}, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->save()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 4
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-object p0
:catchall_0
move-exception v0
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
.method public containsKey(Ljava/lang/String;)Z
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-nez p1, :cond_0
const/4 p1, 0x0
return p1
.line 1
:cond_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
move-result p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return p1
:catchall_0
move-exception p1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p1
.end method
.method public containsValue(Ljava/io/Serializable;)Z
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(TV;)Z"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const/4 v0, 0x0
if-nez p1, :cond_0
return v0
.line 1
:cond_0
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
invoke-static {p1}, Lcom/google/api/client/util/IOUtils;->serialize(Ljava/lang/Object;)[B
move-result-object p1
.line 3
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
invoke-virtual {v1}, Ljava/util/HashMap;->values()Ljava/util/Collection;
move-result-object v1
invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_1
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, [B
.line 4
invoke-static {p1, v2}, Ljava/util/Arrays;->equals([B[B)Z
move-result v2
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v2, :cond_1
const/4 p1, 0x1
.line 5
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return p1
:cond_2
iget-object p1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {p1}, Ljava/util/concurrent/locks/Lock;->unlock()V
return v0
:catchall_0
move-exception p1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p1
.end method
.method public delete(Ljava/lang/String;)Lcom/google/api/client/util/store/DataStore;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-nez p1, :cond_0
return-object p0
.line 1
:cond_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
invoke-virtual {p0}, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->save()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 4
iget-object p1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {p1}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-object p0
:catchall_0
move-exception p1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p1
.end method
.method public final get(Ljava/lang/String;)Ljava/io/Serializable;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")TV;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
if-nez p1, :cond_0
const/4 p1, 0x0
return-object p1
.line 1
:cond_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, [B
invoke-static {p1}, Lcom/google/api/client/util/IOUtils;->deserialize([B)Ljava/io/Serializable;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-object p1
:catchall_0
move-exception p1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p1
.end method
.method public isEmpty()Z
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->isEmpty()Z
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
return v0
:catchall_0
move-exception v0
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
.method public final keySet()Ljava/util/Set;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Ljava/lang/String;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->keySet()Ljava/util/Set;
move-result-object v0
invoke-static {v0}, Ljava/util/Collections;->unmodifiableSet(Ljava/util/Set;)Ljava/util/Set;
move-result-object v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-object v0
:catchall_0
move-exception v0
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
.method public save()V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
return-void
.end method
.method public final set(Ljava/lang/String;Ljava/io/Serializable;)Lcom/google/api/client/util/store/DataStore;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"TV;)",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-static {p1}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-static {p2}, Lcom/google/api/client/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 4
:try_start_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
invoke-static {p2}, Lcom/google/api/client/util/IOUtils;->serialize(Ljava/lang/Object;)[B
move-result-object p2
invoke-virtual {v0, p1, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5
invoke-virtual {p0}, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->save()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 6
iget-object p1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {p1}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-object p0
:catchall_0
move-exception p1
iget-object p2, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {p2}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p1
.end method
.method public size()I
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->size()I
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
return v0
:catchall_0
move-exception v0
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
invoke-static {p0}, Lcom/google/api/client/util/store/DataStoreUtils;->toString(Lcom/google/api/client/util/store/DataStore;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final values()Ljava/util/Collection;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Collection<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 2
:try_start_0
invoke-static {}, Lcom/google/api/client/util/Lists;->newArrayList()Ljava/util/ArrayList;
move-result-object v0
.line 3
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
invoke-virtual {v1}, Ljava/util/HashMap;->values()Ljava/util/Collection;
move-result-object v1
invoke-interface {v1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_0
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, [B
.line 4
invoke-static {v2}, Lcom/google/api/client/util/IOUtils;->deserialize([B)Ljava/io/Serializable;
move-result-object v2
invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
.line 5
:cond_0
invoke-static {v0}, Ljava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
move-result-object v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 6
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-object v0
:catchall_0
move-exception v0
iget-object v1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->lock:Ljava/util/concurrent/locks/Lock;
invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw v0
.end method
@@ -0,0 +1,161 @@
.class public interface abstract Lcom/google/api/client/util/store/DataStore;
.super Ljava/lang/Object;
.source "DataStore.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<V::",
"Ljava/io/Serializable;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract clear()Lcom/google/api/client/util/store/DataStore;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract containsKey(Ljava/lang/String;)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract containsValue(Ljava/io/Serializable;)Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(TV;)Z"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract delete(Ljava/lang/String;)Lcom/google/api/client/util/store/DataStore;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract get(Ljava/lang/String;)Ljava/io/Serializable;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")TV;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract getDataStoreFactory()Lcom/google/api/client/util/store/DataStoreFactory;
.end method
.method public abstract getId()Ljava/lang/String;
.end method
.method public abstract isEmpty()Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract keySet()Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Ljava/lang/String;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract set(Ljava/lang/String;Ljava/io/Serializable;)Lcom/google/api/client/util/store/DataStore;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"TV;)",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract size()I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public abstract values()Ljava/util/Collection;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Collection<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
@@ -0,0 +1,25 @@
.class public interface abstract Lcom/google/api/client/util/store/DataStoreFactory;
.super Ljava/lang/Object;
.source "DataStoreFactory.java"
# virtual methods
.method public abstract getDataStore(Ljava/lang/String;)Lcom/google/api/client/util/store/DataStore;
.annotation system Ldalvik/annotation/Signature;
value = {
"<V::",
"Ljava/io/Serializable;",
">(",
"Ljava/lang/String;",
")",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
@@ -0,0 +1,113 @@
.class public final Lcom/google/api/client/util/store/DataStoreUtils;
.super Ljava/lang/Object;
.source "DataStoreUtils.java"
# direct methods
.method private constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static toString(Lcom/google/api/client/util/store/DataStore;)Ljava/lang/String;
.locals 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/api/client/util/store/DataStore<",
"*>;)",
"Ljava/lang/String;"
}
.end annotation
.line 1
:try_start_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/16 v1, 0x7b
.line 2
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v1, 0x1
.line 3
invoke-interface {p0}, Lcom/google/api/client/util/store/DataStore;->keySet()Ljava/util/Set;
move-result-object v2
invoke-interface {v2}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_0
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_1
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/String;
if-eqz v1, :cond_0
const/4 v1, 0x0
goto :goto_1
:cond_0
const-string v4, ", "
.line 4
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 5
:goto_1
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v4, 0x3d
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-interface {p0, v3}, Lcom/google/api/client/util/store/DataStore;->get(Ljava/lang/String;)Ljava/io/Serializable;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
goto :goto_0
:cond_1
const/16 p0, 0x7d
.line 6
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
move-exception p0
.line 7
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
@@ -0,0 +1,162 @@
.class Lcom/google/api/client/util/store/FileDataStoreFactory$FileDataStore;
.super Lcom/google/api/client/util/store/AbstractMemoryDataStore;
.source "FileDataStoreFactory.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/store/FileDataStoreFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "FileDataStore"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V::",
"Ljava/io/Serializable;",
">",
"Lcom/google/api/client/util/store/AbstractMemoryDataStore<",
"TV;>;"
}
.end annotation
# instance fields
.field private final dataFile:Ljava/io/File;
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/store/FileDataStoreFactory;Ljava/io/File;Ljava/lang/String;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-direct {p0, p1, p3}, Lcom/google/api/client/util/store/AbstractMemoryDataStore;-><init>(Lcom/google/api/client/util/store/DataStoreFactory;Ljava/lang/String;)V
.line 2
new-instance p1, Ljava/io/File;
invoke-direct {p1, p2, p3}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
iput-object p1, p0, Lcom/google/api/client/util/store/FileDataStoreFactory$FileDataStore;->dataFile:Ljava/io/File;
.line 3
invoke-static {p1}, Lcom/google/api/client/util/IOUtils;->isSymbolicLink(Ljava/io/File;)Z
move-result p2
if-nez p2, :cond_1
.line 4
invoke-virtual {p1}, Ljava/io/File;->createNewFile()Z
move-result p2
if-eqz p2, :cond_0
.line 5
invoke-static {}, Lcom/google/api/client/util/Maps;->newHashMap()Ljava/util/HashMap;
move-result-object p1
iput-object p1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
.line 6
invoke-virtual {p0}, Lcom/google/api/client/util/store/FileDataStoreFactory$FileDataStore;->save()V
goto :goto_0
.line 7
:cond_0
new-instance p2, Ljava/io/FileInputStream;
invoke-direct {p2, p1}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
invoke-static {p2}, Lcom/google/api/client/util/IOUtils;->deserialize(Ljava/io/InputStream;)Ljava/io/Serializable;
move-result-object p1
check-cast p1, Ljava/util/HashMap;
iput-object p1, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
:goto_0
return-void
.line 8
:cond_1
new-instance p2, Ljava/io/IOException;
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "unable to use a symbolic link: "
invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p2
.end method
# virtual methods
.method public bridge synthetic getDataStoreFactory()Lcom/google/api/client/util/store/DataStoreFactory;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/store/FileDataStoreFactory$FileDataStore;->getDataStoreFactory()Lcom/google/api/client/util/store/FileDataStoreFactory;
move-result-object v0
return-object v0
.end method
.method public getDataStoreFactory()Lcom/google/api/client/util/store/FileDataStoreFactory;
.locals 1
.line 2
invoke-super {p0}, Lcom/google/api/client/util/store/AbstractDataStore;->getDataStoreFactory()Lcom/google/api/client/util/store/DataStoreFactory;
move-result-object v0
check-cast v0, Lcom/google/api/client/util/store/FileDataStoreFactory;
return-object v0
.end method
.method public save()V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/api/client/util/store/AbstractMemoryDataStore;->keyValueMap:Ljava/util/HashMap;
new-instance v1, Ljava/io/FileOutputStream;
iget-object v2, p0, Lcom/google/api/client/util/store/FileDataStoreFactory$FileDataStore;->dataFile:Ljava/io/File;
invoke-direct {v1, v2}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
invoke-static {v0, v1}, Lcom/google/api/client/util/IOUtils;->serialize(Ljava/lang/Object;Ljava/io/OutputStream;)V
return-void
.end method
@@ -0,0 +1,449 @@
.class public Lcom/google/api/client/util/store/FileDataStoreFactory;
.super Lcom/google/api/client/util/store/AbstractDataStoreFactory;
.source "FileDataStoreFactory.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/api/client/util/store/FileDataStoreFactory$FileDataStore;
}
.end annotation
# static fields
.field private static final LOGGER:Ljava/util/logging/Logger;
# instance fields
.field private final dataDirectory:Ljava/io/File;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
const-class v0, Lcom/google/api/client/util/store/FileDataStoreFactory;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object v0
sput-object v0, Lcom/google/api/client/util/store/FileDataStoreFactory;->LOGGER:Ljava/util/logging/Logger;
return-void
.end method
.method public constructor <init>(Ljava/io/File;)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-direct {p0}, Lcom/google/api/client/util/store/AbstractDataStoreFactory;-><init>()V
.line 2
invoke-virtual {p1}, Ljava/io/File;->getCanonicalFile()Ljava/io/File;
move-result-object p1
.line 3
iput-object p1, p0, Lcom/google/api/client/util/store/FileDataStoreFactory;->dataDirectory:Ljava/io/File;
.line 4
invoke-static {p1}, Lcom/google/api/client/util/IOUtils;->isSymbolicLink(Ljava/io/File;)Z
move-result v0
if-nez v0, :cond_2
.line 5
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_1
invoke-virtual {p1}, Ljava/io/File;->mkdirs()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
.line 6
:cond_0
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "unable to create directory: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 7
:cond_1
:goto_0
invoke-static {p1}, Lcom/google/api/client/util/store/FileDataStoreFactory;->setPermissionsToOwnerOnly(Ljava/io/File;)V
return-void
.line 8
:cond_2
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "unable to use a symbolic link: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static setPermissionsToOwnerOnly(Ljava/io/File;)V
.locals 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
:try_start_0
const-class v0, Ljava/io/File;
const-string v1, "setReadable"
const/4 v2, 0x2
new-array v3, v2, [Ljava/lang/Class;
sget-object v4, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
const/4 v5, 0x0
aput-object v4, v3, v5
const/4 v6, 0x1
aput-object v4, v3, v6
invoke-virtual {v0, v1, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
.line 2
const-class v1, Ljava/io/File;
const-string v3, "setWritable"
new-array v7, v2, [Ljava/lang/Class;
aput-object v4, v7, v5
aput-object v4, v7, v6
invoke-virtual {v1, v3, v7}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
.line 3
const-class v3, Ljava/io/File;
const-string v7, "setExecutable"
new-array v8, v2, [Ljava/lang/Class;
aput-object v4, v8, v5
aput-object v4, v8, v6
invoke-virtual {v3, v7, v8}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v3
new-array v4, v2, [Ljava/lang/Object;
.line 4
sget-object v7, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;
aput-object v7, v4, v5
aput-object v7, v4, v6
invoke-virtual {v0, p0, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/Boolean;
invoke-virtual {v4}, Ljava/lang/Boolean;->booleanValue()Z
move-result v4
if-eqz v4, :cond_0
new-array v4, v2, [Ljava/lang/Object;
aput-object v7, v4, v5
aput-object v7, v4, v6
invoke-virtual {v1, p0, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/Boolean;
invoke-virtual {v4}, Ljava/lang/Boolean;->booleanValue()Z
move-result v4
if-eqz v4, :cond_0
new-array v4, v2, [Ljava/lang/Object;
aput-object v7, v4, v5
aput-object v7, v4, v6
invoke-virtual {v3, p0, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/Boolean;
invoke-virtual {v4}, Ljava/lang/Boolean;->booleanValue()Z
move-result v4
if-nez v4, :cond_1
.line 5
:cond_0
sget-object v4, Lcom/google/api/client/util/store/FileDataStoreFactory;->LOGGER:Ljava/util/logging/Logger;
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
const-string v8, "unable to change permissions for everybody: "
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {v4, v7}, Ljava/util/logging/Logger;->warning(Ljava/lang/String;)V
:cond_1
new-array v4, v2, [Ljava/lang/Object;
.line 6
sget-object v7, Ljava/lang/Boolean;->TRUE:Ljava/lang/Boolean;
aput-object v7, v4, v5
aput-object v7, v4, v6
invoke-virtual {v0, p0, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
if-eqz v0, :cond_2
new-array v0, v2, [Ljava/lang/Object;
aput-object v7, v0, v5
aput-object v7, v0, v6
invoke-virtual {v1, p0, v0}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
if-eqz v0, :cond_2
new-array v0, v2, [Ljava/lang/Object;
aput-object v7, v0, v5
aput-object v7, v0, v6
invoke-virtual {v3, p0, v0}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
if-nez v0, :cond_3
.line 7
:cond_2
sget-object v0, Lcom/google/api/client/util/store/FileDataStoreFactory;->LOGGER:Ljava/util/logging/Logger;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "unable to change permissions for owner: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->warning(Ljava/lang/String;)V
:try_end_0
.catch Ljava/lang/reflect/InvocationTargetException; {:try_start_0 .. :try_end_0} :catch_2
.catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/IllegalAccessException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/IllegalArgumentException; {:try_start_0 .. :try_end_0} :catch_1
goto :goto_0
.line 8
:catch_0
sget-object v0, Lcom/google/api/client/util/store/FileDataStoreFactory;->LOGGER:Ljava/util/logging/Logger;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unable to set permissions for "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string p0, ", likely because you are running a version of Java prior to 1.6"
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/util/logging/Logger;->warning(Ljava/lang/String;)V
:catch_1
:cond_3
:goto_0
return-void
:catch_2
move-exception p0
.line 9
invoke-virtual {p0}, Ljava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;
move-result-object p0
.line 10
const-class v0, Ljava/io/IOException;
invoke-static {p0, v0}, Lcom/google/api/client/util/Throwables;->propagateIfPossible(Ljava/lang/Throwable;Ljava/lang/Class;)V
.line 11
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
# virtual methods
.method public createDataStore(Ljava/lang/String;)Lcom/google/api/client/util/store/DataStore;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"<V::",
"Ljava/io/Serializable;",
">(",
"Ljava/lang/String;",
")",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
new-instance v0, Lcom/google/api/client/util/store/FileDataStoreFactory$FileDataStore;
iget-object v1, p0, Lcom/google/api/client/util/store/FileDataStoreFactory;->dataDirectory:Ljava/io/File;
invoke-direct {v0, p0, v1, p1}, Lcom/google/api/client/util/store/FileDataStoreFactory$FileDataStore;-><init>(Lcom/google/api/client/util/store/FileDataStoreFactory;Ljava/io/File;Ljava/lang/String;)V
return-object v0
.end method
.method public final getDataDirectory()Ljava/io/File;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/api/client/util/store/FileDataStoreFactory;->dataDirectory:Ljava/io/File;
return-object v0
.end method
@@ -0,0 +1,42 @@
.class Lcom/google/api/client/util/store/MemoryDataStoreFactory$InstanceHolder;
.super Ljava/lang/Object;
.source "MemoryDataStoreFactory.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/store/MemoryDataStoreFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "InstanceHolder"
.end annotation
# static fields
.field public static final INSTANCE:Lcom/google/api/client/util/store/MemoryDataStoreFactory;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/api/client/util/store/MemoryDataStoreFactory;
invoke-direct {v0}, Lcom/google/api/client/util/store/MemoryDataStoreFactory;-><init>()V
sput-object v0, Lcom/google/api/client/util/store/MemoryDataStoreFactory$InstanceHolder;->INSTANCE:Lcom/google/api/client/util/store/MemoryDataStoreFactory;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
@@ -0,0 +1,61 @@
.class Lcom/google/api/client/util/store/MemoryDataStoreFactory$MemoryDataStore;
.super Lcom/google/api/client/util/store/AbstractMemoryDataStore;
.source "MemoryDataStoreFactory.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/api/client/util/store/MemoryDataStoreFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "MemoryDataStore"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V::",
"Ljava/io/Serializable;",
">",
"Lcom/google/api/client/util/store/AbstractMemoryDataStore<",
"TV;>;"
}
.end annotation
# direct methods
.method public constructor <init>(Lcom/google/api/client/util/store/MemoryDataStoreFactory;Ljava/lang/String;)V
.locals 0
.line 1
invoke-direct {p0, p1, p2}, Lcom/google/api/client/util/store/AbstractMemoryDataStore;-><init>(Lcom/google/api/client/util/store/DataStoreFactory;Ljava/lang/String;)V
return-void
.end method
# virtual methods
.method public bridge synthetic getDataStoreFactory()Lcom/google/api/client/util/store/DataStoreFactory;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/api/client/util/store/MemoryDataStoreFactory$MemoryDataStore;->getDataStoreFactory()Lcom/google/api/client/util/store/MemoryDataStoreFactory;
move-result-object v0
return-object v0
.end method
.method public getDataStoreFactory()Lcom/google/api/client/util/store/MemoryDataStoreFactory;
.locals 1
.line 2
invoke-super {p0}, Lcom/google/api/client/util/store/AbstractDataStore;->getDataStoreFactory()Lcom/google/api/client/util/store/DataStoreFactory;
move-result-object v0
check-cast v0, Lcom/google/api/client/util/store/MemoryDataStoreFactory;
return-object v0
.end method
@@ -0,0 +1,62 @@
.class public Lcom/google/api/client/util/store/MemoryDataStoreFactory;
.super Lcom/google/api/client/util/store/AbstractDataStoreFactory;
.source "MemoryDataStoreFactory.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/api/client/util/store/MemoryDataStoreFactory$MemoryDataStore;,
Lcom/google/api/client/util/store/MemoryDataStoreFactory$InstanceHolder;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/api/client/util/store/AbstractDataStoreFactory;-><init>()V
return-void
.end method
.method public static getDefaultInstance()Lcom/google/api/client/util/store/MemoryDataStoreFactory;
.locals 1
.line 1
sget-object v0, Lcom/google/api/client/util/store/MemoryDataStoreFactory$InstanceHolder;->INSTANCE:Lcom/google/api/client/util/store/MemoryDataStoreFactory;
return-object v0
.end method
# virtual methods
.method public createDataStore(Ljava/lang/String;)Lcom/google/api/client/util/store/DataStore;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<V::",
"Ljava/io/Serializable;",
">(",
"Ljava/lang/String;",
")",
"Lcom/google/api/client/util/store/DataStore<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
new-instance v0, Lcom/google/api/client/util/store/MemoryDataStoreFactory$MemoryDataStore;
invoke-direct {v0, p0, p1}, Lcom/google/api/client/util/store/MemoryDataStoreFactory$MemoryDataStore;-><init>(Lcom/google/api/client/util/store/MemoryDataStoreFactory;Ljava/lang/String;)V
return-object v0
.end method