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,130 @@
.class final Lcom/google/common/util/concurrent/AbstractCatchingFuture$AsyncCatchingFuture;
.super Lcom/google/common/util/concurrent/AbstractCatchingFuture;
.source "AbstractCatchingFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractCatchingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "AsyncCatchingFuture"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
"X:",
"Ljava/lang/Throwable;",
">",
"Lcom/google/common/util/concurrent/AbstractCatchingFuture<",
"TV;TX;",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"-TX;+TV;>;",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;>;"
}
.end annotation
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/util/concurrent/AsyncFunction;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;",
"Ljava/lang/Class<",
"TX;>;",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"-TX;+TV;>;)V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2, p3}, Lcom/google/common/util/concurrent/AbstractCatchingFuture;-><init>(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Ljava/lang/Object;)V
return-void
.end method
# virtual methods
.method public doFallback(Lcom/google/common/util/concurrent/AsyncFunction;Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"-TX;+TV;>;TX;)",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 2
invoke-interface {p1, p2}, Lcom/google/common/util/concurrent/AsyncFunction;->apply(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p2
const-string v0, "AsyncFunction.apply returned null instead of a Future. Did you mean to return immediateFuture(null)? %s"
.line 3
invoke-static {p2, v0, p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
return-object p2
.end method
.method public bridge synthetic doFallback(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
check-cast p1, Lcom/google/common/util/concurrent/AsyncFunction;
invoke-virtual {p0, p1, p2}, Lcom/google/common/util/concurrent/AbstractCatchingFuture$AsyncCatchingFuture;->doFallback(Lcom/google/common/util/concurrent/AsyncFunction;Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
return-object p1
.end method
.method public setResult(Lcom/google/common/util/concurrent/ListenableFuture;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;)V"
}
.end annotation
.line 2
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractFuture;->setFuture(Lcom/google/common/util/concurrent/ListenableFuture;)Z
return-void
.end method
.method public bridge synthetic setResult(Ljava/lang/Object;)V
.locals 0
.line 1
check-cast p1, Lcom/google/common/util/concurrent/ListenableFuture;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractCatchingFuture$AsyncCatchingFuture;->setResult(Lcom/google/common/util/concurrent/ListenableFuture;)V
return-void
.end method
@@ -0,0 +1,118 @@
.class final Lcom/google/common/util/concurrent/AbstractCatchingFuture$CatchingFuture;
.super Lcom/google/common/util/concurrent/AbstractCatchingFuture;
.source "AbstractCatchingFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractCatchingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "CatchingFuture"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
"X:",
"Ljava/lang/Throwable;",
">",
"Lcom/google/common/util/concurrent/AbstractCatchingFuture<",
"TV;TX;",
"Lcom/google/common/base/Function<",
"-TX;+TV;>;TV;>;"
}
.end annotation
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/base/Function;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;",
"Ljava/lang/Class<",
"TX;>;",
"Lcom/google/common/base/Function<",
"-TX;+TV;>;)V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2, p3}, Lcom/google/common/util/concurrent/AbstractCatchingFuture;-><init>(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Ljava/lang/Object;)V
return-void
.end method
# virtual methods
.method public doFallback(Lcom/google/common/base/Function;Ljava/lang/Throwable;)Ljava/lang/Object;
.locals 0
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/base/Function<",
"-TX;+TV;>;TX;)TV;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 2
invoke-interface {p1, p2}, Lcom/google/common/base/Function;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic doFallback(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
.locals 0
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
check-cast p1, Lcom/google/common/base/Function;
invoke-virtual {p0, p1, p2}, Lcom/google/common/util/concurrent/AbstractCatchingFuture$CatchingFuture;->doFallback(Lcom/google/common/base/Function;Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public setResult(Ljava/lang/Object;)V
.locals 0
.param p1 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(TV;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractFuture;->set(Ljava/lang/Object;)Z
return-void
.end method
@@ -0,0 +1,633 @@
.class abstract Lcom/google/common/util/concurrent/AbstractCatchingFuture;
.super Lcom/google/common/util/concurrent/FluentFuture$TrustedFuture;
.source "AbstractCatchingFuture.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/util/concurrent/AbstractCatchingFuture$CatchingFuture;,
Lcom/google/common/util/concurrent/AbstractCatchingFuture$AsyncCatchingFuture;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
"X:",
"Ljava/lang/Throwable;",
"F:",
"Ljava/lang/Object;",
"T:",
"Ljava/lang/Object;",
">",
"Lcom/google/common/util/concurrent/FluentFuture$TrustedFuture<",
"TV;>;",
"Ljava/lang/Runnable;"
}
.end annotation
# instance fields
.field public exceptionType:Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Class<",
"TX;>;"
}
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field public fallback:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TF;"
}
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field public inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;"
}
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Ljava/lang/Object;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;",
"Ljava/lang/Class<",
"TX;>;TF;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lcom/google/common/util/concurrent/FluentFuture$TrustedFuture;-><init>()V
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/util/concurrent/ListenableFuture;
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.line 3
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Class;
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->exceptionType:Ljava/lang/Class;
.line 4
invoke-static {p3}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->fallback:Ljava/lang/Object;
return-void
.end method
.method public static create(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
"X:",
"Ljava/lang/Throwable;",
">(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;",
"Ljava/lang/Class<",
"TX;>;",
"Lcom/google/common/base/Function<",
"-TX;+TV;>;",
"Ljava/util/concurrent/Executor;",
")",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TV;>;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/common/util/concurrent/AbstractCatchingFuture$CatchingFuture;
invoke-direct {v0, p0, p1, p2}, Lcom/google/common/util/concurrent/AbstractCatchingFuture$CatchingFuture;-><init>(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/base/Function;)V
.line 2
invoke-static {p3, v0}, Lcom/google/common/util/concurrent/MoreExecutors;->rejectionPropagatingExecutor(Ljava/util/concurrent/Executor;Lcom/google/common/util/concurrent/AbstractFuture;)Ljava/util/concurrent/Executor;
move-result-object p1
invoke-interface {p0, v0, p1}, Lcom/google/common/util/concurrent/ListenableFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
return-object v0
.end method
.method public static create(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<X:",
"Ljava/lang/Throwable;",
"V:",
"Ljava/lang/Object;",
">(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;",
"Ljava/lang/Class<",
"TX;>;",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"-TX;+TV;>;",
"Ljava/util/concurrent/Executor;",
")",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TV;>;"
}
.end annotation
.line 3
new-instance v0, Lcom/google/common/util/concurrent/AbstractCatchingFuture$AsyncCatchingFuture;
invoke-direct {v0, p0, p1, p2}, Lcom/google/common/util/concurrent/AbstractCatchingFuture$AsyncCatchingFuture;-><init>(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Class;Lcom/google/common/util/concurrent/AsyncFunction;)V
.line 4
invoke-static {p3, v0}, Lcom/google/common/util/concurrent/MoreExecutors;->rejectionPropagatingExecutor(Ljava/util/concurrent/Executor;Lcom/google/common/util/concurrent/AbstractFuture;)Ljava/util/concurrent/Executor;
move-result-object p1
invoke-interface {p0, v0, p1}, Lcom/google/common/util/concurrent/ListenableFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
return-object v0
.end method
# virtual methods
.method public final afterDone()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture;->maybePropagateCancellationTo(Ljava/util/concurrent/Future;)V
const/4 v0, 0x0
.line 2
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.line 3
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->exceptionType:Ljava/lang/Class;
.line 4
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->fallback:Ljava/lang/Object;
return-void
.end method
.method public abstract doFallback(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation build Lcom/google/errorprone/annotations/ForOverride;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(TF;TX;)TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
.method public pendingToString()Ljava/lang/String;
.locals 7
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.line 2
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->exceptionType:Ljava/lang/Class;
.line 3
iget-object v2, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->fallback:Ljava/lang/Object;
.line 4
invoke-super {p0}, Lcom/google/common/util/concurrent/AbstractFuture;->pendingToString()Ljava/lang/String;
move-result-object v3
if-eqz v0, :cond_0
.line 5
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v4
add-int/lit8 v4, v4, 0x10
const-string v5, "inputFuture=["
const-string v6, "], "
invoke-static {v4, v5, v0, v6}, Lcom/google/android/gms/ads/internal/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_0
:cond_0
const-string v0, ""
:goto_0
if-eqz v1, :cond_1
if-eqz v2, :cond_1
.line 6
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-static {v2}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
const/16 v3, 0x1d
invoke-static {v0, v3}, Lcom/android/billingclient/api/d;->a(Ljava/lang/String;I)I
move-result v3
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v4
add-int/2addr v4, v3
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v3, v4
const-string v4, "exceptionType=["
const-string v5, "], fallback=["
invoke-static {v3, v0, v4, v1, v5}, Lcom/google/ads/mediation/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "]"
invoke-static {v0, v2, v1}, Landroidx/camera/camera2/internal/b;->a(Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
:cond_1
if-eqz v3, :cond_3
.line 7
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v1
if-eqz v1, :cond_2
invoke-virtual {v0, v3}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_1
:cond_2
new-instance v1, Ljava/lang/String;
invoke-direct {v1, v0}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
move-object v0, v1
:goto_1
return-object v0
:cond_3
const/4 v0, 0x0
return-object v0
.end method
.method public final run()V
.locals 10
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.line 2
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->exceptionType:Ljava/lang/Class;
.line 3
iget-object v2, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->fallback:Ljava/lang/Object;
const/4 v3, 0x1
const/4 v4, 0x0
if-nez v0, :cond_0
move v5, v3
goto :goto_0
:cond_0
move v5, v4
:goto_0
if-nez v1, :cond_1
move v6, v3
goto :goto_1
:cond_1
move v6, v4
:goto_1
or-int/2addr v5, v6
if-nez v2, :cond_2
goto :goto_2
:cond_2
move v3, v4
:goto_2
or-int/2addr v3, v5
if-nez v3, :cond_9
.line 4
invoke-virtual {p0}, Lcom/google/common/util/concurrent/FluentFuture$TrustedFuture;->isCancelled()Z
move-result v3
if-eqz v3, :cond_3
goto/16 :goto_6
:cond_3
const/4 v3, 0x0
.line 5
iput-object v3, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.line 6
:try_start_0
instance-of v4, v0, Lcom/google/common/util/concurrent/internal/InternalFutureFailureAccess;
if-eqz v4, :cond_4
.line 7
move-object v4, v0
check-cast v4, Lcom/google/common/util/concurrent/internal/InternalFutureFailureAccess;
.line 8
invoke-static {v4}, Lcom/google/common/util/concurrent/internal/InternalFutures;->tryInternalFastPathGetFailure(Lcom/google/common/util/concurrent/internal/InternalFutureFailureAccess;)Ljava/lang/Throwable;
move-result-object v4
goto :goto_3
:cond_4
move-object v4, v3
:goto_3
if-nez v4, :cond_6
.line 9
invoke-static {v0}, Lcom/google/common/util/concurrent/Futures;->getDone(Ljava/util/concurrent/Future;)Ljava/lang/Object;
move-result-object v5
:try_end_0
.catch Ljava/util/concurrent/ExecutionException; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_5
:catchall_0
move-exception v4
goto :goto_4
:catch_0
move-exception v4
.line 10
invoke-virtual {v4}, Ljava/util/concurrent/ExecutionException;->getCause()Ljava/lang/Throwable;
move-result-object v5
if-nez v5, :cond_5
.line 11
new-instance v5, Ljava/lang/NullPointerException;
.line 12
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v6
invoke-static {v6}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v6
.line 13
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v4
invoke-static {v4}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
invoke-virtual {v6}, Ljava/lang/String;->length()I
move-result v7
add-int/lit8 v7, v7, 0x23
invoke-virtual {v4}, Ljava/lang/String;->length()I
move-result v8
add-int/2addr v8, v7
const-string v7, "Future type "
const-string v9, " threw "
invoke-static {v8, v7, v6, v9, v4}, Lcom/google/ads/mediation/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
const-string v6, " without a cause"
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-direct {v5, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
:cond_5
move-object v4, v5
:cond_6
:goto_4
move-object v5, v3
:goto_5
if-nez v4, :cond_7
.line 14
invoke-static {v5}, Lcom/google/common/util/concurrent/NullnessCasts;->uncheckedCastNullableTToT(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture;->set(Ljava/lang/Object;)Z
return-void
.line 15
:cond_7
invoke-static {v4, v1}, Lcom/google/common/util/concurrent/Platform;->isInstanceOfThrowableClass(Ljava/lang/Throwable;Ljava/lang/Class;)Z
move-result v1
if-nez v1, :cond_8
.line 16
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture;->setFuture(Lcom/google/common/util/concurrent/ListenableFuture;)Z
return-void
.line 17
:cond_8
:try_start_1
invoke-virtual {p0, v2, v4}, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->doFallback(Ljava/lang/Object;Ljava/lang/Throwable;)Ljava/lang/Object;
move-result-object v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
.line 18
iput-object v3, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->exceptionType:Ljava/lang/Class;
.line 19
iput-object v3, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->fallback:Ljava/lang/Object;
.line 20
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->setResult(Ljava/lang/Object;)V
return-void
:catchall_1
move-exception v0
.line 21
:try_start_2
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture;->setException(Ljava/lang/Throwable;)Z
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_2
.line 22
iput-object v3, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->exceptionType:Ljava/lang/Class;
.line 23
iput-object v3, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->fallback:Ljava/lang/Object;
return-void
:catchall_2
move-exception v0
.line 24
iput-object v3, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->exceptionType:Ljava/lang/Class;
.line 25
iput-object v3, p0, Lcom/google/common/util/concurrent/AbstractCatchingFuture;->fallback:Ljava/lang/Object;
.line 26
throw v0
:cond_9
:goto_6
return-void
.end method
.method public abstract setResult(Ljava/lang/Object;)V
.param p1 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation build Lcom/google/errorprone/annotations/ForOverride;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.end method
@@ -0,0 +1,71 @@
.class Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$1;
.super Ljava/lang/Object;
.source "AbstractExecutionThreadService.java"
# interfaces
.implements Lcom/google/common/base/Supplier;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;->doStart()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/base/Supplier<",
"Ljava/lang/String;",
">;"
}
.end annotation
# instance fields
.field public final synthetic this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$1;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic get()Ljava/lang/Object;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$1;->get()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public get()Ljava/lang/String;
.locals 1
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$1;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
iget-object v0, v0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;->this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->serviceName()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,144 @@
.class Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;
.super Ljava/lang/Object;
.source "AbstractExecutionThreadService.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;->doStart()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 5
.line 1
:try_start_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
iget-object v0, v0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;->this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->startUp()V
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyStarted()V
.line 3
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->isRunning()Z
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
if-eqz v0, :cond_0
.line 4
:try_start_1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
iget-object v0, v0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;->this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->run()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
goto :goto_1
:catchall_0
move-exception v0
.line 5
:try_start_2
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
iget-object v1, v1, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;->this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
invoke-virtual {v1}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->shutDown()V
:try_end_2
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0
.catchall {:try_start_2 .. :try_end_2} :catchall_1
goto :goto_0
:catch_0
move-exception v1
.line 6
:try_start_3
invoke-static {}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->access$000()Ljava/util/logging/Logger;
move-result-object v2
sget-object v3, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
const-string v4, "Error while attempting to shut down the service after failure."
invoke-virtual {v2, v3, v4, v1}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 7
:goto_0
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
invoke-virtual {v1, v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyFailed(Ljava/lang/Throwable;)V
return-void
.line 8
:cond_0
:goto_1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
iget-object v0, v0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;->this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->shutDown()V
.line 9
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyStopped()V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_1
goto :goto_2
:catchall_1
move-exception v0
.line 10
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;->this$1:Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
invoke-virtual {v1, v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyFailed(Ljava/lang/Throwable;)V
:goto_2
return-void
.end method
@@ -0,0 +1,87 @@
.class Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
.super Lcom/google/common/util/concurrent/AbstractService;
.source "AbstractExecutionThreadService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractExecutionThreadService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;->this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
invoke-direct {p0}, Lcom/google/common/util/concurrent/AbstractService;-><init>()V
return-void
.end method
# virtual methods
.method public final doStart()V
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;->this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
.line 2
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->executor()Ljava/util/concurrent/Executor;
move-result-object v0
new-instance v1, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$1;
invoke-direct {v1, p0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$1;-><init>(Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;)V
.line 3
invoke-static {v0, v1}, Lcom/google/common/util/concurrent/MoreExecutors;->renamingDecorator(Ljava/util/concurrent/Executor;Lcom/google/common/base/Supplier;)Ljava/util/concurrent/Executor;
move-result-object v0
.line 4
new-instance v1, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;
invoke-direct {v1, p0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1$2;-><init>(Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;)V
invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method public doStop()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;->this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->triggerShutdown()V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;->this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,55 @@
.class Lcom/google/common/util/concurrent/AbstractExecutionThreadService$2;
.super Ljava/lang/Object;
.source "AbstractExecutionThreadService.java"
# interfaces
.implements Ljava/util/concurrent/Executor;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->executor()Ljava/util/concurrent/Executor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractExecutionThreadService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$2;->this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public execute(Ljava/lang/Runnable;)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$2;->this$0:Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->serviceName()Ljava/lang/String;
move-result-object v0
invoke-static {v0, p1}, Lcom/google/common/util/concurrent/MoreExecutors;->newThread(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Thread;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Thread;->start()V
return-void
.end method
@@ -0,0 +1,304 @@
.class public abstract Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
.super Ljava/lang/Object;
.source "AbstractExecutionThreadService.java"
# interfaces
.implements Lcom/google/common/util/concurrent/Service;
# annotations
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
# static fields
.field private static final logger:Ljava/util/logging/Logger;
# instance fields
.field private final delegate:Lcom/google/common/util/concurrent/Service;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
const-class v0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;
.line 2
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/common/util/concurrent/AbstractExecutionThreadService;->logger:Ljava/util/logging/Logger;
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, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;
invoke-direct {v0, p0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$1;-><init>(Lcom/google/common/util/concurrent/AbstractExecutionThreadService;)V
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->delegate:Lcom/google/common/util/concurrent/Service;
return-void
.end method
.method public static synthetic access$000()Ljava/util/logging/Logger;
.locals 1
.line 1
sget-object v0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->logger:Ljava/util/logging/Logger;
return-object v0
.end method
# virtual methods
.method public final addListener(Lcom/google/common/util/concurrent/Service$Listener;Ljava/util/concurrent/Executor;)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0, p1, p2}, Lcom/google/common/util/concurrent/Service;->addListener(Lcom/google/common/util/concurrent/Service$Listener;Ljava/util/concurrent/Executor;)V
return-void
.end method
.method public final awaitRunning()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->awaitRunning()V
return-void
.end method
.method public final awaitRunning(JLjava/util/concurrent/TimeUnit;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/util/concurrent/TimeoutException;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0, p1, p2, p3}, Lcom/google/common/util/concurrent/Service;->awaitRunning(JLjava/util/concurrent/TimeUnit;)V
return-void
.end method
.method public final awaitTerminated()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->awaitTerminated()V
return-void
.end method
.method public final awaitTerminated(JLjava/util/concurrent/TimeUnit;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/util/concurrent/TimeoutException;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0, p1, p2, p3}, Lcom/google/common/util/concurrent/Service;->awaitTerminated(JLjava/util/concurrent/TimeUnit;)V
return-void
.end method
.method public executor()Ljava/util/concurrent/Executor;
.locals 1
.line 1
new-instance v0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$2;
invoke-direct {v0, p0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService$2;-><init>(Lcom/google/common/util/concurrent/AbstractExecutionThreadService;)V
return-object v0
.end method
.method public final failureCause()Ljava/lang/Throwable;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->failureCause()Ljava/lang/Throwable;
move-result-object v0
return-object v0
.end method
.method public final isRunning()Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->isRunning()Z
move-result v0
return v0
.end method
.method public abstract run()V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
.method public serviceName()Ljava/lang/String;
.locals 1
.line 1
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public shutDown()V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
return-void
.end method
.method public final startAsync()Lcom/google/common/util/concurrent/Service;
.locals 1
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->startAsync()Lcom/google/common/util/concurrent/Service;
return-object p0
.end method
.method public startUp()V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
return-void
.end method
.method public final state()Lcom/google/common/util/concurrent/Service$State;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v0
return-object v0
.end method
.method public final stopAsync()Lcom/google/common/util/concurrent/Service;
.locals 1
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->stopAsync()Lcom/google/common/util/concurrent/Service;
return-object p0
.end method
.method public toString()Ljava/lang/String;
.locals 5
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->serviceName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractExecutionThreadService;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
const/4 v2, 0x3
invoke-static {v0, v2}, Lcom/android/billingclient/api/d;->a(Ljava/lang/String;I)I
move-result v2
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v3, v2
const-string v2, " ["
const-string v4, "]"
invoke-static {v3, v0, v2, v1, v4}, Lcom/android/billingclient/api/f;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public triggerShutdown()V
.locals 0
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
return-void
.end method
@@ -0,0 +1,14 @@
.class synthetic Lcom/google/common/util/concurrent/AbstractFuture$1;
.super Ljava/lang/Object;
.source "AbstractFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
@@ -0,0 +1,101 @@
.class abstract Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;
.super Ljava/lang/Object;
.source "AbstractFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "AtomicHelper"
.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 synthetic constructor <init>(Lcom/google/common/util/concurrent/AbstractFuture$1;)V
.locals 0
.line 2
invoke-direct {p0}, Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;-><init>()V
return-void
.end method
# virtual methods
.method public abstract casListeners(Lcom/google/common/util/concurrent/AbstractFuture;Lcom/google/common/util/concurrent/AbstractFuture$Listener;Lcom/google/common/util/concurrent/AbstractFuture$Listener;)Z
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Listener;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Lcom/google/common/util/concurrent/AbstractFuture$Listener;",
"Lcom/google/common/util/concurrent/AbstractFuture$Listener;",
")Z"
}
.end annotation
.end method
.method public abstract casValue(Lcom/google/common/util/concurrent/AbstractFuture;Ljava/lang/Object;Ljava/lang/Object;)Z
.param p2 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
")Z"
}
.end annotation
.end method
.method public abstract casWaiters(Lcom/google/common/util/concurrent/AbstractFuture;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;)Z
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.param p3 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
")Z"
}
.end annotation
.end method
.method public abstract putNext(Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;)V
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.end method
.method public abstract putThread(Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Ljava/lang/Thread;)V
.end method
@@ -0,0 +1,99 @@
.class final Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;
.super Ljava/lang/Object;
.source "AbstractFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Cancellation"
.end annotation
# static fields
.field public static final CAUSELESS_CANCELLED:Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field public static final CAUSELESS_INTERRUPTED:Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
# instance fields
.field public final cause:Ljava/lang/Throwable;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field public final wasInterrupted:Z
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
invoke-static {}, Lcom/google/common/util/concurrent/AbstractFuture;->access$300()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 2
sput-object v1, Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;->CAUSELESS_CANCELLED:Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;
.line 3
sput-object v1, Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;->CAUSELESS_INTERRUPTED:Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;
goto :goto_0
.line 4
:cond_0
new-instance v0, Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;
const/4 v2, 0x0
invoke-direct {v0, v2, v1}, Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;-><init>(ZLjava/lang/Throwable;)V
sput-object v0, Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;->CAUSELESS_CANCELLED:Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;
.line 5
new-instance v0, Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;
const/4 v2, 0x1
invoke-direct {v0, v2, v1}, Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;-><init>(ZLjava/lang/Throwable;)V
sput-object v0, Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;->CAUSELESS_INTERRUPTED:Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;
:goto_0
return-void
.end method
.method public constructor <init>(ZLjava/lang/Throwable;)V
.locals 0
.param p2 # Ljava/lang/Throwable;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-boolean p1, p0, Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;->wasInterrupted:Z
.line 3
iput-object p2, p0, Lcom/google/common/util/concurrent/AbstractFuture$Cancellation;->cause:Ljava/lang/Throwable;
return-void
.end method
@@ -0,0 +1,38 @@
.class Lcom/google/common/util/concurrent/AbstractFuture$Failure$1;
.super Ljava/lang/Throwable;
.source "AbstractFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture$Failure;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# direct methods
.method public constructor <init>(Ljava/lang/String;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Ljava/lang/Throwable;-><init>(Ljava/lang/String;)V
return-void
.end method
# virtual methods
.method public declared-synchronized fillInStackTrace()Ljava/lang/Throwable;
.locals 0
monitor-enter p0
.line 1
monitor-exit p0
return-object p0
.end method
@@ -0,0 +1,61 @@
.class final Lcom/google/common/util/concurrent/AbstractFuture$Failure;
.super Ljava/lang/Object;
.source "AbstractFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Failure"
.end annotation
# static fields
.field public static final FALLBACK_INSTANCE:Lcom/google/common/util/concurrent/AbstractFuture$Failure;
# instance fields
.field public final exception:Ljava/lang/Throwable;
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/util/concurrent/AbstractFuture$Failure;
new-instance v1, Lcom/google/common/util/concurrent/AbstractFuture$Failure$1;
const-string v2, "Failure occurred while trying to finish a future."
invoke-direct {v1, v2}, Lcom/google/common/util/concurrent/AbstractFuture$Failure$1;-><init>(Ljava/lang/String;)V
invoke-direct {v0, v1}, Lcom/google/common/util/concurrent/AbstractFuture$Failure;-><init>(Ljava/lang/Throwable;)V
sput-object v0, Lcom/google/common/util/concurrent/AbstractFuture$Failure;->FALLBACK_INSTANCE:Lcom/google/common/util/concurrent/AbstractFuture$Failure;
return-void
.end method
.method public constructor <init>(Ljava/lang/Throwable;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/lang/Throwable;
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractFuture$Failure;->exception:Ljava/lang/Throwable;
return-void
.end method
@@ -0,0 +1,82 @@
.class final Lcom/google/common/util/concurrent/AbstractFuture$Listener;
.super Ljava/lang/Object;
.source "AbstractFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Listener"
.end annotation
# static fields
.field public static final TOMBSTONE:Lcom/google/common/util/concurrent/AbstractFuture$Listener;
# instance fields
.field public final executor:Ljava/util/concurrent/Executor;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field public next:Lcom/google/common/util/concurrent/AbstractFuture$Listener;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field public final task:Ljava/lang/Runnable;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
new-instance v0, Lcom/google/common/util/concurrent/AbstractFuture$Listener;
invoke-direct {v0}, Lcom/google/common/util/concurrent/AbstractFuture$Listener;-><init>()V
sput-object v0, Lcom/google/common/util/concurrent/AbstractFuture$Listener;->TOMBSTONE:Lcom/google/common/util/concurrent/AbstractFuture$Listener;
return-void
.end method
.method public constructor <init>()V
.locals 1
.line 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 5
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractFuture$Listener;->task:Ljava/lang/Runnable;
.line 6
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractFuture$Listener;->executor:Ljava/util/concurrent/Executor;
return-void
.end method
.method public constructor <init>(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractFuture$Listener;->task:Ljava/lang/Runnable;
.line 3
iput-object p2, p0, Lcom/google/common/util/concurrent/AbstractFuture$Listener;->executor:Ljava/util/concurrent/Executor;
return-void
.end method
@@ -0,0 +1,237 @@
.class final Lcom/google/common/util/concurrent/AbstractFuture$SafeAtomicHelper;
.super Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;
.source "AbstractFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SafeAtomicHelper"
.end annotation
# instance fields
.field public final listenersUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<",
"Lcom/google/common/util/concurrent/AbstractFuture;",
"Lcom/google/common/util/concurrent/AbstractFuture$Listener;",
">;"
}
.end annotation
.end field
.field public final valueUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<",
"Lcom/google/common/util/concurrent/AbstractFuture;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field public final waiterNextUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
">;"
}
.end annotation
.end field
.field public final waiterThreadUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
"Ljava/lang/Thread;",
">;"
}
.end annotation
.end field
.field public final waitersUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<",
"Lcom/google/common/util/concurrent/AbstractFuture;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
"Ljava/lang/Thread;",
">;",
"Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
">;",
"Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<",
"Lcom/google/common/util/concurrent/AbstractFuture;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
">;",
"Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<",
"Lcom/google/common/util/concurrent/AbstractFuture;",
"Lcom/google/common/util/concurrent/AbstractFuture$Listener;",
">;",
"Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<",
"Lcom/google/common/util/concurrent/AbstractFuture;",
"Ljava/lang/Object;",
">;)V"
}
.end annotation
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;-><init>(Lcom/google/common/util/concurrent/AbstractFuture$1;)V
.line 2
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractFuture$SafeAtomicHelper;->waiterThreadUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.line 3
iput-object p2, p0, Lcom/google/common/util/concurrent/AbstractFuture$SafeAtomicHelper;->waiterNextUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.line 4
iput-object p3, p0, Lcom/google/common/util/concurrent/AbstractFuture$SafeAtomicHelper;->waitersUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.line 5
iput-object p4, p0, Lcom/google/common/util/concurrent/AbstractFuture$SafeAtomicHelper;->listenersUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.line 6
iput-object p5, p0, Lcom/google/common/util/concurrent/AbstractFuture$SafeAtomicHelper;->valueUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
return-void
.end method
# virtual methods
.method public casListeners(Lcom/google/common/util/concurrent/AbstractFuture;Lcom/google/common/util/concurrent/AbstractFuture$Listener;Lcom/google/common/util/concurrent/AbstractFuture$Listener;)Z
.locals 1
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Listener;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Lcom/google/common/util/concurrent/AbstractFuture$Listener;",
"Lcom/google/common/util/concurrent/AbstractFuture$Listener;",
")Z"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractFuture$SafeAtomicHelper;->listenersUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v0, p1, p2, p3}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public casValue(Lcom/google/common/util/concurrent/AbstractFuture;Ljava/lang/Object;Ljava/lang/Object;)Z
.locals 1
.param p2 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
")Z"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractFuture$SafeAtomicHelper;->valueUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v0, p1, p2, p3}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public casWaiters(Lcom/google/common/util/concurrent/AbstractFuture;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;)Z
.locals 1
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.param p3 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
")Z"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractFuture$SafeAtomicHelper;->waitersUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v0, p1, p2, p3}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public putNext(Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;)V
.locals 1
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractFuture$SafeAtomicHelper;->waiterNextUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->lazySet(Ljava/lang/Object;Ljava/lang/Object;)V
return-void
.end method
.method public putThread(Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Ljava/lang/Thread;)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractFuture$SafeAtomicHelper;->waiterThreadUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->lazySet(Ljava/lang/Object;Ljava/lang/Object;)V
return-void
.end method
@@ -0,0 +1,119 @@
.class final Lcom/google/common/util/concurrent/AbstractFuture$SetFuture;
.super Ljava/lang/Object;
.source "AbstractFuture.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SetFuture"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Ljava/lang/Runnable;"
}
.end annotation
# instance fields
.field public final future:Lcom/google/common/util/concurrent/ListenableFuture;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;"
}
.end annotation
.end field
.field public final owner:Lcom/google/common/util/concurrent/AbstractFuture;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/util/concurrent/AbstractFuture<",
"TV;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractFuture;Lcom/google/common/util/concurrent/ListenableFuture;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"TV;>;",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TV;>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractFuture$SetFuture;->owner:Lcom/google/common/util/concurrent/AbstractFuture;
.line 3
iput-object p2, p0, Lcom/google/common/util/concurrent/AbstractFuture$SetFuture;->future:Lcom/google/common/util/concurrent/ListenableFuture;
return-void
.end method
# virtual methods
.method public run()V
.locals 3
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractFuture$SetFuture;->owner:Lcom/google/common/util/concurrent/AbstractFuture;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractFuture;->access$400(Lcom/google/common/util/concurrent/AbstractFuture;)Ljava/lang/Object;
move-result-object v0
if-eq v0, p0, :cond_0
return-void
.line 2
:cond_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractFuture$SetFuture;->future:Lcom/google/common/util/concurrent/ListenableFuture;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractFuture;->access$500(Lcom/google/common/util/concurrent/ListenableFuture;)Ljava/lang/Object;
move-result-object v0
.line 3
invoke-static {}, Lcom/google/common/util/concurrent/AbstractFuture;->access$200()Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;
move-result-object v1
iget-object v2, p0, Lcom/google/common/util/concurrent/AbstractFuture$SetFuture;->owner:Lcom/google/common/util/concurrent/AbstractFuture;
invoke-virtual {v1, v2, p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;->casValue(Lcom/google/common/util/concurrent/AbstractFuture;Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1
.line 4
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractFuture$SetFuture;->owner:Lcom/google/common/util/concurrent/AbstractFuture;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractFuture;->access$600(Lcom/google/common/util/concurrent/AbstractFuture;)V
:cond_1
return-void
.end method
@@ -0,0 +1,235 @@
.class final Lcom/google/common/util/concurrent/AbstractFuture$SynchronizedHelper;
.super Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;
.source "AbstractFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SynchronizedHelper"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 1
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;-><init>(Lcom/google/common/util/concurrent/AbstractFuture$1;)V
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/util/concurrent/AbstractFuture$1;)V
.locals 0
.line 2
invoke-direct {p0}, Lcom/google/common/util/concurrent/AbstractFuture$SynchronizedHelper;-><init>()V
return-void
.end method
# virtual methods
.method public casListeners(Lcom/google/common/util/concurrent/AbstractFuture;Lcom/google/common/util/concurrent/AbstractFuture$Listener;Lcom/google/common/util/concurrent/AbstractFuture$Listener;)Z
.locals 1
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Listener;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Lcom/google/common/util/concurrent/AbstractFuture$Listener;",
"Lcom/google/common/util/concurrent/AbstractFuture$Listener;",
")Z"
}
.end annotation
.line 1
monitor-enter p1
.line 2
:try_start_0
invoke-static {p1}, Lcom/google/common/util/concurrent/AbstractFuture;->access$900(Lcom/google/common/util/concurrent/AbstractFuture;)Lcom/google/common/util/concurrent/AbstractFuture$Listener;
move-result-object v0
if-ne v0, p2, :cond_0
.line 3
invoke-static {p1, p3}, Lcom/google/common/util/concurrent/AbstractFuture;->access$902(Lcom/google/common/util/concurrent/AbstractFuture;Lcom/google/common/util/concurrent/AbstractFuture$Listener;)Lcom/google/common/util/concurrent/AbstractFuture$Listener;
const/4 p2, 0x1
.line 4
monitor-exit p1
return p2
:cond_0
const/4 p2, 0x0
.line 5
monitor-exit p1
return p2
:catchall_0
move-exception p2
.line 6
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p2
.end method
.method public casValue(Lcom/google/common/util/concurrent/AbstractFuture;Ljava/lang/Object;Ljava/lang/Object;)Z
.locals 1
.param p2 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
")Z"
}
.end annotation
.line 1
monitor-enter p1
.line 2
:try_start_0
invoke-static {p1}, Lcom/google/common/util/concurrent/AbstractFuture;->access$400(Lcom/google/common/util/concurrent/AbstractFuture;)Ljava/lang/Object;
move-result-object v0
if-ne v0, p2, :cond_0
.line 3
invoke-static {p1, p3}, Lcom/google/common/util/concurrent/AbstractFuture;->access$402(Lcom/google/common/util/concurrent/AbstractFuture;Ljava/lang/Object;)Ljava/lang/Object;
const/4 p2, 0x1
.line 4
monitor-exit p1
return p2
:cond_0
const/4 p2, 0x0
.line 5
monitor-exit p1
return p2
:catchall_0
move-exception p2
.line 6
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p2
.end method
.method public casWaiters(Lcom/google/common/util/concurrent/AbstractFuture;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;)Z
.locals 1
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.param p3 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
")Z"
}
.end annotation
.line 1
monitor-enter p1
.line 2
:try_start_0
invoke-static {p1}, Lcom/google/common/util/concurrent/AbstractFuture;->access$800(Lcom/google/common/util/concurrent/AbstractFuture;)Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
move-result-object v0
if-ne v0, p2, :cond_0
.line 3
invoke-static {p1, p3}, Lcom/google/common/util/concurrent/AbstractFuture;->access$802(Lcom/google/common/util/concurrent/AbstractFuture;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;)Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
const/4 p2, 0x1
.line 4
monitor-exit p1
return p2
:cond_0
const/4 p2, 0x0
.line 5
monitor-exit p1
return p2
:catchall_0
move-exception p2
.line 6
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p2
.end method
.method public putNext(Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;)V
.locals 0
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
iput-object p2, p1, Lcom/google/common/util/concurrent/AbstractFuture$Waiter;->next:Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
return-void
.end method
.method public putThread(Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Ljava/lang/Thread;)V
.locals 0
.line 1
iput-object p2, p1, Lcom/google/common/util/concurrent/AbstractFuture$Waiter;->thread:Ljava/lang/Thread;
return-void
.end method
@@ -0,0 +1,28 @@
.class interface abstract Lcom/google/common/util/concurrent/AbstractFuture$Trusted;
.super Ljava/lang/Object;
.source "AbstractFuture.java"
# interfaces
.implements Lcom/google/common/util/concurrent/ListenableFuture;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "Trusted"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TV;>;"
}
.end annotation
@@ -0,0 +1,147 @@
.class abstract Lcom/google/common/util/concurrent/AbstractFuture$TrustedFuture;
.super Lcom/google/common/util/concurrent/AbstractFuture;
.source "AbstractFuture.java"
# interfaces
.implements Lcom/google/common/util/concurrent/AbstractFuture$Trusted;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "TrustedFuture"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"TV;>;",
"Lcom/google/common/util/concurrent/AbstractFuture$Trusted<",
"TV;>;"
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/common/util/concurrent/AbstractFuture;-><init>()V
return-void
.end method
# virtual methods
.method public final addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
.locals 0
.line 1
invoke-super {p0, p1, p2}, Lcom/google/common/util/concurrent/AbstractFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
return-void
.end method
.method public final cancel(Z)Z
.locals 0
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
invoke-super {p0, p1}, Lcom/google/common/util/concurrent/AbstractFuture;->cancel(Z)Z
move-result p1
return p1
.end method
.method public final get()Ljava/lang/Object;
.locals 1
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()TV;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;,
Ljava/util/concurrent/ExecutionException;
}
.end annotation
.line 1
invoke-super {p0}, Lcom/google/common/util/concurrent/AbstractFuture;->get()Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public final get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
.locals 0
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(J",
"Ljava/util/concurrent/TimeUnit;",
")TV;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;,
Ljava/util/concurrent/ExecutionException;,
Ljava/util/concurrent/TimeoutException;
}
.end annotation
.line 2
invoke-super {p0, p1, p2, p3}, Lcom/google/common/util/concurrent/AbstractFuture;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final isCancelled()Z
.locals 1
.line 1
invoke-super {p0}, Lcom/google/common/util/concurrent/AbstractFuture;->isCancelled()Z
move-result v0
return v0
.end method
.method public final isDone()Z
.locals 1
.line 1
invoke-super {p0}, Lcom/google/common/util/concurrent/AbstractFuture;->isDone()Z
move-result v0
return v0
.end method
@@ -0,0 +1,124 @@
.class Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper$1;
.super Ljava/lang/Object;
.source "AbstractFuture.java"
# interfaces
.implements Ljava/security/PrivilegedExceptionAction;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/security/PrivilegedExceptionAction<",
"Lsun/misc/Unsafe;",
">;"
}
.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 bridge synthetic run()Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper$1;->run()Lsun/misc/Unsafe;
move-result-object v0
return-object v0
.end method
.method public run()Lsun/misc/Unsafe;
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 2
const-class v0, Lsun/misc/Unsafe;
.line 3
invoke-virtual {v0}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v1
array-length v2, v1
const/4 v3, 0x0
:goto_0
if-ge v3, v2, :cond_1
aget-object v4, v1, v3
const/4 v5, 0x1
.line 4
invoke-virtual {v4, v5}, Ljava/lang/reflect/Field;->setAccessible(Z)V
const/4 v5, 0x0
.line 5
invoke-virtual {v4, v5}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
.line 6
invoke-virtual {v0, v4}, Ljava/lang/Class;->isInstance(Ljava/lang/Object;)Z
move-result v5
if-eqz v5, :cond_0
.line 7
invoke-virtual {v0, v4}, Ljava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lsun/misc/Unsafe;
return-object v0
:cond_0
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 8
:cond_1
new-instance v0, Ljava/lang/NoSuchFieldError;
const-string v1, "the Unsafe"
invoke-direct {v0, v1}, Ljava/lang/NoSuchFieldError;-><init>(Ljava/lang/String;)V
throw v0
.end method
@@ -0,0 +1,329 @@
.class final Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;
.super Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;
.source "AbstractFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "UnsafeAtomicHelper"
.end annotation
# static fields
.field public static final LISTENERS_OFFSET:J
.field public static final UNSAFE:Lsun/misc/Unsafe;
.field public static final VALUE_OFFSET:J
.field public static final WAITERS_OFFSET:J
.field public static final WAITER_NEXT_OFFSET:J
.field public static final WAITER_THREAD_OFFSET:J
# direct methods
.method public static constructor <clinit>()V
.locals 5
.line 1
const-class v0, Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
:try_start_0
invoke-static {}, Lsun/misc/Unsafe;->getUnsafe()Lsun/misc/Unsafe;
move-result-object v1
:try_end_0
.catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
.line 2
:catch_0
:try_start_1
new-instance v1, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper$1;
invoke-direct {v1}, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper$1;-><init>()V
.line 3
invoke-static {v1}, Ljava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lsun/misc/Unsafe;
:try_end_1
.catch Ljava/security/PrivilegedActionException; {:try_start_1 .. :try_end_1} :catch_2
.line 4
:goto_0
:try_start_2
const-class v2, Lcom/google/common/util/concurrent/AbstractFuture;
const-string v3, "waiters"
.line 5
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v3
invoke-virtual {v1, v3}, Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J
move-result-wide v3
sput-wide v3, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->WAITERS_OFFSET:J
const-string v3, "listeners"
.line 6
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v3
invoke-virtual {v1, v3}, Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J
move-result-wide v3
sput-wide v3, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->LISTENERS_OFFSET:J
const-string v3, "value"
.line 7
invoke-virtual {v2, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
invoke-virtual {v1, v2}, Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J
move-result-wide v2
sput-wide v2, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->VALUE_OFFSET:J
const-string v2, "thread"
.line 8
invoke-virtual {v0, v2}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v2
invoke-virtual {v1, v2}, Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J
move-result-wide v2
sput-wide v2, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->WAITER_THREAD_OFFSET:J
const-string v2, "next"
.line 9
invoke-virtual {v0, v2}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
invoke-virtual {v1, v0}, Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J
move-result-wide v2
sput-wide v2, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->WAITER_NEXT_OFFSET:J
.line 10
sput-object v1, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->UNSAFE:Lsun/misc/Unsafe;
:try_end_2
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_1
return-void
:catch_1
move-exception v0
.line 11
invoke-static {v0}, Lcom/google/common/base/Throwables;->throwIfUnchecked(Ljava/lang/Throwable;)V
.line 12
new-instance v1, Ljava/lang/RuntimeException;
invoke-direct {v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v1
:catch_2
move-exception v0
.line 13
new-instance v1, Ljava/lang/RuntimeException;
invoke-virtual {v0}, Ljava/security/PrivilegedActionException;->getCause()Ljava/lang/Throwable;
move-result-object v0
const-string v2, "Could not initialize intrinsics"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.end method
.method private constructor <init>()V
.locals 1
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;-><init>(Lcom/google/common/util/concurrent/AbstractFuture$1;)V
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/util/concurrent/AbstractFuture$1;)V
.locals 0
.line 2
invoke-direct {p0}, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;-><init>()V
return-void
.end method
# virtual methods
.method public casListeners(Lcom/google/common/util/concurrent/AbstractFuture;Lcom/google/common/util/concurrent/AbstractFuture$Listener;Lcom/google/common/util/concurrent/AbstractFuture$Listener;)Z
.locals 6
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Listener;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Lcom/google/common/util/concurrent/AbstractFuture$Listener;",
"Lcom/google/common/util/concurrent/AbstractFuture$Listener;",
")Z"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->UNSAFE:Lsun/misc/Unsafe;
sget-wide v2, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->LISTENERS_OFFSET:J
move-object v1, p1
move-object v4, p2
move-object v5, p3
invoke-virtual/range {v0 .. v5}, Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public casValue(Lcom/google/common/util/concurrent/AbstractFuture;Ljava/lang/Object;Ljava/lang/Object;)Z
.locals 6
.param p2 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Ljava/lang/Object;",
"Ljava/lang/Object;",
")Z"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->UNSAFE:Lsun/misc/Unsafe;
sget-wide v2, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->VALUE_OFFSET:J
move-object v1, p1
move-object v4, p2
move-object v5, p3
invoke-virtual/range {v0 .. v5}, Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public casWaiters(Lcom/google/common/util/concurrent/AbstractFuture;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;)Z
.locals 6
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.param p3 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractFuture<",
"*>;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
"Lcom/google/common/util/concurrent/AbstractFuture$Waiter;",
")Z"
}
.end annotation
.line 1
sget-object v0, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->UNSAFE:Lsun/misc/Unsafe;
sget-wide v2, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->WAITERS_OFFSET:J
move-object v1, p1
move-object v4, p2
move-object v5, p3
invoke-virtual/range {v0 .. v5}, Lsun/misc/Unsafe;->compareAndSwapObject(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
move-result p1
return p1
.end method
.method public putNext(Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;)V
.locals 3
.param p2 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
sget-object v0, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->UNSAFE:Lsun/misc/Unsafe;
sget-wide v1, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->WAITER_NEXT_OFFSET:J
invoke-virtual {v0, p1, v1, v2, p2}, Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V
return-void
.end method
.method public putThread(Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Ljava/lang/Thread;)V
.locals 3
.line 1
sget-object v0, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->UNSAFE:Lsun/misc/Unsafe;
sget-wide v1, Lcom/google/common/util/concurrent/AbstractFuture$UnsafeAtomicHelper;->WAITER_THREAD_OFFSET:J
invoke-virtual {v0, p1, v1, v2, p2}, Lsun/misc/Unsafe;->putObject(Ljava/lang/Object;JLjava/lang/Object;)V
return-void
.end method
@@ -0,0 +1,115 @@
.class final Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.super Ljava/lang/Object;
.source "AbstractFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Waiter"
.end annotation
# static fields
.field public static final TOMBSTONE:Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
# instance fields
.field public volatile next:Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field public volatile thread:Ljava/lang/Thread;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 2
.line 1
new-instance v0, Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/google/common/util/concurrent/AbstractFuture$Waiter;-><init>(Z)V
sput-object v0, Lcom/google/common/util/concurrent/AbstractFuture$Waiter;->TOMBSTONE:Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
return-void
.end method
.method public constructor <init>()V
.locals 2
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
invoke-static {}, Lcom/google/common/util/concurrent/AbstractFuture;->access$200()Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;
move-result-object v0
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
invoke-virtual {v0, p0, v1}, Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;->putThread(Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Ljava/lang/Thread;)V
return-void
.end method
.method public constructor <init>(Z)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public setNext(Lcom/google/common/util/concurrent/AbstractFuture$Waiter;)V
.locals 1
.param p1 # Lcom/google/common/util/concurrent/AbstractFuture$Waiter;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
invoke-static {}, Lcom/google/common/util/concurrent/AbstractFuture;->access$200()Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;
move-result-object v0
invoke-virtual {v0, p0, p1}, Lcom/google/common/util/concurrent/AbstractFuture$AtomicHelper;->putNext(Lcom/google/common/util/concurrent/AbstractFuture$Waiter;Lcom/google/common/util/concurrent/AbstractFuture$Waiter;)V
return-void
.end method
.method public unpark()V
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractFuture$Waiter;->thread:Ljava/lang/Thread;
if-eqz v0, :cond_0
const/4 v1, 0x0
.line 2
iput-object v1, p0, Lcom/google/common/util/concurrent/AbstractFuture$Waiter;->thread:Ljava/lang/Thread;
.line 3
invoke-static {v0}, Ljava/util/concurrent/locks/LockSupport;->unpark(Ljava/lang/Thread;)V
:cond_0
return-void
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,61 @@
.class Lcom/google/common/util/concurrent/AbstractIdleService$1;
.super Ljava/lang/Object;
.source "AbstractIdleService.java"
# interfaces
.implements Ljava/util/concurrent/Executor;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractIdleService;->executor()Ljava/util/concurrent/Executor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractIdleService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractIdleService$1;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public execute(Ljava/lang/Runnable;)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService$1;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractIdleService;->access$200(Lcom/google/common/util/concurrent/AbstractIdleService;)Lcom/google/common/base/Supplier;
move-result-object v0
invoke-interface {v0}, Lcom/google/common/base/Supplier;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-static {v0, p1}, Lcom/google/common/util/concurrent/MoreExecutors;->newThread(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Thread;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/Thread;->start()V
return-void
.end method
@@ -0,0 +1,68 @@
.class Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$1;
.super Ljava/lang/Object;
.source "AbstractIdleService.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;->doStart()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$1:Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$1;->this$1:Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 2
.line 1
:try_start_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$1;->this$1:Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
iget-object v0, v0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractIdleService;->startUp()V
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$1;->this$1:Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyStarted()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v0
.line 3
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$1;->this$1:Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
invoke-virtual {v1, v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyFailed(Ljava/lang/Throwable;)V
:goto_0
return-void
.end method
@@ -0,0 +1,68 @@
.class Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$2;
.super Ljava/lang/Object;
.source "AbstractIdleService.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;->doStop()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$1:Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$2;->this$1:Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 2
.line 1
:try_start_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$2;->this$1:Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
iget-object v0, v0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractIdleService;->shutDown()V
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$2;->this$1:Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyStopped()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v0
.line 3
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$2;->this$1:Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
invoke-virtual {v1, v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyFailed(Ljava/lang/Throwable;)V
:goto_0
return-void
.end method
@@ -0,0 +1,115 @@
.class final Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
.super Lcom/google/common/util/concurrent/AbstractService;
.source "AbstractIdleService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractIdleService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "DelegateService"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
# direct methods
.method private constructor <init>(Lcom/google/common/util/concurrent/AbstractIdleService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-direct {p0}, Lcom/google/common/util/concurrent/AbstractService;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/util/concurrent/AbstractIdleService;Lcom/google/common/util/concurrent/AbstractIdleService$1;)V
.locals 0
.line 2
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;-><init>(Lcom/google/common/util/concurrent/AbstractIdleService;)V
return-void
.end method
# virtual methods
.method public final doStart()V
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractIdleService;->executor()Ljava/util/concurrent/Executor;
move-result-object v0
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-static {v1}, Lcom/google/common/util/concurrent/AbstractIdleService;->access$200(Lcom/google/common/util/concurrent/AbstractIdleService;)Lcom/google/common/base/Supplier;
move-result-object v1
invoke-static {v0, v1}, Lcom/google/common/util/concurrent/MoreExecutors;->renamingDecorator(Ljava/util/concurrent/Executor;Lcom/google/common/base/Supplier;)Ljava/util/concurrent/Executor;
move-result-object v0
new-instance v1, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$1;
invoke-direct {v1, p0}, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$1;-><init>(Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;)V
.line 2
invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method public final doStop()V
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractIdleService;->executor()Ljava/util/concurrent/Executor;
move-result-object v0
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-static {v1}, Lcom/google/common/util/concurrent/AbstractIdleService;->access$200(Lcom/google/common/util/concurrent/AbstractIdleService;)Lcom/google/common/base/Supplier;
move-result-object v1
invoke-static {v0, v1}, Lcom/google/common/util/concurrent/MoreExecutors;->renamingDecorator(Ljava/util/concurrent/Executor;Lcom/google/common/base/Supplier;)Ljava/util/concurrent/Executor;
move-result-object v0
new-instance v1, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$2;
invoke-direct {v1, p0}, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService$2;-><init>(Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;)V
.line 2
invoke-interface {v0, v1}, Ljava/util/concurrent/Executor;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractIdleService;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,106 @@
.class final Lcom/google/common/util/concurrent/AbstractIdleService$ThreadNameSupplier;
.super Ljava/lang/Object;
.source "AbstractIdleService.java"
# interfaces
.implements Lcom/google/common/base/Supplier;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractIdleService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "ThreadNameSupplier"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/base/Supplier<",
"Ljava/lang/String;",
">;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
# direct methods
.method private constructor <init>(Lcom/google/common/util/concurrent/AbstractIdleService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractIdleService$ThreadNameSupplier;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/util/concurrent/AbstractIdleService;Lcom/google/common/util/concurrent/AbstractIdleService$1;)V
.locals 0
.line 2
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/AbstractIdleService$ThreadNameSupplier;-><init>(Lcom/google/common/util/concurrent/AbstractIdleService;)V
return-void
.end method
# virtual methods
.method public bridge synthetic get()Ljava/lang/Object;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractIdleService$ThreadNameSupplier;->get()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public get()Ljava/lang/String;
.locals 4
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService$ThreadNameSupplier;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractIdleService;->serviceName()Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractIdleService$ThreadNameSupplier;->this$0:Lcom/google/common/util/concurrent/AbstractIdleService;
invoke-virtual {v1}, Lcom/google/common/util/concurrent/AbstractIdleService;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
const/4 v2, 0x1
invoke-static {v0, v2}, Lcom/android/billingclient/api/d;->a(Ljava/lang/String;I)I
move-result v2
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v3, v2
const-string v2, " "
invoke-static {v3, v0, v2, v1}, Lcom/google/android/gms/ads/internal/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,284 @@
.class public abstract Lcom/google/common/util/concurrent/AbstractIdleService;
.super Ljava/lang/Object;
.source "AbstractIdleService.java"
# interfaces
.implements Lcom/google/common/util/concurrent/Service;
# annotations
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;,
Lcom/google/common/util/concurrent/AbstractIdleService$ThreadNameSupplier;
}
.end annotation
# instance fields
.field private final delegate:Lcom/google/common/util/concurrent/Service;
.field private final threadNameSupplier:Lcom/google/common/base/Supplier;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/base/Supplier<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Lcom/google/common/util/concurrent/AbstractIdleService$ThreadNameSupplier;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lcom/google/common/util/concurrent/AbstractIdleService$ThreadNameSupplier;-><init>(Lcom/google/common/util/concurrent/AbstractIdleService;Lcom/google/common/util/concurrent/AbstractIdleService$1;)V
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->threadNameSupplier:Lcom/google/common/base/Supplier;
.line 3
new-instance v0, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;
invoke-direct {v0, p0, v1}, Lcom/google/common/util/concurrent/AbstractIdleService$DelegateService;-><init>(Lcom/google/common/util/concurrent/AbstractIdleService;Lcom/google/common/util/concurrent/AbstractIdleService$1;)V
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->delegate:Lcom/google/common/util/concurrent/Service;
return-void
.end method
.method public static synthetic access$200(Lcom/google/common/util/concurrent/AbstractIdleService;)Lcom/google/common/base/Supplier;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->threadNameSupplier:Lcom/google/common/base/Supplier;
return-object p0
.end method
# virtual methods
.method public final addListener(Lcom/google/common/util/concurrent/Service$Listener;Ljava/util/concurrent/Executor;)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0, p1, p2}, Lcom/google/common/util/concurrent/Service;->addListener(Lcom/google/common/util/concurrent/Service$Listener;Ljava/util/concurrent/Executor;)V
return-void
.end method
.method public final awaitRunning()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->awaitRunning()V
return-void
.end method
.method public final awaitRunning(JLjava/util/concurrent/TimeUnit;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/util/concurrent/TimeoutException;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0, p1, p2, p3}, Lcom/google/common/util/concurrent/Service;->awaitRunning(JLjava/util/concurrent/TimeUnit;)V
return-void
.end method
.method public final awaitTerminated()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->awaitTerminated()V
return-void
.end method
.method public final awaitTerminated(JLjava/util/concurrent/TimeUnit;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/util/concurrent/TimeoutException;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0, p1, p2, p3}, Lcom/google/common/util/concurrent/Service;->awaitTerminated(JLjava/util/concurrent/TimeUnit;)V
return-void
.end method
.method public executor()Ljava/util/concurrent/Executor;
.locals 1
.line 1
new-instance v0, Lcom/google/common/util/concurrent/AbstractIdleService$1;
invoke-direct {v0, p0}, Lcom/google/common/util/concurrent/AbstractIdleService$1;-><init>(Lcom/google/common/util/concurrent/AbstractIdleService;)V
return-object v0
.end method
.method public final failureCause()Ljava/lang/Throwable;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->failureCause()Ljava/lang/Throwable;
move-result-object v0
return-object v0
.end method
.method public final isRunning()Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->isRunning()Z
move-result v0
return v0
.end method
.method public serviceName()Ljava/lang/String;
.locals 1
.line 1
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public abstract shutDown()V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
.method public final startAsync()Lcom/google/common/util/concurrent/Service;
.locals 1
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->startAsync()Lcom/google/common/util/concurrent/Service;
return-object p0
.end method
.method public abstract startUp()V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
.method public final state()Lcom/google/common/util/concurrent/Service$State;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v0
return-object v0
.end method
.method public final stopAsync()Lcom/google/common/util/concurrent/Service;
.locals 1
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractIdleService;->delegate:Lcom/google/common/util/concurrent/Service;
invoke-interface {v0}, Lcom/google/common/util/concurrent/Service;->stopAsync()Lcom/google/common/util/concurrent/Service;
return-object p0
.end method
.method public toString()Ljava/lang/String;
.locals 5
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractIdleService;->serviceName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractIdleService;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
const/4 v2, 0x3
invoke-static {v0, v2}, Lcom/android/billingclient/api/d;->a(Ljava/lang/String;I)I
move-result v2
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v3, v2
const-string v2, " ["
const-string v4, "]"
invoke-static {v3, v0, v2, v1, v4}, Lcom/android/billingclient/api/f;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,192 @@
.class public abstract Lcom/google/common/util/concurrent/AbstractListeningExecutorService;
.super Ljava/util/concurrent/AbstractExecutorService;
.source "AbstractListeningExecutorService.java"
# interfaces
.implements Lcom/google/common/util/concurrent/ListeningExecutorService;
# annotations
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 1
invoke-direct {p0}, Ljava/util/concurrent/AbstractExecutorService;-><init>()V
return-void
.end method
# virtual methods
.method public final newTaskFor(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/RunnableFuture;
.locals 0
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Runnable;",
"TT;)",
"Ljava/util/concurrent/RunnableFuture<",
"TT;>;"
}
.end annotation
.line 1
invoke-static {p1, p2}, Lcom/google/common/util/concurrent/TrustedListenableFutureTask;->create(Ljava/lang/Runnable;Ljava/lang/Object;)Lcom/google/common/util/concurrent/TrustedListenableFutureTask;
move-result-object p1
return-object p1
.end method
.method public final newTaskFor(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/RunnableFuture;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/concurrent/Callable<",
"TT;>;)",
"Ljava/util/concurrent/RunnableFuture<",
"TT;>;"
}
.end annotation
.line 2
invoke-static {p1}, Lcom/google/common/util/concurrent/TrustedListenableFutureTask;->create(Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/TrustedListenableFutureTask;
move-result-object p1
return-object p1
.end method
.method public submit(Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Runnable;",
")",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"*>;"
}
.end annotation
.line 4
invoke-super {p0, p1}, Ljava/util/concurrent/AbstractExecutorService;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
move-result-object p1
check-cast p1, Lcom/google/common/util/concurrent/ListenableFuture;
return-object p1
.end method
.method public submit(Ljava/lang/Runnable;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 0
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Runnable;",
"TT;)",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TT;>;"
}
.end annotation
.line 5
invoke-super {p0, p1, p2}, Ljava/util/concurrent/AbstractExecutorService;->submit(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Future;
move-result-object p1
check-cast p1, Lcom/google/common/util/concurrent/ListenableFuture;
return-object p1
.end method
.method public submit(Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/concurrent/Callable<",
"TT;>;)",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TT;>;"
}
.end annotation
.line 6
invoke-super {p0, p1}, Ljava/util/concurrent/AbstractExecutorService;->submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
move-result-object p1
check-cast p1, Lcom/google/common/util/concurrent/ListenableFuture;
return-object p1
.end method
.method public bridge synthetic submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
.locals 0
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractListeningExecutorService;->submit(Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic submit(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Future;
.locals 0
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.line 2
invoke-virtual {p0, p1, p2}, Lcom/google/common/util/concurrent/AbstractListeningExecutorService;->submit(Ljava/lang/Runnable;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
.locals 0
.line 3
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractListeningExecutorService;->submit(Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,55 @@
.class Lcom/google/common/util/concurrent/AbstractScheduledService$1;
.super Lcom/google/common/util/concurrent/Service$Listener;
.source "AbstractScheduledService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractScheduledService;->executor()Ljava/util/concurrent/ScheduledExecutorService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic val$executor:Ljava/util/concurrent/ScheduledExecutorService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractScheduledService;Ljava/util/concurrent/ScheduledExecutorService;)V
.locals 0
.line 1
iput-object p2, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$1;->val$executor:Ljava/util/concurrent/ScheduledExecutorService;
invoke-direct {p0}, Lcom/google/common/util/concurrent/Service$Listener;-><init>()V
return-void
.end method
# virtual methods
.method public failed(Lcom/google/common/util/concurrent/Service$State;Ljava/lang/Throwable;)V
.locals 0
.line 1
iget-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$1;->val$executor:Ljava/util/concurrent/ScheduledExecutorService;
invoke-interface {p1}, Ljava/util/concurrent/ScheduledExecutorService;->shutdown()V
return-void
.end method
.method public terminated(Lcom/google/common/util/concurrent/Service$State;)V
.locals 0
.line 1
iget-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$1;->val$executor:Ljava/util/concurrent/ScheduledExecutorService;
invoke-interface {p1}, Ljava/util/concurrent/ScheduledExecutorService;->shutdown()V
return-void
.end method
@@ -0,0 +1,53 @@
.class Lcom/google/common/util/concurrent/AbstractScheduledService$1ThreadFactoryImpl;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# interfaces
.implements Ljava/util/concurrent/ThreadFactory;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractScheduledService;->executor()Ljava/util/concurrent/ScheduledExecutorService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "ThreadFactoryImpl"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractScheduledService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$1ThreadFactoryImpl;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$1ThreadFactoryImpl;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService;->serviceName()Ljava/lang/String;
move-result-object v0
invoke-static {v0, p1}, Lcom/google/common/util/concurrent/MoreExecutors;->newThread(Ljava/lang/String;Ljava/lang/Runnable;)Ljava/lang/Thread;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,22 @@
.class interface abstract Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractScheduledService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "Cancellable"
.end annotation
# virtual methods
.method public abstract cancel(Z)V
.end method
.method public abstract isCancelled()Z
.end method
@@ -0,0 +1,303 @@
.class final Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# interfaces
.implements Ljava/util/concurrent/Callable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "ReschedulableCallable"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/concurrent/Callable<",
"Ljava/lang/Void;",
">;"
}
.end annotation
# instance fields
.field private cancellationDelegate:Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;
.annotation build Lcom/google/errorprone/annotations/concurrent/GuardedBy;
value = "lock"
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field private final executor:Ljava/util/concurrent/ScheduledExecutorService;
.field private final lock:Ljava/util/concurrent/locks/ReentrantLock;
.field private final service:Lcom/google/common/util/concurrent/AbstractService;
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler;
.field private final wrappedRunnable:Ljava/lang/Runnable;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler;Lcom/google/common/util/concurrent/AbstractService;Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/Runnable;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler;
invoke-direct {p0}, Ljava/lang/Object;-><init>()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/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->lock:Ljava/util/concurrent/locks/ReentrantLock;
.line 3
iput-object p4, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->wrappedRunnable:Ljava/lang/Runnable;
.line 4
iput-object p3, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->executor:Ljava/util/concurrent/ScheduledExecutorService;
.line 5
iput-object p2, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->service:Lcom/google/common/util/concurrent/AbstractService;
return-void
.end method
.method private initializeOrUpdateCancellationDelegate(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
.locals 2
.annotation build Lcom/google/errorprone/annotations/concurrent/GuardedBy;
value = "lock"
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->cancellationDelegate:Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;
if-nez v0, :cond_0
.line 2
new-instance v0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->lock:Ljava/util/concurrent/locks/ReentrantLock;
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->submitToExecutor(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;)Ljava/util/concurrent/ScheduledFuture;
move-result-object p1
invoke-direct {v0, v1, p1}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;-><init>(Ljava/util/concurrent/locks/ReentrantLock;Ljava/util/concurrent/Future;)V
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->cancellationDelegate:Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;
return-object v0
.line 3
:cond_0
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->access$800(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;)Ljava/util/concurrent/Future;
move-result-object v0
invoke-interface {v0}, Ljava/util/concurrent/Future;->isCancelled()Z
move-result v0
if-nez v0, :cond_1
.line 4
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->cancellationDelegate:Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->submitToExecutor(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;)Ljava/util/concurrent/ScheduledFuture;
move-result-object p1
invoke-static {v0, p1}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->access$802(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;Ljava/util/concurrent/Future;)Ljava/util/concurrent/Future;
.line 5
:cond_1
iget-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->cancellationDelegate:Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;
return-object p1
.end method
.method private submitToExecutor(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;)Ljava/util/concurrent/ScheduledFuture;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;",
")",
"Ljava/util/concurrent/ScheduledFuture<",
"Ljava/lang/Void;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->executor:Ljava/util/concurrent/ScheduledExecutorService;
invoke-static {p1}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;->access$900(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;)J
move-result-wide v1
invoke-static {p1}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;->access$1000(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;)Ljava/util/concurrent/TimeUnit;
move-result-object p1
invoke-interface {v0, p0, v1, v2, p1}, Ljava/util/concurrent/ScheduledExecutorService;->schedule(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
move-result-object p1
return-object p1
.end method
# virtual methods
.method public bridge synthetic call()Ljava/lang/Object;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->call()Ljava/lang/Void;
move-result-object v0
return-object v0
.end method
.method public call()Ljava/lang/Void;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->wrappedRunnable:Ljava/lang/Runnable;
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
.line 3
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->reschedule()Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
const/4 v0, 0x0
return-object v0
.end method
.method public reschedule()Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
.locals 3
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
:try_start_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler;->getNextSchedule()Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;
move-result-object v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_2
const/4 v1, 0x0
.line 2
iget-object v2, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->lock:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
.line 3
:try_start_1
invoke-direct {p0, v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->initializeOrUpdateCancellationDelegate(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
move-result-object v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 4
:goto_0
iget-object v2, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->lock:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v2}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
goto :goto_1
:catchall_0
move-exception v1
.line 5
:try_start_2
new-instance v0, Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;
invoke-static {}, Lcom/google/common/util/concurrent/Futures;->immediateCancelledFuture()Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object v2
invoke-direct {v0, v2}, Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;-><init>(Ljava/util/concurrent/Future;)V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
goto :goto_0
:goto_1
if-eqz v1, :cond_0
.line 6
iget-object v2, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->service:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v2, v1}, Lcom/google/common/util/concurrent/AbstractService;->notifyFailed(Ljava/lang/Throwable;)V
:cond_0
return-object v0
:catchall_1
move-exception v0
.line 7
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->lock:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
.line 8
throw v0
:catchall_2
move-exception v0
.line 9
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->service:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v1, v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyFailed(Ljava/lang/Throwable;)V
.line 10
new-instance v0, Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;
invoke-static {}, Lcom/google/common/util/concurrent/Futures;->immediateCancelledFuture()Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object v1
invoke-direct {v0, v1}, Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;-><init>(Ljava/util/concurrent/Future;)V
return-object v0
.end method
@@ -0,0 +1,61 @@
.class public final Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "Schedule"
.end annotation
# instance fields
.field private final delay:J
.field private final unit:Ljava/util/concurrent/TimeUnit;
# direct methods
.method public constructor <init>(JLjava/util/concurrent/TimeUnit;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-wide p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;->delay:J
.line 3
invoke-static {p3}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/concurrent/TimeUnit;
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;->unit:Ljava/util/concurrent/TimeUnit;
return-void
.end method
.method public static synthetic access$1000(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;)Ljava/util/concurrent/TimeUnit;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;->unit:Ljava/util/concurrent/TimeUnit;
return-object p0
.end method
.method public static synthetic access$900(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;)J
.locals 2
.line 1
iget-wide v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;->delay:J
return-wide v0
.end method
@@ -0,0 +1,151 @@
.class final Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# interfaces
.implements Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SupplantableFuture"
.end annotation
# instance fields
.field private currentFuture:Ljava/util/concurrent/Future;
.annotation build Lcom/google/errorprone/annotations/concurrent/GuardedBy;
value = "lock"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/Future<",
"Ljava/lang/Void;",
">;"
}
.end annotation
.end field
.field private final lock:Ljava/util/concurrent/locks/ReentrantLock;
# direct methods
.method public constructor <init>(Ljava/util/concurrent/locks/ReentrantLock;Ljava/util/concurrent/Future;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/locks/ReentrantLock;",
"Ljava/util/concurrent/Future<",
"Ljava/lang/Void;",
">;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->lock:Ljava/util/concurrent/locks/ReentrantLock;
.line 3
iput-object p2, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->currentFuture:Ljava/util/concurrent/Future;
return-void
.end method
.method public static synthetic access$800(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;)Ljava/util/concurrent/Future;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->currentFuture:Ljava/util/concurrent/Future;
return-object p0
.end method
.method public static synthetic access$802(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;Ljava/util/concurrent/Future;)Ljava/util/concurrent/Future;
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->currentFuture:Ljava/util/concurrent/Future;
return-object p1
.end method
# virtual methods
.method public cancel(Z)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->lock:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->currentFuture:Ljava/util/concurrent/Future;
invoke-interface {v0, p1}, Ljava/util/concurrent/Future;->cancel(Z)Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->lock:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {p1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
return-void
:catchall_0
move-exception p1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->lock:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
.line 4
throw p1
.end method
.method public isCancelled()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->lock:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->currentFuture:Ljava/util/concurrent/Future;
invoke-interface {v0}, Ljava/util/concurrent/Future;->isCancelled()Z
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->lock:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
return v0
:catchall_0
move-exception v0
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;->lock:Ljava/util/concurrent/locks/ReentrantLock;
invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
.line 4
throw v0
.end method
@@ -0,0 +1,60 @@
.class public abstract Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler;
.super Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;
.source "AbstractScheduledService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractScheduledService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "CustomScheduler"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;,
Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$SupplantableFuture;,
Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 1
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService$1;)V
return-void
.end method
# virtual methods
.method public abstract getNextSchedule()Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$Schedule;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
.method public final schedule(Lcom/google/common/util/concurrent/AbstractService;Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
.locals 1
.line 1
new-instance v0, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;
invoke-direct {v0, p0, p1, p2, p3}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler;Lcom/google/common/util/concurrent/AbstractService;Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/Runnable;)V
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler$ReschedulableCallable;->reschedule()Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,75 @@
.class final Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# interfaces
.implements Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractScheduledService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "FutureAsCancellable"
.end annotation
# instance fields
.field private final delegate:Ljava/util/concurrent/Future;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/Future<",
"*>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/util/concurrent/Future;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/concurrent/Future<",
"*>;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;->delegate:Ljava/util/concurrent/Future;
return-void
.end method
# virtual methods
.method public cancel(Z)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;->delegate:Ljava/util/concurrent/Future;
invoke-interface {v0, p1}, Ljava/util/concurrent/Future;->cancel(Z)Z
return-void
.end method
.method public isCancelled()Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;->delegate:Ljava/util/concurrent/Future;
invoke-interface {v0}, Ljava/util/concurrent/Future;->isCancelled()Z
move-result v0
return v0
.end method
@@ -0,0 +1,69 @@
.class Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$1;
.super Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;
.source "AbstractScheduledService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;->newFixedDelaySchedule(JJLjava/util/concurrent/TimeUnit;)Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic val$delay:J
.field public final synthetic val$initialDelay:J
.field public final synthetic val$unit:Ljava/util/concurrent/TimeUnit;
# direct methods
.method public constructor <init>(JJLjava/util/concurrent/TimeUnit;)V
.locals 0
.line 1
iput-wide p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$1;->val$initialDelay:J
iput-wide p3, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$1;->val$delay:J
iput-object p5, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$1;->val$unit:Ljava/util/concurrent/TimeUnit;
const/4 p1, 0x0
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService$1;)V
return-void
.end method
# virtual methods
.method public schedule(Lcom/google/common/util/concurrent/AbstractService;Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
.locals 7
.line 1
new-instance p1, Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;
iget-wide v2, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$1;->val$initialDelay:J
iget-wide v4, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$1;->val$delay:J
iget-object v6, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$1;->val$unit:Ljava/util/concurrent/TimeUnit;
move-object v0, p2
move-object v1, p3
.line 2
invoke-interface/range {v0 .. v6}, Ljava/util/concurrent/ScheduledExecutorService;->scheduleWithFixedDelay(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
move-result-object p2
invoke-direct {p1, p2}, Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;-><init>(Ljava/util/concurrent/Future;)V
return-object p1
.end method
@@ -0,0 +1,69 @@
.class Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$2;
.super Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;
.source "AbstractScheduledService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;->newFixedRateSchedule(JJLjava/util/concurrent/TimeUnit;)Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic val$initialDelay:J
.field public final synthetic val$period:J
.field public final synthetic val$unit:Ljava/util/concurrent/TimeUnit;
# direct methods
.method public constructor <init>(JJLjava/util/concurrent/TimeUnit;)V
.locals 0
.line 1
iput-wide p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$2;->val$initialDelay:J
iput-wide p3, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$2;->val$period:J
iput-object p5, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$2;->val$unit:Ljava/util/concurrent/TimeUnit;
const/4 p1, 0x0
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService$1;)V
return-void
.end method
# virtual methods
.method public schedule(Lcom/google/common/util/concurrent/AbstractService;Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
.locals 7
.line 1
new-instance p1, Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;
iget-wide v2, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$2;->val$initialDelay:J
iget-wide v4, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$2;->val$period:J
iget-object v6, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$2;->val$unit:Ljava/util/concurrent/TimeUnit;
move-object v0, p2
move-object v1, p3
.line 2
invoke-interface/range {v0 .. v6}, Ljava/util/concurrent/ScheduledExecutorService;->scheduleAtFixedRate(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
move-result-object p2
invoke-direct {p1, p2}, Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;-><init>(Ljava/util/concurrent/Future;)V
return-object p1
.end method
@@ -0,0 +1,121 @@
.class public abstract Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractScheduledService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "Scheduler"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 0
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/util/concurrent/AbstractScheduledService$1;)V
.locals 0
.line 1
invoke-direct {p0}, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;-><init>()V
return-void
.end method
.method public static newFixedDelaySchedule(JJLjava/util/concurrent/TimeUnit;)Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;
.locals 8
.line 1
invoke-static {p4}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const-wide/16 v0, 0x0
cmp-long v0, p2, v0
if-lez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "delay must be > 0, found %s"
.line 2
invoke-static {v0, v1, p2, p3}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;J)V
.line 3
new-instance v0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$1;
move-object v2, v0
move-wide v3, p0
move-wide v5, p2
move-object v7, p4
invoke-direct/range {v2 .. v7}, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$1;-><init>(JJLjava/util/concurrent/TimeUnit;)V
return-object v0
.end method
.method public static newFixedRateSchedule(JJLjava/util/concurrent/TimeUnit;)Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;
.locals 8
.line 1
invoke-static {p4}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const-wide/16 v0, 0x0
cmp-long v0, p2, v0
if-lez v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "period must be > 0, found %s"
.line 2
invoke-static {v0, v1, p2, p3}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;J)V
.line 3
new-instance v0, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$2;
move-object v2, v0
move-wide v3, p0
move-wide v5, p2
move-object v7, p4
invoke-direct/range {v2 .. v7}, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler$2;-><init>(JJLjava/util/concurrent/TimeUnit;)V
return-object v0
.end method
# virtual methods
.method public abstract schedule(Lcom/google/common/util/concurrent/AbstractService;Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
.end method
@@ -0,0 +1,99 @@
.class Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$1;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# interfaces
.implements Lcom/google/common/base/Supplier;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->doStart()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/base/Supplier<",
"Ljava/lang/String;",
">;"
}
.end annotation
# instance fields
.field public final synthetic this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$1;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic get()Ljava/lang/Object;
.locals 1
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$1;->get()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public get()Ljava/lang/String;
.locals 4
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$1;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
iget-object v0, v0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService;->serviceName()Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$1;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-virtual {v1}, Lcom/google/common/util/concurrent/AbstractService;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
const/4 v2, 0x1
invoke-static {v0, v2}, Lcom/android/billingclient/api/d;->a(Ljava/lang/String;I)I
move-result v2
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v3, v2
const-string v2, " "
invoke-static {v3, v0, v2, v1}, Lcom/google/android/gms/ads/internal/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,159 @@
.class Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->doStart()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 5
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
iget-object v0, v0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService;->startUp()V
.line 3
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
iget-object v1, v0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
invoke-virtual {v1}, Lcom/google/common/util/concurrent/AbstractScheduledService;->scheduler()Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;
move-result-object v1
iget-object v2, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
iget-object v2, v2, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
invoke-static {v2}, Lcom/google/common/util/concurrent/AbstractScheduledService;->access$500(Lcom/google/common/util/concurrent/AbstractScheduledService;)Lcom/google/common/util/concurrent/AbstractService;
move-result-object v2
iget-object v3, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v3}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$600(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/ScheduledExecutorService;
move-result-object v3
iget-object v4, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v4}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$700(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/lang/Runnable;
move-result-object v4
invoke-virtual {v1, v2, v3, v4}, Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;->schedule(Lcom/google/common/util/concurrent/AbstractService;Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/Runnable;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
move-result-object v1
invoke-static {v0, v1}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$302(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
.line 4
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyStarted()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v0
.line 5
:try_start_1
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-virtual {v1, v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyFailed(Ljava/lang/Throwable;)V
.line 6
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$300(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
move-result-object v0
if-eqz v0, :cond_0
.line 7
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$300(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
move-result-object v0
const/4 v1, 0x0
invoke-interface {v0, v1}, Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;->cancel(Z)V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
.line 8
:cond_0
:goto_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
return-void
:catchall_1
move-exception v0
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v1}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
move-result-object v1
invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
.line 9
throw v0
.end method
@@ -0,0 +1,136 @@
.class Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->doStop()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 2
.line 1
:try_start_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
.line 2
:try_start_1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v0
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->STOPPING:Lcom/google/common/util/concurrent/Service$State;
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
if-eq v0, v1, :cond_0
.line 3
:try_start_2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
return-void
.line 4
:cond_0
:try_start_3
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
iget-object v0, v0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService;->shutDown()V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_0
.line 5
:try_start_4
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
.line 6
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyStopped()V
goto :goto_0
:catchall_0
move-exception v0
.line 7
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v1}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
move-result-object v1
invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
.line 8
throw v0
:try_end_4
.catchall {:try_start_4 .. :try_end_4} :catchall_1
:catchall_1
move-exception v0
.line 9
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-virtual {v1, v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyFailed(Ljava/lang/Throwable;)V
:goto_0
return-void
.end method
@@ -0,0 +1,180 @@
.class Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "Task"
.end annotation
# instance fields
.field public final synthetic this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 5
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
.line 2
:try_start_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$300(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
move-result-object v0
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v0, Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
invoke-interface {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;->isCancelled()Z
move-result v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v0, :cond_0
.line 3
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
return-void
.line 4
:cond_0
:try_start_1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
iget-object v0, v0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService;->runOneIteration()V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 5
:goto_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
goto :goto_2
:catchall_0
move-exception v0
.line 6
:try_start_2
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
iget-object v1, v1, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
invoke-virtual {v1}, Lcom/google/common/util/concurrent/AbstractScheduledService;->shutDown()V
:try_end_2
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_2} :catch_0
.catchall {:try_start_2 .. :try_end_2} :catchall_1
goto :goto_1
:catchall_1
move-exception v0
goto :goto_3
:catch_0
move-exception v1
.line 7
:try_start_3
invoke-static {}, Lcom/google/common/util/concurrent/AbstractScheduledService;->access$400()Ljava/util/logging/Logger;
move-result-object v2
sget-object v3, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
const-string v4, "Error while attempting to shut down the service after failure."
invoke-virtual {v2, v3, v4, v1}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
.line 8
:goto_1
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-virtual {v1, v0}, Lcom/google/common/util/concurrent/AbstractService;->notifyFailed(Ljava/lang/Throwable;)V
.line 9
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$300(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
move-result-object v0
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v0, Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
const/4 v1, 0x0
invoke-interface {v0, v1}, Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;->cancel(Z)V
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_1
goto :goto_0
:goto_2
return-void
.line 10
:goto_3
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;->this$1:Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
invoke-static {v1}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
move-result-object v1
invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V
.line 11
throw v0
.end method
@@ -0,0 +1,200 @@
.class final Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
.super Lcom/google/common/util/concurrent/AbstractService;
.source "AbstractScheduledService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractScheduledService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "ServiceDelegate"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;
}
.end annotation
# instance fields
.field private volatile executorService:Ljava/util/concurrent/ScheduledExecutorService;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field private final lock:Ljava/util/concurrent/locks/ReentrantLock;
.field private volatile runningTask:Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field private final task:Ljava/lang/Runnable;
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
# direct methods
.method private constructor <init>(Lcom/google/common/util/concurrent/AbstractScheduledService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
invoke-direct {p0}, Lcom/google/common/util/concurrent/AbstractService;-><init>()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/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->lock:Ljava/util/concurrent/locks/ReentrantLock;
.line 3
new-instance p1, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;
invoke-direct {p1, p0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$Task;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)V
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->task:Ljava/lang/Runnable;
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/util/concurrent/AbstractScheduledService;Lcom/google/common/util/concurrent/AbstractScheduledService$1;)V
.locals 0
.line 4
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService;)V
return-void
.end method
.method public static synthetic access$200(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/locks/ReentrantLock;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->lock:Ljava/util/concurrent/locks/ReentrantLock;
return-object p0
.end method
.method public static synthetic access$300(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->runningTask:Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
return-object p0
.end method
.method public static synthetic access$302(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;)Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->runningTask:Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
return-object p1
.end method
.method public static synthetic access$600(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/util/concurrent/ScheduledExecutorService;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->executorService:Ljava/util/concurrent/ScheduledExecutorService;
return-object p0
.end method
.method public static synthetic access$700(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)Ljava/lang/Runnable;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->task:Ljava/lang/Runnable;
return-object p0
.end method
# virtual methods
.method public final doStart()V
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
.line 2
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService;->executor()Ljava/util/concurrent/ScheduledExecutorService;
move-result-object v0
new-instance v1, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$1;
invoke-direct {v1, p0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$1;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)V
.line 3
invoke-static {v0, v1}, Lcom/google/common/util/concurrent/MoreExecutors;->renamingDecorator(Ljava/util/concurrent/ScheduledExecutorService;Lcom/google/common/base/Supplier;)Ljava/util/concurrent/ScheduledExecutorService;
move-result-object v0
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->executorService:Ljava/util/concurrent/ScheduledExecutorService;
.line 4
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->executorService:Ljava/util/concurrent/ScheduledExecutorService;
new-instance v1, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;
invoke-direct {v1, p0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$2;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)V
invoke-interface {v0, v1}, Ljava/util/concurrent/ScheduledExecutorService;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method public final doStop()V
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->runningTask:Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->executorService:Ljava/util/concurrent/ScheduledExecutorService;
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->runningTask:Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;
const/4 v1, 0x0
invoke-interface {v0, v1}, Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;->cancel(Z)V
.line 4
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->executorService:Ljava/util/concurrent/ScheduledExecutorService;
new-instance v1, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;
invoke-direct {v1, p0}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate$3;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;)V
invoke-interface {v0, v1}, Ljava/util/concurrent/ScheduledExecutorService;->execute(Ljava/lang/Runnable;)V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;->this$0:Lcom/google/common/util/concurrent/AbstractScheduledService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractScheduledService;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,337 @@
.class public abstract Lcom/google/common/util/concurrent/AbstractScheduledService;
.super Ljava/lang/Object;
.source "AbstractScheduledService.java"
# interfaces
.implements Lcom/google/common/util/concurrent/Service;
# annotations
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/util/concurrent/AbstractScheduledService$CustomScheduler;,
Lcom/google/common/util/concurrent/AbstractScheduledService$FutureAsCancellable;,
Lcom/google/common/util/concurrent/AbstractScheduledService$Cancellable;,
Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;,
Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;
}
.end annotation
# static fields
.field private static final logger:Ljava/util/logging/Logger;
# instance fields
.field private final delegate:Lcom/google/common/util/concurrent/AbstractService;
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
const-class v0, Lcom/google/common/util/concurrent/AbstractScheduledService;
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/common/util/concurrent/AbstractScheduledService;->logger:Ljava/util/logging/Logger;
return-void
.end method
.method public constructor <init>()V
.locals 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lcom/google/common/util/concurrent/AbstractScheduledService$ServiceDelegate;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService;Lcom/google/common/util/concurrent/AbstractScheduledService$1;)V
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
return-void
.end method
.method public static synthetic access$400()Ljava/util/logging/Logger;
.locals 1
.line 1
sget-object v0, Lcom/google/common/util/concurrent/AbstractScheduledService;->logger:Ljava/util/logging/Logger;
return-object v0
.end method
.method public static synthetic access$500(Lcom/google/common/util/concurrent/AbstractScheduledService;)Lcom/google/common/util/concurrent/AbstractService;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
return-object p0
.end method
# virtual methods
.method public final addListener(Lcom/google/common/util/concurrent/Service$Listener;Ljava/util/concurrent/Executor;)V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0, p1, p2}, Lcom/google/common/util/concurrent/AbstractService;->addListener(Lcom/google/common/util/concurrent/Service$Listener;Ljava/util/concurrent/Executor;)V
return-void
.end method
.method public final awaitRunning()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->awaitRunning()V
return-void
.end method
.method public final awaitRunning(JLjava/util/concurrent/TimeUnit;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/util/concurrent/TimeoutException;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0, p1, p2, p3}, Lcom/google/common/util/concurrent/AbstractService;->awaitRunning(JLjava/util/concurrent/TimeUnit;)V
return-void
.end method
.method public final awaitTerminated()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->awaitTerminated()V
return-void
.end method
.method public final awaitTerminated(JLjava/util/concurrent/TimeUnit;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/util/concurrent/TimeoutException;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0, p1, p2, p3}, Lcom/google/common/util/concurrent/AbstractService;->awaitTerminated(JLjava/util/concurrent/TimeUnit;)V
return-void
.end method
.method public executor()Ljava/util/concurrent/ScheduledExecutorService;
.locals 3
.line 1
new-instance v0, Lcom/google/common/util/concurrent/AbstractScheduledService$1ThreadFactoryImpl;
invoke-direct {v0, p0}, Lcom/google/common/util/concurrent/AbstractScheduledService$1ThreadFactoryImpl;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService;)V
.line 2
invoke-static {v0}, Ljava/util/concurrent/Executors;->newSingleThreadScheduledExecutor(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;
move-result-object v0
.line 3
new-instance v1, Lcom/google/common/util/concurrent/AbstractScheduledService$1;
invoke-direct {v1, p0, v0}, Lcom/google/common/util/concurrent/AbstractScheduledService$1;-><init>(Lcom/google/common/util/concurrent/AbstractScheduledService;Ljava/util/concurrent/ScheduledExecutorService;)V
.line 4
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor;
move-result-object v2
.line 5
invoke-virtual {p0, v1, v2}, Lcom/google/common/util/concurrent/AbstractScheduledService;->addListener(Lcom/google/common/util/concurrent/Service$Listener;Ljava/util/concurrent/Executor;)V
return-object v0
.end method
.method public final failureCause()Ljava/lang/Throwable;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->failureCause()Ljava/lang/Throwable;
move-result-object v0
return-object v0
.end method
.method public final isRunning()Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->isRunning()Z
move-result v0
return v0
.end method
.method public abstract runOneIteration()V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
.method public abstract scheduler()Lcom/google/common/util/concurrent/AbstractScheduledService$Scheduler;
.end method
.method public serviceName()Ljava/lang/String;
.locals 1
.line 1
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public shutDown()V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
return-void
.end method
.method public final startAsync()Lcom/google/common/util/concurrent/Service;
.locals 1
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->startAsync()Lcom/google/common/util/concurrent/Service;
return-object p0
.end method
.method public startUp()V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
return-void
.end method
.method public final state()Lcom/google/common/util/concurrent/Service$State;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v0
return-object v0
.end method
.method public final stopAsync()Lcom/google/common/util/concurrent/Service;
.locals 1
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractScheduledService;->delegate:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->stopAsync()Lcom/google/common/util/concurrent/Service;
return-object p0
.end method
.method public toString()Ljava/lang/String;
.locals 5
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractScheduledService;->serviceName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractScheduledService;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v1
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
const/4 v2, 0x3
invoke-static {v0, v2}, Lcom/android/billingclient/api/d;->a(Ljava/lang/String;I)I
move-result v2
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v3, v2
const-string v2, " ["
const-string v4, "]"
invoke-static {v3, v0, v2, v1, v4}, Lcom/android/billingclient/api/f;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,67 @@
.class Lcom/google/common/util/concurrent/AbstractService$1;
.super Ljava/lang/Object;
.source "AbstractService.java"
# interfaces
.implements Lcom/google/common/util/concurrent/ListenerCallQueue$Event;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/ListenerCallQueue$Event<",
"Lcom/google/common/util/concurrent/Service$Listener;",
">;"
}
.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 call(Lcom/google/common/util/concurrent/Service$Listener;)V
.locals 0
.line 2
invoke-virtual {p1}, Lcom/google/common/util/concurrent/Service$Listener;->starting()V
return-void
.end method
.method public bridge synthetic call(Ljava/lang/Object;)V
.locals 0
.line 1
check-cast p1, Lcom/google/common/util/concurrent/Service$Listener;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractService$1;->call(Lcom/google/common/util/concurrent/Service$Listener;)V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "starting()"
return-object v0
.end method
@@ -0,0 +1,67 @@
.class Lcom/google/common/util/concurrent/AbstractService$2;
.super Ljava/lang/Object;
.source "AbstractService.java"
# interfaces
.implements Lcom/google/common/util/concurrent/ListenerCallQueue$Event;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/ListenerCallQueue$Event<",
"Lcom/google/common/util/concurrent/Service$Listener;",
">;"
}
.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 call(Lcom/google/common/util/concurrent/Service$Listener;)V
.locals 0
.line 2
invoke-virtual {p1}, Lcom/google/common/util/concurrent/Service$Listener;->running()V
return-void
.end method
.method public bridge synthetic call(Ljava/lang/Object;)V
.locals 0
.line 1
check-cast p1, Lcom/google/common/util/concurrent/Service$Listener;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractService$2;->call(Lcom/google/common/util/concurrent/Service$Listener;)V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 1
const-string v0, "running()"
return-object v0
.end method
@@ -0,0 +1,94 @@
.class Lcom/google/common/util/concurrent/AbstractService$3;
.super Ljava/lang/Object;
.source "AbstractService.java"
# interfaces
.implements Lcom/google/common/util/concurrent/ListenerCallQueue$Event;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractService;->terminatedEvent(Lcom/google/common/util/concurrent/Service$State;)Lcom/google/common/util/concurrent/ListenerCallQueue$Event;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/ListenerCallQueue$Event<",
"Lcom/google/common/util/concurrent/Service$Listener;",
">;"
}
.end annotation
# instance fields
.field public final synthetic val$from:Lcom/google/common/util/concurrent/Service$State;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/Service$State;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractService$3;->val$from:Lcom/google/common/util/concurrent/Service$State;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public call(Lcom/google/common/util/concurrent/Service$Listener;)V
.locals 1
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$3;->val$from:Lcom/google/common/util/concurrent/Service$State;
invoke-virtual {p1, v0}, Lcom/google/common/util/concurrent/Service$Listener;->terminated(Lcom/google/common/util/concurrent/Service$State;)V
return-void
.end method
.method public bridge synthetic call(Ljava/lang/Object;)V
.locals 0
.line 1
check-cast p1, Lcom/google/common/util/concurrent/Service$Listener;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractService$3;->call(Lcom/google/common/util/concurrent/Service$Listener;)V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 4
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$3;->val$from:Lcom/google/common/util/concurrent/Service$State;
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x15
const-string v2, "terminated({from = "
const-string v3, "})"
invoke-static {v1, v2, v0, v3}, Lcom/google/android/gms/ads/internal/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,94 @@
.class Lcom/google/common/util/concurrent/AbstractService$4;
.super Ljava/lang/Object;
.source "AbstractService.java"
# interfaces
.implements Lcom/google/common/util/concurrent/ListenerCallQueue$Event;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractService;->stoppingEvent(Lcom/google/common/util/concurrent/Service$State;)Lcom/google/common/util/concurrent/ListenerCallQueue$Event;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/ListenerCallQueue$Event<",
"Lcom/google/common/util/concurrent/Service$Listener;",
">;"
}
.end annotation
# instance fields
.field public final synthetic val$from:Lcom/google/common/util/concurrent/Service$State;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/Service$State;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractService$4;->val$from:Lcom/google/common/util/concurrent/Service$State;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public call(Lcom/google/common/util/concurrent/Service$Listener;)V
.locals 1
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$4;->val$from:Lcom/google/common/util/concurrent/Service$State;
invoke-virtual {p1, v0}, Lcom/google/common/util/concurrent/Service$Listener;->stopping(Lcom/google/common/util/concurrent/Service$State;)V
return-void
.end method
.method public bridge synthetic call(Ljava/lang/Object;)V
.locals 0
.line 1
check-cast p1, Lcom/google/common/util/concurrent/Service$Listener;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractService$4;->call(Lcom/google/common/util/concurrent/Service$Listener;)V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 4
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$4;->val$from:Lcom/google/common/util/concurrent/Service$State;
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x13
const-string v2, "stopping({from = "
const-string v3, "})"
invoke-static {v1, v2, v0, v3}, Lcom/google/android/gms/ads/internal/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,120 @@
.class Lcom/google/common/util/concurrent/AbstractService$5;
.super Ljava/lang/Object;
.source "AbstractService.java"
# interfaces
.implements Lcom/google/common/util/concurrent/ListenerCallQueue$Event;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AbstractService;->enqueueFailedEvent(Lcom/google/common/util/concurrent/Service$State;Ljava/lang/Throwable;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/ListenerCallQueue$Event<",
"Lcom/google/common/util/concurrent/Service$Listener;",
">;"
}
.end annotation
# instance fields
.field public final synthetic val$cause:Ljava/lang/Throwable;
.field public final synthetic val$from:Lcom/google/common/util/concurrent/Service$State;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractService;Lcom/google/common/util/concurrent/Service$State;Ljava/lang/Throwable;)V
.locals 0
.line 1
iput-object p2, p0, Lcom/google/common/util/concurrent/AbstractService$5;->val$from:Lcom/google/common/util/concurrent/Service$State;
iput-object p3, p0, Lcom/google/common/util/concurrent/AbstractService$5;->val$cause:Ljava/lang/Throwable;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public call(Lcom/google/common/util/concurrent/Service$Listener;)V
.locals 2
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$5;->val$from:Lcom/google/common/util/concurrent/Service$State;
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractService$5;->val$cause:Ljava/lang/Throwable;
invoke-virtual {p1, v0, v1}, Lcom/google/common/util/concurrent/Service$Listener;->failed(Lcom/google/common/util/concurrent/Service$State;Ljava/lang/Throwable;)V
return-void
.end method
.method public bridge synthetic call(Ljava/lang/Object;)V
.locals 0
.line 1
check-cast p1, Lcom/google/common/util/concurrent/Service$Listener;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractService$5;->call(Lcom/google/common/util/concurrent/Service$Listener;)V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 5
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$5;->val$from:Lcom/google/common/util/concurrent/Service$State;
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractService$5;->val$cause:Ljava/lang/Throwable;
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, 0x1b
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v3, v2
const-string v2, "failed({from = "
const-string v4, ", cause = "
invoke-static {v3, v2, v0, v4, v1}, Lcom/google/ads/mediation/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "})"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,131 @@
.class synthetic Lcom/google/common/util/concurrent/AbstractService$6;
.super Ljava/lang/Object;
.source "AbstractService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
# static fields
.field public static final synthetic $SwitchMap$com$google$common$util$concurrent$Service$State:[I
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
invoke-static {}, Lcom/google/common/util/concurrent/Service$State;->values()[Lcom/google/common/util/concurrent/Service$State;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Lcom/google/common/util/concurrent/AbstractService$6;->$SwitchMap$com$google$common$util$concurrent$Service$State:[I
:try_start_0
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->NEW:Lcom/google/common/util/concurrent/Service$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
:try_end_0
.catch Ljava/lang/NoSuchFieldError; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:try_start_1
sget-object v0, Lcom/google/common/util/concurrent/AbstractService$6;->$SwitchMap$com$google$common$util$concurrent$Service$State:[I
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->STARTING:Lcom/google/common/util/concurrent/Service$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
:try_end_1
.catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
:try_start_2
sget-object v0, Lcom/google/common/util/concurrent/AbstractService$6;->$SwitchMap$com$google$common$util$concurrent$Service$State:[I
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->RUNNING:Lcom/google/common/util/concurrent/Service$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
:try_end_2
.catch Ljava/lang/NoSuchFieldError; {:try_start_2 .. :try_end_2} :catch_2
:catch_2
:try_start_3
sget-object v0, Lcom/google/common/util/concurrent/AbstractService$6;->$SwitchMap$com$google$common$util$concurrent$Service$State:[I
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->STOPPING:Lcom/google/common/util/concurrent/Service$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x4
aput v2, v0, v1
:try_end_3
.catch Ljava/lang/NoSuchFieldError; {:try_start_3 .. :try_end_3} :catch_3
:catch_3
:try_start_4
sget-object v0, Lcom/google/common/util/concurrent/AbstractService$6;->$SwitchMap$com$google$common$util$concurrent$Service$State:[I
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->TERMINATED:Lcom/google/common/util/concurrent/Service$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x5
aput v2, v0, v1
:try_end_4
.catch Ljava/lang/NoSuchFieldError; {:try_start_4 .. :try_end_4} :catch_4
:catch_4
:try_start_5
sget-object v0, Lcom/google/common/util/concurrent/AbstractService$6;->$SwitchMap$com$google$common$util$concurrent$Service$State:[I
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->FAILED:Lcom/google/common/util/concurrent/Service$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x6
aput v2, v0, v1
:try_end_5
.catch Ljava/lang/NoSuchFieldError; {:try_start_5 .. :try_end_5} :catch_5
:catch_5
return-void
.end method
@@ -0,0 +1,67 @@
.class final Lcom/google/common/util/concurrent/AbstractService$HasReachedRunningGuard;
.super Lcom/google/common/util/concurrent/Monitor$Guard;
.source "AbstractService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "HasReachedRunningGuard"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractService$HasReachedRunningGuard;->this$0:Lcom/google/common/util/concurrent/AbstractService;
.line 2
invoke-static {p1}, Lcom/google/common/util/concurrent/AbstractService;->access$000(Lcom/google/common/util/concurrent/AbstractService;)Lcom/google/common/util/concurrent/Monitor;
move-result-object p1
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/Monitor$Guard;-><init>(Lcom/google/common/util/concurrent/Monitor;)V
return-void
.end method
# virtual methods
.method public isSatisfied()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$HasReachedRunningGuard;->this$0:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v0
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->RUNNING:Lcom/google/common/util/concurrent/Service$State;
invoke-virtual {v0, v1}, Ljava/lang/Enum;->compareTo(Ljava/lang/Enum;)I
move-result v0
if-ltz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
@@ -0,0 +1,63 @@
.class final Lcom/google/common/util/concurrent/AbstractService$IsStartableGuard;
.super Lcom/google/common/util/concurrent/Monitor$Guard;
.source "AbstractService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "IsStartableGuard"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractService$IsStartableGuard;->this$0:Lcom/google/common/util/concurrent/AbstractService;
.line 2
invoke-static {p1}, Lcom/google/common/util/concurrent/AbstractService;->access$000(Lcom/google/common/util/concurrent/AbstractService;)Lcom/google/common/util/concurrent/Monitor;
move-result-object p1
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/Monitor$Guard;-><init>(Lcom/google/common/util/concurrent/Monitor;)V
return-void
.end method
# virtual methods
.method public isSatisfied()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$IsStartableGuard;->this$0:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v0
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->NEW:Lcom/google/common/util/concurrent/Service$State;
if-ne v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
@@ -0,0 +1,67 @@
.class final Lcom/google/common/util/concurrent/AbstractService$IsStoppableGuard;
.super Lcom/google/common/util/concurrent/Monitor$Guard;
.source "AbstractService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "IsStoppableGuard"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractService$IsStoppableGuard;->this$0:Lcom/google/common/util/concurrent/AbstractService;
.line 2
invoke-static {p1}, Lcom/google/common/util/concurrent/AbstractService;->access$000(Lcom/google/common/util/concurrent/AbstractService;)Lcom/google/common/util/concurrent/Monitor;
move-result-object p1
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/Monitor$Guard;-><init>(Lcom/google/common/util/concurrent/Monitor;)V
return-void
.end method
# virtual methods
.method public isSatisfied()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$IsStoppableGuard;->this$0:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v0
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->RUNNING:Lcom/google/common/util/concurrent/Service$State;
invoke-virtual {v0, v1}, Ljava/lang/Enum;->compareTo(Ljava/lang/Enum;)I
move-result v0
if-gtz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
@@ -0,0 +1,67 @@
.class final Lcom/google/common/util/concurrent/AbstractService$IsStoppedGuard;
.super Lcom/google/common/util/concurrent/Monitor$Guard;
.source "AbstractService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x11
name = "IsStoppedGuard"
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AbstractService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AbstractService;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractService$IsStoppedGuard;->this$0:Lcom/google/common/util/concurrent/AbstractService;
.line 2
invoke-static {p1}, Lcom/google/common/util/concurrent/AbstractService;->access$000(Lcom/google/common/util/concurrent/AbstractService;)Lcom/google/common/util/concurrent/Monitor;
move-result-object p1
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/Monitor$Guard;-><init>(Lcom/google/common/util/concurrent/Monitor;)V
return-void
.end method
# virtual methods
.method public isSatisfied()Z
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$IsStoppedGuard;->this$0:Lcom/google/common/util/concurrent/AbstractService;
invoke-virtual {v0}, Lcom/google/common/util/concurrent/AbstractService;->state()Lcom/google/common/util/concurrent/Service$State;
move-result-object v0
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->TERMINATED:Lcom/google/common/util/concurrent/Service$State;
invoke-virtual {v0, v1}, Ljava/lang/Enum;->compareTo(Ljava/lang/Enum;)I
move-result v0
if-ltz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
@@ -0,0 +1,183 @@
.class final Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;
.super Ljava/lang/Object;
.source "AbstractService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "StateSnapshot"
.end annotation
# instance fields
.field public final failure:Ljava/lang/Throwable;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field public final shutdownWhenStartupFinishes:Z
.field public final state:Lcom/google/common/util/concurrent/Service$State;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/Service$State;)V
.locals 2
const/4 v0, 0x0
const/4 v1, 0x0
.line 1
invoke-direct {p0, p1, v0, v1}, Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;-><init>(Lcom/google/common/util/concurrent/Service$State;ZLjava/lang/Throwable;)V
return-void
.end method
.method public constructor <init>(Lcom/google/common/util/concurrent/Service$State;ZLjava/lang/Throwable;)V
.locals 4
.param p3 # Ljava/lang/Throwable;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
const/4 v1, 0x1
if-eqz p2, :cond_1
.line 3
sget-object v2, Lcom/google/common/util/concurrent/Service$State;->STARTING:Lcom/google/common/util/concurrent/Service$State;
if-ne p1, v2, :cond_0
goto :goto_0
:cond_0
move v2, v0
goto :goto_1
:cond_1
:goto_0
move v2, v1
:goto_1
const-string v3, "shutdownWhenStartupFinishes can only be set if state is STARTING. Got %s instead."
invoke-static {v2, v3, p1}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
if-eqz p3, :cond_2
move v2, v1
goto :goto_2
:cond_2
move v2, v0
.line 4
:goto_2
sget-object v3, Lcom/google/common/util/concurrent/Service$State;->FAILED:Lcom/google/common/util/concurrent/Service$State;
if-ne p1, v3, :cond_3
move v3, v1
goto :goto_3
:cond_3
move v3, v0
:goto_3
if-ne v2, v3, :cond_4
move v0, v1
:cond_4
const-string v1, "A failure cause should be set if and only if the state is failed. Got %s and %s instead."
invoke-static {v0, v1, p1, p3}, Lcom/google/common/base/Preconditions;->checkArgument(ZLjava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
.line 5
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;->state:Lcom/google/common/util/concurrent/Service$State;
.line 6
iput-boolean p2, p0, Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;->shutdownWhenStartupFinishes:Z
.line 7
iput-object p3, p0, Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;->failure:Ljava/lang/Throwable;
return-void
.end method
# virtual methods
.method public externalState()Lcom/google/common/util/concurrent/Service$State;
.locals 2
.line 1
iget-boolean v0, p0, Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;->shutdownWhenStartupFinishes:Z
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;->state:Lcom/google/common/util/concurrent/Service$State;
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->STARTING:Lcom/google/common/util/concurrent/Service$State;
if-ne v0, v1, :cond_0
.line 2
sget-object v0, Lcom/google/common/util/concurrent/Service$State;->STOPPING:Lcom/google/common/util/concurrent/Service$State;
return-object v0
.line 3
:cond_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;->state:Lcom/google/common/util/concurrent/Service$State;
return-object v0
.end method
.method public failureCause()Ljava/lang/Throwable;
.locals 3
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;->state:Lcom/google/common/util/concurrent/Service$State;
sget-object v1, Lcom/google/common/util/concurrent/Service$State;->FAILED:Lcom/google/common/util/concurrent/Service$State;
if-ne v0, v1, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
const-string v2, "failureCause() is only valid if the service has failed, service is %s"
invoke-static {v1, v2, v0}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/String;Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractService$StateSnapshot;->failure:Ljava/lang/Throwable;
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
move-object v1, v0
check-cast v1, Ljava/lang/Throwable;
return-object v0
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,136 @@
.class final Lcom/google/common/util/concurrent/AbstractTransformFuture$AsyncTransformFuture;
.super Lcom/google/common/util/concurrent/AbstractTransformFuture;
.source "AbstractTransformFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractTransformFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "AsyncTransformFuture"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<I:",
"Ljava/lang/Object;",
"O:",
"Ljava/lang/Object;",
">",
"Lcom/google/common/util/concurrent/AbstractTransformFuture<",
"TI;TO;",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"-TI;+TO;>;",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TO;>;>;"
}
.end annotation
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TI;>;",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"-TI;+TO;>;)V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Lcom/google/common/util/concurrent/AbstractTransformFuture;-><init>(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Object;)V
return-void
.end method
# virtual methods
.method public doTransform(Lcom/google/common/util/concurrent/AsyncFunction;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 1
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"-TI;+TO;>;TI;)",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TO;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 2
invoke-interface {p1, p2}, Lcom/google/common/util/concurrent/AsyncFunction;->apply(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p2
const-string v0, "AsyncFunction.apply returned null instead of a Future. Did you mean to return immediateFuture(null)? %s"
.line 3
invoke-static {p2, v0, p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
return-object p2
.end method
.method public bridge synthetic doTransform(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
check-cast p1, Lcom/google/common/util/concurrent/AsyncFunction;
invoke-virtual {p0, p1, p2}, Lcom/google/common/util/concurrent/AbstractTransformFuture$AsyncTransformFuture;->doTransform(Lcom/google/common/util/concurrent/AsyncFunction;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
return-object p1
.end method
.method public setResult(Lcom/google/common/util/concurrent/ListenableFuture;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TO;>;)V"
}
.end annotation
.line 2
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractFuture;->setFuture(Lcom/google/common/util/concurrent/ListenableFuture;)Z
return-void
.end method
.method public bridge synthetic setResult(Ljava/lang/Object;)V
.locals 0
.line 1
check-cast p1, Lcom/google/common/util/concurrent/ListenableFuture;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractTransformFuture$AsyncTransformFuture;->setResult(Lcom/google/common/util/concurrent/ListenableFuture;)V
return-void
.end method
@@ -0,0 +1,118 @@
.class final Lcom/google/common/util/concurrent/AbstractTransformFuture$TransformFuture;
.super Lcom/google/common/util/concurrent/AbstractTransformFuture;
.source "AbstractTransformFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AbstractTransformFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "TransformFuture"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<I:",
"Ljava/lang/Object;",
"O:",
"Ljava/lang/Object;",
">",
"Lcom/google/common/util/concurrent/AbstractTransformFuture<",
"TI;TO;",
"Lcom/google/common/base/Function<",
"-TI;+TO;>;TO;>;"
}
.end annotation
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TI;>;",
"Lcom/google/common/base/Function<",
"-TI;+TO;>;)V"
}
.end annotation
.line 1
invoke-direct {p0, p1, p2}, Lcom/google/common/util/concurrent/AbstractTransformFuture;-><init>(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Object;)V
return-void
.end method
# virtual methods
.method public doTransform(Lcom/google/common/base/Function;Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/base/Function<",
"-TI;+TO;>;TI;)TO;"
}
.end annotation
.line 2
invoke-interface {p1, p2}, Lcom/google/common/base/Function;->apply(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic doTransform(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
check-cast p1, Lcom/google/common/base/Function;
invoke-virtual {p0, p1, p2}, Lcom/google/common/util/concurrent/AbstractTransformFuture$TransformFuture;->doTransform(Lcom/google/common/base/Function;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public setResult(Ljava/lang/Object;)V
.locals 0
.param p1 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(TO;)V"
}
.end annotation
.line 1
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractFuture;->set(Ljava/lang/Object;)Z
return-void
.end method
@@ -0,0 +1,488 @@
.class abstract Lcom/google/common/util/concurrent/AbstractTransformFuture;
.super Lcom/google/common/util/concurrent/FluentFuture$TrustedFuture;
.source "AbstractTransformFuture.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/util/concurrent/AbstractTransformFuture$TransformFuture;,
Lcom/google/common/util/concurrent/AbstractTransformFuture$AsyncTransformFuture;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<I:",
"Ljava/lang/Object;",
"O:",
"Ljava/lang/Object;",
"F:",
"Ljava/lang/Object;",
"T:",
"Ljava/lang/Object;",
">",
"Lcom/google/common/util/concurrent/FluentFuture$TrustedFuture<",
"TO;>;",
"Ljava/lang/Runnable;"
}
.end annotation
# instance fields
.field public function:Ljava/lang/Object;
.annotation system Ldalvik/annotation/Signature;
value = {
"TF;"
}
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
.field public inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TI;>;"
}
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/lang/Object;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TI;>;TF;)V"
}
.end annotation
.line 1
invoke-direct {p0}, Lcom/google/common/util/concurrent/FluentFuture$TrustedFuture;-><init>()V
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/util/concurrent/ListenableFuture;
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.line 3
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
iput-object p1, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->function:Ljava/lang/Object;
return-void
.end method
.method public static create(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<I:",
"Ljava/lang/Object;",
"O:",
"Ljava/lang/Object;",
">(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TI;>;",
"Lcom/google/common/base/Function<",
"-TI;+TO;>;",
"Ljava/util/concurrent/Executor;",
")",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TO;>;"
}
.end annotation
.line 4
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 5
new-instance v0, Lcom/google/common/util/concurrent/AbstractTransformFuture$TransformFuture;
invoke-direct {v0, p0, p1}, Lcom/google/common/util/concurrent/AbstractTransformFuture$TransformFuture;-><init>(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/base/Function;)V
.line 6
invoke-static {p2, v0}, Lcom/google/common/util/concurrent/MoreExecutors;->rejectionPropagatingExecutor(Ljava/util/concurrent/Executor;Lcom/google/common/util/concurrent/AbstractFuture;)Ljava/util/concurrent/Executor;
move-result-object p1
invoke-interface {p0, v0, p1}, Lcom/google/common/util/concurrent/ListenableFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
return-object v0
.end method
.method public static create(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<I:",
"Ljava/lang/Object;",
"O:",
"Ljava/lang/Object;",
">(",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TI;>;",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"-TI;+TO;>;",
"Ljava/util/concurrent/Executor;",
")",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TO;>;"
}
.end annotation
.line 1
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
new-instance v0, Lcom/google/common/util/concurrent/AbstractTransformFuture$AsyncTransformFuture;
invoke-direct {v0, p0, p1}, Lcom/google/common/util/concurrent/AbstractTransformFuture$AsyncTransformFuture;-><init>(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/AsyncFunction;)V
.line 3
invoke-static {p2, v0}, Lcom/google/common/util/concurrent/MoreExecutors;->rejectionPropagatingExecutor(Ljava/util/concurrent/Executor;Lcom/google/common/util/concurrent/AbstractFuture;)Ljava/util/concurrent/Executor;
move-result-object p1
invoke-interface {p0, v0, p1}, Lcom/google/common/util/concurrent/ListenableFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
return-object v0
.end method
# virtual methods
.method public final afterDone()V
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture;->maybePropagateCancellationTo(Ljava/util/concurrent/Future;)V
const/4 v0, 0x0
.line 2
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.line 3
iput-object v0, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->function:Ljava/lang/Object;
return-void
.end method
.method public abstract doTransform(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation build Lcom/google/errorprone/annotations/ForOverride;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(TF;TI;)TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
.method public pendingToString()Ljava/lang/String;
.locals 6
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.line 2
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->function:Ljava/lang/Object;
.line 3
invoke-super {p0}, Lcom/google/common/util/concurrent/AbstractFuture;->pendingToString()Ljava/lang/String;
move-result-object v2
if-eqz v0, :cond_0
.line 4
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v3
add-int/lit8 v3, v3, 0x10
const-string v4, "inputFuture=["
const-string v5, "], "
invoke-static {v3, v4, v0, v5}, Lcom/google/android/gms/ads/internal/a;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_0
:cond_0
const-string v0, ""
:goto_0
if-eqz v1, :cond_1
.line 5
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
const/16 v2, 0xb
invoke-static {v0, v2}, Lcom/android/billingclient/api/d;->a(Ljava/lang/String;I)I
move-result v2
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v3
add-int/2addr v3, v2
const-string v2, "function=["
const-string v4, "]"
invoke-static {v3, v0, v2, v1, v4}, Lcom/android/billingclient/api/f;->a(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
:cond_1
if-eqz v2, :cond_3
.line 6
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v1
if-eqz v1, :cond_2
invoke-virtual {v0, v2}, Ljava/lang/String;->concat(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_1
:cond_2
new-instance v1, Ljava/lang/String;
invoke-direct {v1, v0}, Ljava/lang/String;-><init>(Ljava/lang/String;)V
move-object v0, v1
:goto_1
return-object v0
:cond_3
const/4 v0, 0x0
return-object v0
.end method
.method public final run()V
.locals 6
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.line 2
iget-object v1, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->function:Ljava/lang/Object;
.line 3
invoke-virtual {p0}, Lcom/google/common/util/concurrent/FluentFuture$TrustedFuture;->isCancelled()Z
move-result v2
const/4 v3, 0x1
const/4 v4, 0x0
if-nez v0, :cond_0
move v5, v3
goto :goto_0
:cond_0
move v5, v4
:goto_0
or-int/2addr v2, v5
if-nez v1, :cond_1
goto :goto_1
:cond_1
move v3, v4
:goto_1
or-int/2addr v2, v3
if-eqz v2, :cond_2
return-void
:cond_2
const/4 v2, 0x0
.line 4
iput-object v2, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->inputFuture:Lcom/google/common/util/concurrent/ListenableFuture;
.line 5
invoke-interface {v0}, Ljava/util/concurrent/Future;->isCancelled()Z
move-result v3
if-eqz v3, :cond_3
.line 6
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture;->setFuture(Lcom/google/common/util/concurrent/ListenableFuture;)Z
return-void
.line 7
:cond_3
:try_start_0
invoke-static {v0}, Lcom/google/common/util/concurrent/Futures;->getDone(Ljava/util/concurrent/Future;)Ljava/lang/Object;
move-result-object v0
:try_end_0
.catch Ljava/util/concurrent/CancellationException; {:try_start_0 .. :try_end_0} :catch_3
.catch Ljava/util/concurrent/ExecutionException; {:try_start_0 .. :try_end_0} :catch_2
.catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/Error; {:try_start_0 .. :try_end_0} :catch_0
.line 8
:try_start_1
invoke-virtual {p0, v1, v0}, Lcom/google/common/util/concurrent/AbstractTransformFuture;->doTransform(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 9
iput-object v2, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->function:Ljava/lang/Object;
.line 10
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractTransformFuture;->setResult(Ljava/lang/Object;)V
return-void
:catchall_0
move-exception v0
.line 11
:try_start_2
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture;->setException(Ljava/lang/Throwable;)Z
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
.line 12
iput-object v2, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->function:Ljava/lang/Object;
return-void
:catchall_1
move-exception v0
iput-object v2, p0, Lcom/google/common/util/concurrent/AbstractTransformFuture;->function:Ljava/lang/Object;
.line 13
throw v0
:catch_0
move-exception v0
.line 14
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture;->setException(Ljava/lang/Throwable;)Z
return-void
:catch_1
move-exception v0
.line 15
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture;->setException(Ljava/lang/Throwable;)Z
return-void
:catch_2
move-exception v0
.line 16
invoke-virtual {v0}, Ljava/util/concurrent/ExecutionException;->getCause()Ljava/lang/Throwable;
move-result-object v0
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AbstractFuture;->setException(Ljava/lang/Throwable;)Z
return-void
.line 17
:catch_3
invoke-virtual {p0, v4}, Lcom/google/common/util/concurrent/FluentFuture$TrustedFuture;->cancel(Z)Z
return-void
.end method
.method public abstract setResult(Ljava/lang/Object;)V
.param p1 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation build Lcom/google/errorprone/annotations/ForOverride;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT;)V"
}
.end annotation
.end method
@@ -0,0 +1,104 @@
.class Lcom/google/common/util/concurrent/AggregateFuture$1;
.super Ljava/lang/Object;
.source "AggregateFuture.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AggregateFuture;->init()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AggregateFuture;
.field public final synthetic val$future:Lcom/google/common/util/concurrent/ListenableFuture;
.field public final synthetic val$index:I
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AggregateFuture;Lcom/google/common/util/concurrent/ListenableFuture;I)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AggregateFuture$1;->this$0:Lcom/google/common/util/concurrent/AggregateFuture;
iput-object p2, p0, Lcom/google/common/util/concurrent/AggregateFuture$1;->val$future:Lcom/google/common/util/concurrent/ListenableFuture;
iput p3, p0, Lcom/google/common/util/concurrent/AggregateFuture$1;->val$index:I
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 4
const/4 v0, 0x0
.line 1
:try_start_0
iget-object v1, p0, Lcom/google/common/util/concurrent/AggregateFuture$1;->val$future:Lcom/google/common/util/concurrent/ListenableFuture;
invoke-interface {v1}, Ljava/util/concurrent/Future;->isCancelled()Z
move-result v1
if-eqz v1, :cond_0
.line 2
iget-object v1, p0, Lcom/google/common/util/concurrent/AggregateFuture$1;->this$0:Lcom/google/common/util/concurrent/AggregateFuture;
invoke-static {v1, v0}, Lcom/google/common/util/concurrent/AggregateFuture;->access$002(Lcom/google/common/util/concurrent/AggregateFuture;Lcom/google/common/collect/ImmutableCollection;)Lcom/google/common/collect/ImmutableCollection;
.line 3
iget-object v1, p0, Lcom/google/common/util/concurrent/AggregateFuture$1;->this$0:Lcom/google/common/util/concurrent/AggregateFuture;
const/4 v2, 0x0
invoke-virtual {v1, v2}, Lcom/google/common/util/concurrent/AbstractFuture$TrustedFuture;->cancel(Z)Z
goto :goto_0
.line 4
:cond_0
iget-object v1, p0, Lcom/google/common/util/concurrent/AggregateFuture$1;->this$0:Lcom/google/common/util/concurrent/AggregateFuture;
iget v2, p0, Lcom/google/common/util/concurrent/AggregateFuture$1;->val$index:I
iget-object v3, p0, Lcom/google/common/util/concurrent/AggregateFuture$1;->val$future:Lcom/google/common/util/concurrent/ListenableFuture;
invoke-static {v1, v2, v3}, Lcom/google/common/util/concurrent/AggregateFuture;->access$100(Lcom/google/common/util/concurrent/AggregateFuture;ILjava/util/concurrent/Future;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 5
:goto_0
iget-object v1, p0, Lcom/google/common/util/concurrent/AggregateFuture$1;->this$0:Lcom/google/common/util/concurrent/AggregateFuture;
invoke-static {v1, v0}, Lcom/google/common/util/concurrent/AggregateFuture;->access$200(Lcom/google/common/util/concurrent/AggregateFuture;Lcom/google/common/collect/ImmutableCollection;)V
return-void
:catchall_0
move-exception v1
iget-object v2, p0, Lcom/google/common/util/concurrent/AggregateFuture$1;->this$0:Lcom/google/common/util/concurrent/AggregateFuture;
invoke-static {v2, v0}, Lcom/google/common/util/concurrent/AggregateFuture;->access$200(Lcom/google/common/util/concurrent/AggregateFuture;Lcom/google/common/collect/ImmutableCollection;)V
.line 6
throw v1
.end method
@@ -0,0 +1,53 @@
.class Lcom/google/common/util/concurrent/AggregateFuture$2;
.super Ljava/lang/Object;
.source "AggregateFuture.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AggregateFuture;->init()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/AggregateFuture;
.field public final synthetic val$localFutures:Lcom/google/common/collect/ImmutableCollection;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AggregateFuture;Lcom/google/common/collect/ImmutableCollection;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AggregateFuture$2;->this$0:Lcom/google/common/util/concurrent/AggregateFuture;
iput-object p2, p0, Lcom/google/common/util/concurrent/AggregateFuture$2;->val$localFutures:Lcom/google/common/collect/ImmutableCollection;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AggregateFuture$2;->this$0:Lcom/google/common/util/concurrent/AggregateFuture;
iget-object v1, p0, Lcom/google/common/util/concurrent/AggregateFuture$2;->val$localFutures:Lcom/google/common/collect/ImmutableCollection;
invoke-static {v0, v1}, Lcom/google/common/util/concurrent/AggregateFuture;->access$200(Lcom/google/common/util/concurrent/AggregateFuture;Lcom/google/common/collect/ImmutableCollection;)V
return-void
.end method
@@ -0,0 +1,134 @@
.class final enum Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
.super Ljava/lang/Enum;
.source "AggregateFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AggregateFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x4019
name = "ReleaseResourcesReason"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Enum<",
"Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;",
">;"
}
.end annotation
# static fields
.field private static final synthetic $VALUES:[Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
.field public static final enum ALL_INPUT_FUTURES_PROCESSED:Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
.field public static final enum OUTPUT_FUTURE_DONE:Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
# direct methods
.method private static synthetic $values()[Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
.locals 3
const/4 v0, 0x2
new-array v0, v0, [Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
.line 1
sget-object v1, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;->OUTPUT_FUTURE_DONE:Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
const/4 v2, 0x0
aput-object v1, v0, v2
sget-object v1, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;->ALL_INPUT_FUTURES_PROCESSED:Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
const/4 v2, 0x1
aput-object v1, v0, v2
return-object v0
.end method
.method public static constructor <clinit>()V
.locals 3
.line 1
new-instance v0, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
const-string v1, "OUTPUT_FUTURE_DONE"
const/4 v2, 0x0
invoke-direct {v0, v1, v2}, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;->OUTPUT_FUTURE_DONE:Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
.line 2
new-instance v0, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
const-string v1, "ALL_INPUT_FUTURES_PROCESSED"
const/4 v2, 0x1
invoke-direct {v0, v1, v2}, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;-><init>(Ljava/lang/String;I)V
sput-object v0, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;->ALL_INPUT_FUTURES_PROCESSED:Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
.line 3
invoke-static {}, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;->$values()[Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
move-result-object v0
sput-object v0, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;->$VALUES:[Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
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/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
.locals 1
.line 1
const-class v0, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
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/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
return-object p0
.end method
.method public static values()[Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
.locals 1
.line 1
sget-object v0, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;->$VALUES:[Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
invoke-virtual {v0}, [Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, [Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
return-object v0
.end method
@@ -0,0 +1,708 @@
.class abstract Lcom/google/common/util/concurrent/AggregateFuture;
.super Lcom/google/common/util/concurrent/AggregateFutureState;
.source "AggregateFuture.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<InputT:",
"Ljava/lang/Object;",
"OutputT:",
"Ljava/lang/Object;",
">",
"Lcom/google/common/util/concurrent/AggregateFutureState<",
"TOutputT;>;"
}
.end annotation
# static fields
.field private static final logger:Ljava/util/logging/Logger;
# instance fields
.field private final allMustSucceed:Z
.field private final collectsValues:Z
.field private futures:Lcom/google/common/collect/ImmutableCollection;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/common/collect/ImmutableCollection<",
"+",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TInputT;>;>;"
}
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
const-class v0, Lcom/google/common/util/concurrent/AggregateFuture;
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/common/util/concurrent/AggregateFuture;->logger:Ljava/util/logging/Logger;
return-void
.end method
.method public constructor <init>(Lcom/google/common/collect/ImmutableCollection;ZZ)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/ImmutableCollection<",
"+",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"+TInputT;>;>;ZZ)V"
}
.end annotation
.line 1
invoke-virtual {p1}, Ljava/util/AbstractCollection;->size()I
move-result v0
invoke-direct {p0, v0}, Lcom/google/common/util/concurrent/AggregateFutureState;-><init>(I)V
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/google/common/collect/ImmutableCollection;
iput-object p1, p0, Lcom/google/common/util/concurrent/AggregateFuture;->futures:Lcom/google/common/collect/ImmutableCollection;
.line 3
iput-boolean p2, p0, Lcom/google/common/util/concurrent/AggregateFuture;->allMustSucceed:Z
.line 4
iput-boolean p3, p0, Lcom/google/common/util/concurrent/AggregateFuture;->collectsValues:Z
return-void
.end method
.method public static synthetic access$002(Lcom/google/common/util/concurrent/AggregateFuture;Lcom/google/common/collect/ImmutableCollection;)Lcom/google/common/collect/ImmutableCollection;
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AggregateFuture;->futures:Lcom/google/common/collect/ImmutableCollection;
return-object p1
.end method
.method public static synthetic access$100(Lcom/google/common/util/concurrent/AggregateFuture;ILjava/util/concurrent/Future;)V
.locals 0
.line 1
invoke-direct {p0, p1, p2}, Lcom/google/common/util/concurrent/AggregateFuture;->collectValueFromNonCancelledFuture(ILjava/util/concurrent/Future;)V
return-void
.end method
.method public static synthetic access$200(Lcom/google/common/util/concurrent/AggregateFuture;Lcom/google/common/collect/ImmutableCollection;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/AggregateFuture;->decrementCountAndMaybeComplete(Lcom/google/common/collect/ImmutableCollection;)V
return-void
.end method
.method private static addCausalChain(Ljava/util/Set;Ljava/lang/Throwable;)Z
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;",
"Ljava/lang/Throwable;",
")Z"
}
.end annotation
:goto_0
if-eqz p1, :cond_1
.line 1
invoke-interface {p0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_0
const/4 p0, 0x0
return p0
.line 2
:cond_0
invoke-virtual {p1}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p1
goto :goto_0
:cond_1
const/4 p0, 0x1
return p0
.end method
.method private collectValueFromNonCancelledFuture(ILjava/util/concurrent/Future;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/util/concurrent/Future<",
"+TInputT;>;)V"
}
.end annotation
.line 1
:try_start_0
invoke-static {p2}, Lcom/google/common/util/concurrent/Futures;->getDone(Ljava/util/concurrent/Future;)Ljava/lang/Object;
move-result-object p2
invoke-virtual {p0, p1, p2}, Lcom/google/common/util/concurrent/AggregateFuture;->collectOneValue(ILjava/lang/Object;)V
:try_end_0
.catch Ljava/util/concurrent/ExecutionException; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception p1
.line 2
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/AggregateFuture;->handleException(Ljava/lang/Throwable;)V
goto :goto_0
:catch_0
move-exception p1
.line 3
invoke-virtual {p1}, Ljava/util/concurrent/ExecutionException;->getCause()Ljava/lang/Throwable;
move-result-object p1
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/AggregateFuture;->handleException(Ljava/lang/Throwable;)V
:goto_0
return-void
.end method
.method private decrementCountAndMaybeComplete(Lcom/google/common/collect/ImmutableCollection;)V
.locals 3
.param p1 # Lcom/google/common/collect/ImmutableCollection;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/ImmutableCollection<",
"+",
"Ljava/util/concurrent/Future<",
"+TInputT;>;>;)V"
}
.end annotation
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AggregateFutureState;->decrementRemainingAndGet()I
move-result v0
if-ltz v0, :cond_0
const/4 v1, 0x1
goto :goto_0
:cond_0
const/4 v1, 0x0
:goto_0
const-string v2, "Less than 0 remaining futures"
.line 2
invoke-static {v1, v2}, Lcom/google/common/base/Preconditions;->checkState(ZLjava/lang/Object;)V
if-nez v0, :cond_1
.line 3
invoke-direct {p0, p1}, Lcom/google/common/util/concurrent/AggregateFuture;->processCompleted(Lcom/google/common/collect/ImmutableCollection;)V
:cond_1
return-void
.end method
.method private handleException(Ljava/lang/Throwable;)V
.locals 1
.line 1
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
iget-boolean v0, p0, Lcom/google/common/util/concurrent/AggregateFuture;->allMustSucceed:Z
if-eqz v0, :cond_0
.line 3
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AbstractFuture;->setException(Ljava/lang/Throwable;)Z
move-result v0
if-nez v0, :cond_0
.line 4
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AggregateFutureState;->getOrInitSeenExceptions()Ljava/util/Set;
move-result-object v0
invoke-static {v0, p1}, Lcom/google/common/util/concurrent/AggregateFuture;->addCausalChain(Ljava/util/Set;Ljava/lang/Throwable;)Z
move-result v0
if-eqz v0, :cond_0
.line 5
invoke-static {p1}, Lcom/google/common/util/concurrent/AggregateFuture;->log(Ljava/lang/Throwable;)V
return-void
.line 6
:cond_0
instance-of v0, p1, Ljava/lang/Error;
if-eqz v0, :cond_1
.line 7
invoke-static {p1}, Lcom/google/common/util/concurrent/AggregateFuture;->log(Ljava/lang/Throwable;)V
:cond_1
return-void
.end method
.method private static log(Ljava/lang/Throwable;)V
.locals 3
.line 1
instance-of v0, p0, Ljava/lang/Error;
if-eqz v0, :cond_0
const-string v0, "Input Future failed with Error"
goto :goto_0
:cond_0
const-string v0, "Got more than one input Future failure. Logging failures after the first"
.line 2
:goto_0
sget-object v1, Lcom/google/common/util/concurrent/AggregateFuture;->logger:Ljava/util/logging/Logger;
sget-object v2, Ljava/util/logging/Level;->SEVERE:Ljava/util/logging/Level;
invoke-virtual {v1, v2, v0, p0}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method private processCompleted(Lcom/google/common/collect/ImmutableCollection;)V
.locals 3
.param p1 # Lcom/google/common/collect/ImmutableCollection;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/collect/ImmutableCollection<",
"+",
"Ljava/util/concurrent/Future<",
"+TInputT;>;>;)V"
}
.end annotation
if-eqz p1, :cond_1
const/4 v0, 0x0
.line 1
invoke-virtual {p1}, Lcom/google/common/collect/ImmutableCollection;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/concurrent/Future;
.line 2
invoke-interface {v1}, Ljava/util/concurrent/Future;->isCancelled()Z
move-result v2
if-nez v2, :cond_0
.line 3
invoke-direct {p0, v0, v1}, Lcom/google/common/util/concurrent/AggregateFuture;->collectValueFromNonCancelledFuture(ILjava/util/concurrent/Future;)V
:cond_0
add-int/lit8 v0, v0, 0x1
goto :goto_0
.line 4
:cond_1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AggregateFutureState;->clearSeenExceptions()V
.line 5
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AggregateFuture;->handleAllCompleted()V
.line 6
sget-object p1, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;->ALL_INPUT_FUTURES_PROCESSED:Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AggregateFuture;->releaseResources(Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;)V
return-void
.end method
# virtual methods
.method public final addInitialException(Ljava/util/Set;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;)V"
}
.end annotation
.line 1
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractFuture$TrustedFuture;->isCancelled()Z
move-result v0
if-nez v0, :cond_0
.line 3
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractFuture;->tryInternalFastPathGetFailure()Ljava/lang/Throwable;
move-result-object v0
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
move-object v1, v0
check-cast v1, Ljava/lang/Throwable;
invoke-static {p1, v0}, Lcom/google/common/util/concurrent/AggregateFuture;->addCausalChain(Ljava/util/Set;Ljava/lang/Throwable;)Z
:cond_0
return-void
.end method
.method public final afterDone()V
.locals 3
.line 1
invoke-super {p0}, Lcom/google/common/util/concurrent/AbstractFuture;->afterDone()V
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AggregateFuture;->futures:Lcom/google/common/collect/ImmutableCollection;
.line 3
sget-object v1, Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;->OUTPUT_FUTURE_DONE:Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;
invoke-virtual {p0, v1}, Lcom/google/common/util/concurrent/AggregateFuture;->releaseResources(Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;)V
.line 4
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractFuture$TrustedFuture;->isCancelled()Z
move-result v1
if-eqz v0, :cond_0
const/4 v2, 0x1
goto :goto_0
:cond_0
const/4 v2, 0x0
:goto_0
and-int/2addr v1, v2
if-eqz v1, :cond_1
.line 5
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AbstractFuture;->wasInterrupted()Z
move-result v1
.line 6
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
:goto_1
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/util/concurrent/Future;
.line 7
invoke-interface {v2, v1}, Ljava/util/concurrent/Future;->cancel(Z)Z
goto :goto_1
:cond_1
return-void
.end method
.method public abstract collectOneValue(ILjava/lang/Object;)V
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(ITInputT;)V"
}
.end annotation
.end method
.method public abstract handleAllCompleted()V
.end method
.method public final init()V
.locals 5
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AggregateFuture;->futures:Lcom/google/common/collect/ImmutableCollection;
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AggregateFuture;->futures:Lcom/google/common/collect/ImmutableCollection;
invoke-virtual {v0}, Ljava/util/AbstractCollection;->isEmpty()Z
move-result v0
if-eqz v0, :cond_0
.line 3
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AggregateFuture;->handleAllCompleted()V
return-void
.line 4
:cond_0
iget-boolean v0, p0, Lcom/google/common/util/concurrent/AggregateFuture;->allMustSucceed:Z
if-eqz v0, :cond_1
const/4 v0, 0x0
.line 5
iget-object v1, p0, Lcom/google/common/util/concurrent/AggregateFuture;->futures:Lcom/google/common/collect/ImmutableCollection;
invoke-virtual {v1}, Lcom/google/common/collect/ImmutableCollection;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v1
:goto_0
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_3
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/common/util/concurrent/ListenableFuture;
add-int/lit8 v3, v0, 0x1
.line 6
new-instance v4, Lcom/google/common/util/concurrent/AggregateFuture$1;
invoke-direct {v4, p0, v2, v0}, Lcom/google/common/util/concurrent/AggregateFuture$1;-><init>(Lcom/google/common/util/concurrent/AggregateFuture;Lcom/google/common/util/concurrent/ListenableFuture;I)V
.line 7
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor;
move-result-object v0
.line 8
invoke-interface {v2, v4, v0}, Lcom/google/common/util/concurrent/ListenableFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
move v0, v3
goto :goto_0
.line 9
:cond_1
iget-boolean v0, p0, Lcom/google/common/util/concurrent/AggregateFuture;->collectsValues:Z
if-eqz v0, :cond_2
iget-object v0, p0, Lcom/google/common/util/concurrent/AggregateFuture;->futures:Lcom/google/common/collect/ImmutableCollection;
goto :goto_1
:cond_2
const/4 v0, 0x0
.line 10
:goto_1
new-instance v1, Lcom/google/common/util/concurrent/AggregateFuture$2;
invoke-direct {v1, p0, v0}, Lcom/google/common/util/concurrent/AggregateFuture$2;-><init>(Lcom/google/common/util/concurrent/AggregateFuture;Lcom/google/common/collect/ImmutableCollection;)V
.line 11
iget-object v0, p0, Lcom/google/common/util/concurrent/AggregateFuture;->futures:Lcom/google/common/collect/ImmutableCollection;
invoke-virtual {v0}, Lcom/google/common/collect/ImmutableCollection;->iterator()Lcom/google/common/collect/UnmodifiableIterator;
move-result-object v0
:goto_2
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_3
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/google/common/util/concurrent/ListenableFuture;
.line 12
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor;
move-result-object v3
invoke-interface {v2, v1, v3}, Lcom/google/common/util/concurrent/ListenableFuture;->addListener(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
goto :goto_2
:cond_3
return-void
.end method
.method public final pendingToString()Ljava/lang/String;
.locals 3
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AggregateFuture;->futures:Lcom/google/common/collect/ImmutableCollection;
if-eqz v0, :cond_0
.line 2
invoke-static {v0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
add-int/lit8 v1, v1, 0x8
const-string v2, "futures="
invoke-static {v1, v2, v0}, Lcom/android/billingclient/api/e;->a(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.line 3
:cond_0
invoke-super {p0}, Lcom/google/common/util/concurrent/AbstractFuture;->pendingToString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public releaseResources(Lcom/google/common/util/concurrent/AggregateFuture$ReleaseResourcesReason;)V
.locals 0
.annotation build Lcom/google/errorprone/annotations/ForOverride;
.end annotation
.annotation build Lcom/google/errorprone/annotations/OverridingMethodsMustInvokeSuper;
.end annotation
.line 1
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
const/4 p1, 0x0
.line 2
iput-object p1, p0, Lcom/google/common/util/concurrent/AggregateFuture;->futures:Lcom/google/common/collect/ImmutableCollection;
return-void
.end method
@@ -0,0 +1,14 @@
.class synthetic Lcom/google/common/util/concurrent/AggregateFutureState$1;
.super Ljava/lang/Object;
.source "AggregateFutureState.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AggregateFutureState;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
@@ -0,0 +1,66 @@
.class abstract Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
.super Ljava/lang/Object;
.source "AggregateFutureState.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AggregateFutureState;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "AtomicHelper"
.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 synthetic constructor <init>(Lcom/google/common/util/concurrent/AggregateFutureState$1;)V
.locals 0
.line 2
invoke-direct {p0}, Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;-><init>()V
return-void
.end method
# virtual methods
.method public abstract compareAndSetSeenExceptions(Lcom/google/common/util/concurrent/AggregateFutureState;Ljava/util/Set;Ljava/util/Set;)V
.param p2 # Ljava/util/Set;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AggregateFutureState<",
"*>;",
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;",
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;)V"
}
.end annotation
.end method
.method public abstract decrementAndGetRemainingCount(Lcom/google/common/util/concurrent/AggregateFutureState;)I
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AggregateFutureState<",
"*>;)I"
}
.end annotation
.end method
@@ -0,0 +1,108 @@
.class final Lcom/google/common/util/concurrent/AggregateFutureState$SafeAtomicHelper;
.super Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
.source "AggregateFutureState.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AggregateFutureState;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SafeAtomicHelper"
.end annotation
# instance fields
.field public final remainingCountUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<",
"Lcom/google/common/util/concurrent/AggregateFutureState<",
"*>;>;"
}
.end annotation
.end field
.field public final seenExceptionsUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<",
"Lcom/google/common/util/concurrent/AggregateFutureState<",
"*>;",
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;)V
.locals 1
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0}, Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;-><init>(Lcom/google/common/util/concurrent/AggregateFutureState$1;)V
.line 2
iput-object p1, p0, Lcom/google/common/util/concurrent/AggregateFutureState$SafeAtomicHelper;->seenExceptionsUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
.line 3
iput-object p2, p0, Lcom/google/common/util/concurrent/AggregateFutureState$SafeAtomicHelper;->remainingCountUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
return-void
.end method
# virtual methods
.method public compareAndSetSeenExceptions(Lcom/google/common/util/concurrent/AggregateFutureState;Ljava/util/Set;Ljava/util/Set;)V
.locals 1
.param p2 # Ljava/util/Set;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AggregateFutureState<",
"*>;",
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;",
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AggregateFutureState$SafeAtomicHelper;->seenExceptionsUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
invoke-virtual {v0, p1, p2, p3}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
return-void
.end method
.method public decrementAndGetRemainingCount(Lcom/google/common/util/concurrent/AggregateFutureState;)I
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AggregateFutureState<",
"*>;)I"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AggregateFutureState$SafeAtomicHelper;->remainingCountUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->decrementAndGet(Ljava/lang/Object;)I
move-result p1
return p1
.end method
@@ -0,0 +1,122 @@
.class final Lcom/google/common/util/concurrent/AggregateFutureState$SynchronizedAtomicHelper;
.super Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
.source "AggregateFutureState.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/AggregateFutureState;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "SynchronizedAtomicHelper"
.end annotation
# direct methods
.method private constructor <init>()V
.locals 1
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0}, Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;-><init>(Lcom/google/common/util/concurrent/AggregateFutureState$1;)V
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/util/concurrent/AggregateFutureState$1;)V
.locals 0
.line 2
invoke-direct {p0}, Lcom/google/common/util/concurrent/AggregateFutureState$SynchronizedAtomicHelper;-><init>()V
return-void
.end method
# virtual methods
.method public compareAndSetSeenExceptions(Lcom/google/common/util/concurrent/AggregateFutureState;Ljava/util/Set;Ljava/util/Set;)V
.locals 1
.param p2 # Ljava/util/Set;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AggregateFutureState<",
"*>;",
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;",
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;)V"
}
.end annotation
.line 1
monitor-enter p1
.line 2
:try_start_0
invoke-static {p1}, Lcom/google/common/util/concurrent/AggregateFutureState;->access$200(Lcom/google/common/util/concurrent/AggregateFutureState;)Ljava/util/Set;
move-result-object v0
if-ne v0, p2, :cond_0
.line 3
invoke-static {p1, p3}, Lcom/google/common/util/concurrent/AggregateFutureState;->access$202(Lcom/google/common/util/concurrent/AggregateFutureState;Ljava/util/Set;)Ljava/util/Set;
.line 4
:cond_0
monitor-exit p1
return-void
:catchall_0
move-exception p2
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p2
.end method
.method public decrementAndGetRemainingCount(Lcom/google/common/util/concurrent/AggregateFutureState;)I
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/AggregateFutureState<",
"*>;)I"
}
.end annotation
.line 1
monitor-enter p1
.line 2
:try_start_0
invoke-static {p1}, Lcom/google/common/util/concurrent/AggregateFutureState;->access$306(Lcom/google/common/util/concurrent/AggregateFutureState;)I
move-result v0
monitor-exit p1
return v0
:catchall_0
move-exception v0
.line 3
monitor-exit p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
@@ -0,0 +1,265 @@
.class abstract Lcom/google/common/util/concurrent/AggregateFutureState;
.super Lcom/google/common/util/concurrent/AbstractFuture$TrustedFuture;
.source "AggregateFutureState.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
.annotation build Lcom/google/j2objc/annotations/ReflectionSupport;
value = .enum Lcom/google/j2objc/annotations/ReflectionSupport$Level;->FULL:Lcom/google/j2objc/annotations/ReflectionSupport$Level;
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/google/common/util/concurrent/AggregateFutureState$SynchronizedAtomicHelper;,
Lcom/google/common/util/concurrent/AggregateFutureState$SafeAtomicHelper;,
Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<OutputT:",
"Ljava/lang/Object;",
">",
"Lcom/google/common/util/concurrent/AbstractFuture$TrustedFuture<",
"TOutputT;>;"
}
.end annotation
# static fields
.field private static final ATOMIC_HELPER:Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
.field private static final log:Ljava/util/logging/Logger;
# instance fields
.field private volatile remaining:I
.field private volatile seenExceptions:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;"
}
.end annotation
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
# direct methods
.method public static constructor <clinit>()V
.locals 5
.line 1
const-class v0, Lcom/google/common/util/concurrent/AggregateFutureState;
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/common/util/concurrent/AggregateFutureState;->log:Ljava/util/logging/Logger;
const/4 v0, 0x0
.line 2
:try_start_0
new-instance v1, Lcom/google/common/util/concurrent/AggregateFutureState$SafeAtomicHelper;
const-class v2, Lcom/google/common/util/concurrent/AggregateFutureState;
const-class v3, Ljava/util/Set;
const-string v4, "seenExceptions"
.line 3
invoke-static {v2, v3, v4}, Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
move-result-object v2
const-class v3, Lcom/google/common/util/concurrent/AggregateFutureState;
const-string v4, "remaining"
.line 4
invoke-static {v3, v4}, Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
move-result-object v3
invoke-direct {v1, v2, v3}, Lcom/google/common/util/concurrent/AggregateFutureState$SafeAtomicHelper;-><init>(Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
move-exception v1
.line 5
new-instance v2, Lcom/google/common/util/concurrent/AggregateFutureState$SynchronizedAtomicHelper;
invoke-direct {v2, v0}, Lcom/google/common/util/concurrent/AggregateFutureState$SynchronizedAtomicHelper;-><init>(Lcom/google/common/util/concurrent/AggregateFutureState$1;)V
move-object v0, v1
move-object v1, v2
.line 6
:goto_0
sput-object v1, Lcom/google/common/util/concurrent/AggregateFutureState;->ATOMIC_HELPER:Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
if-eqz v0, :cond_0
.line 7
sget-object v1, Lcom/google/common/util/concurrent/AggregateFutureState;->log:Ljava/util/logging/Logger;
sget-object v2, Ljava/util/logging/Level;->SEVERE:Ljava/util/logging/Level;
const-string v3, "SafeAtomicHelper is broken!"
invoke-virtual {v1, v2, v3, v0}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_0
return-void
.end method
.method public constructor <init>(I)V
.locals 1
.line 1
invoke-direct {p0}, Lcom/google/common/util/concurrent/AbstractFuture$TrustedFuture;-><init>()V
const/4 v0, 0x0
.line 2
iput-object v0, p0, Lcom/google/common/util/concurrent/AggregateFutureState;->seenExceptions:Ljava/util/Set;
.line 3
iput p1, p0, Lcom/google/common/util/concurrent/AggregateFutureState;->remaining:I
return-void
.end method
.method public static synthetic access$200(Lcom/google/common/util/concurrent/AggregateFutureState;)Ljava/util/Set;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/common/util/concurrent/AggregateFutureState;->seenExceptions:Ljava/util/Set;
return-object p0
.end method
.method public static synthetic access$202(Lcom/google/common/util/concurrent/AggregateFutureState;Ljava/util/Set;)Ljava/util/Set;
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/AggregateFutureState;->seenExceptions:Ljava/util/Set;
return-object p1
.end method
.method public static synthetic access$306(Lcom/google/common/util/concurrent/AggregateFutureState;)I
.locals 1
.line 1
iget v0, p0, Lcom/google/common/util/concurrent/AggregateFutureState;->remaining:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/google/common/util/concurrent/AggregateFutureState;->remaining:I
return v0
.end method
# virtual methods
.method public abstract addInitialException(Ljava/util/Set;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;)V"
}
.end annotation
.end method
.method public final clearSeenExceptions()V
.locals 1
const/4 v0, 0x0
.line 1
iput-object v0, p0, Lcom/google/common/util/concurrent/AggregateFutureState;->seenExceptions:Ljava/util/Set;
return-void
.end method
.method public final decrementRemainingAndGet()I
.locals 1
.line 1
sget-object v0, Lcom/google/common/util/concurrent/AggregateFutureState;->ATOMIC_HELPER:Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
invoke-virtual {v0, p0}, Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;->decrementAndGetRemainingCount(Lcom/google/common/util/concurrent/AggregateFutureState;)I
move-result v0
return v0
.end method
.method public final getOrInitSeenExceptions()Ljava/util/Set;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/Set<",
"Ljava/lang/Throwable;",
">;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AggregateFutureState;->seenExceptions:Ljava/util/Set;
if-nez v0, :cond_0
.line 2
invoke-static {}, Lcom/google/common/collect/Sets;->newConcurrentHashSet()Ljava/util/Set;
move-result-object v0
.line 3
invoke-virtual {p0, v0}, Lcom/google/common/util/concurrent/AggregateFutureState;->addInitialException(Ljava/util/Set;)V
.line 4
sget-object v1, Lcom/google/common/util/concurrent/AggregateFutureState;->ATOMIC_HELPER:Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;
const/4 v2, 0x0
invoke-virtual {v1, p0, v2, v0}, Lcom/google/common/util/concurrent/AggregateFutureState$AtomicHelper;->compareAndSetSeenExceptions(Lcom/google/common/util/concurrent/AggregateFutureState;Ljava/util/Set;Ljava/util/Set;)V
.line 5
iget-object v0, p0, Lcom/google/common/util/concurrent/AggregateFutureState;->seenExceptions:Ljava/util/Set;
invoke-static {v0}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v0, Ljava/util/Set;
:cond_0
return-object v0
.end method
@@ -0,0 +1,41 @@
.class public interface abstract Lcom/google/common/util/concurrent/AsyncCallable;
.super Ljava/lang/Object;
.source "AsyncCallable.java"
# annotations
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract call()Lcom/google/common/util/concurrent/ListenableFuture;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
@@ -0,0 +1,44 @@
.class public interface abstract Lcom/google/common/util/concurrent/AsyncFunction;
.super Ljava/lang/Object;
.source "AsyncFunction.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<I:",
"Ljava/lang/Object;",
"O:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract apply(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
.param p1 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(TI;)",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TO;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
@@ -0,0 +1,356 @@
.class public Lcom/google/common/util/concurrent/AtomicDouble;
.super Ljava/lang/Number;
.source "AtomicDouble.java"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field private transient value:Ljava/util/concurrent/atomic/AtomicLong;
# direct methods
.method public constructor <init>()V
.locals 2
const-wide/16 v0, 0x0
.line 3
invoke-direct {p0, v0, v1}, Lcom/google/common/util/concurrent/AtomicDouble;-><init>(D)V
return-void
.end method
.method public constructor <init>(D)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Number;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
invoke-static {p1, p2}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p1
invoke-direct {v0, p1, p2}, Ljava/util/concurrent/atomic/AtomicLong;-><init>(J)V
iput-object v0, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
return-void
.end method
.method private readObject(Ljava/io/ObjectInputStream;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/ClassNotFoundException;
}
.end annotation
.line 1
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->defaultReadObject()V
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicLong;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicLong;-><init>()V
iput-object v0, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
.line 3
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readDouble()D
move-result-wide v0
invoke-virtual {p0, v0, v1}, Lcom/google/common/util/concurrent/AtomicDouble;->set(D)V
return-void
.end method
.method private writeObject(Ljava/io/ObjectOutputStream;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p1}, Ljava/io/ObjectOutputStream;->defaultWriteObject()V
.line 2
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AtomicDouble;->get()D
move-result-wide v0
invoke-virtual {p1, v0, v1}, Ljava/io/ObjectOutputStream;->writeDouble(D)V
return-void
.end method
# virtual methods
.method public final addAndGet(D)D
.locals 7
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
:cond_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v0
.line 2
invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v2
add-double/2addr v2, p1
.line 3
invoke-static {v2, v3}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide v4
.line 4
iget-object v6, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v6, v0, v1, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;->compareAndSet(JJ)Z
move-result v0
if-eqz v0, :cond_0
return-wide v2
.end method
.method public final compareAndSet(DD)Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
invoke-static {p1, p2}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p1
invoke-static {p3, p4}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p3
invoke-virtual {v0, p1, p2, p3, p4}, Ljava/util/concurrent/atomic/AtomicLong;->compareAndSet(JJ)Z
move-result p1
return p1
.end method
.method public doubleValue()D
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AtomicDouble;->get()D
move-result-wide v0
return-wide v0
.end method
.method public floatValue()F
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AtomicDouble;->get()D
move-result-wide v0
double-to-float v0, v0
return v0
.end method
.method public final get()D
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v0
return-wide v0
.end method
.method public final getAndAdd(D)D
.locals 7
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
:cond_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v0
.line 2
invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v2
add-double v4, v2, p1
.line 3
invoke-static {v4, v5}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide v4
.line 4
iget-object v6, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v6, v0, v1, v4, v5}, Ljava/util/concurrent/atomic/AtomicLong;->compareAndSet(JJ)Z
move-result v0
if-eqz v0, :cond_0
return-wide v2
.end method
.method public final getAndSet(D)D
.locals 1
.line 1
invoke-static {p1, p2}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p1
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/atomic/AtomicLong;->getAndSet(J)J
move-result-wide p1
invoke-static {p1, p2}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide p1
return-wide p1
.end method
.method public intValue()I
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AtomicDouble;->get()D
move-result-wide v0
double-to-int v0, v0
return v0
.end method
.method public final lazySet(D)V
.locals 1
.line 1
invoke-static {p1, p2}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p1
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/atomic/AtomicLong;->lazySet(J)V
return-void
.end method
.method public longValue()J
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AtomicDouble;->get()D
move-result-wide v0
double-to-long v0, v0
return-wide v0
.end method
.method public final set(D)V
.locals 1
.line 1
invoke-static {p1, p2}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p1
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {v0, p1, p2}, Ljava/util/concurrent/atomic/AtomicLong;->set(J)V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 2
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AtomicDouble;->get()D
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->toString(D)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final weakCompareAndSet(DD)Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDouble;->value:Ljava/util/concurrent/atomic/AtomicLong;
invoke-static {p1, p2}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p1
invoke-static {p3, p4}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p3
invoke-virtual {v0, p1, p2, p3, p4}, Ljava/util/concurrent/atomic/AtomicLong;->weakCompareAndSet(JJ)Z
move-result p1
return p1
.end method
@@ -0,0 +1,468 @@
.class public Lcom/google/common/util/concurrent/AtomicDoubleArray;
.super Ljava/lang/Object;
.source "AtomicDoubleArray.java"
# interfaces
.implements Ljava/io/Serializable;
# annotations
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.end annotation
# static fields
.field private static final serialVersionUID:J
# instance fields
.field private transient longs:Ljava/util/concurrent/atomic/AtomicLongArray;
# direct methods
.method public constructor <init>(I)V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-direct {v0, p1}, Ljava/util/concurrent/atomic/AtomicLongArray;-><init>(I)V
iput-object v0, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
return-void
.end method
.method public constructor <init>([D)V
.locals 5
.line 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 4
array-length v0, p1
.line 5
new-array v1, v0, [J
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_0
.line 6
aget-wide v3, p1, v2
invoke-static {v3, v4}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide v3
aput-wide v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 7
:cond_0
new-instance p1, Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-direct {p1, v1}, Ljava/util/concurrent/atomic/AtomicLongArray;-><init>([J)V
iput-object p1, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
return-void
.end method
.method private readObject(Ljava/io/ObjectInputStream;)V
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Ljava/lang/ClassNotFoundException;
}
.end annotation
.line 1
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->defaultReadObject()V
.line 2
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readInt()I
move-result v0
.line 3
invoke-static {}, Lcom/google/common/primitives/ImmutableLongArray;->builder()Lcom/google/common/primitives/ImmutableLongArray$Builder;
move-result-object v1
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_0
.line 4
invoke-virtual {p1}, Ljava/io/ObjectInputStream;->readDouble()D
move-result-wide v3
invoke-static {v3, v4}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide v3
invoke-virtual {v1, v3, v4}, Lcom/google/common/primitives/ImmutableLongArray$Builder;->add(J)Lcom/google/common/primitives/ImmutableLongArray$Builder;
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 5
:cond_0
new-instance p1, Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-virtual {v1}, Lcom/google/common/primitives/ImmutableLongArray$Builder;->build()Lcom/google/common/primitives/ImmutableLongArray;
move-result-object v0
invoke-virtual {v0}, Lcom/google/common/primitives/ImmutableLongArray;->toArray()[J
move-result-object v0
invoke-direct {p1, v0}, Ljava/util/concurrent/atomic/AtomicLongArray;-><init>([J)V
iput-object p1, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
return-void
.end method
.method private writeObject(Ljava/io/ObjectOutputStream;)V
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1
invoke-virtual {p1}, Ljava/io/ObjectOutputStream;->defaultWriteObject()V
.line 2
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AtomicDoubleArray;->length()I
move-result v0
.line 3
invoke-virtual {p1, v0}, Ljava/io/ObjectOutputStream;->writeInt(I)V
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
.line 4
invoke-virtual {p0, v1}, Lcom/google/common/util/concurrent/AtomicDoubleArray;->get(I)D
move-result-wide v2
invoke-virtual {p1, v2, v3}, Ljava/io/ObjectOutputStream;->writeDouble(D)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-void
.end method
# virtual methods
.method public addAndGet(ID)D
.locals 9
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
:cond_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicLongArray;->get(I)J
move-result-wide v3
.line 2
invoke-static {v3, v4}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v0
add-double v7, v0, p2
.line 3
invoke-static {v7, v8}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide v5
.line 4
iget-object v1, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
move v2, p1
invoke-virtual/range {v1 .. v6}, Ljava/util/concurrent/atomic/AtomicLongArray;->compareAndSet(IJJ)Z
move-result v0
if-eqz v0, :cond_0
return-wide v7
.end method
.method public final compareAndSet(IDD)Z
.locals 6
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-static {p2, p3}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide v2
invoke-static {p4, p5}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide v4
move v1, p1
invoke-virtual/range {v0 .. v5}, Ljava/util/concurrent/atomic/AtomicLongArray;->compareAndSet(IJJ)Z
move-result p1
return p1
.end method
.method public final get(I)D
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicLongArray;->get(I)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v0
return-wide v0
.end method
.method public final getAndAdd(ID)D
.locals 9
.annotation build Lcom/google/errorprone/annotations/CanIgnoreReturnValue;
.end annotation
.line 1
:cond_0
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-virtual {v0, p1}, Ljava/util/concurrent/atomic/AtomicLongArray;->get(I)J
move-result-wide v3
.line 2
invoke-static {v3, v4}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v7
add-double v0, v7, p2
.line 3
invoke-static {v0, v1}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide v5
.line 4
iget-object v1, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
move v2, p1
invoke-virtual/range {v1 .. v6}, Ljava/util/concurrent/atomic/AtomicLongArray;->compareAndSet(IJJ)Z
move-result v0
if-eqz v0, :cond_0
return-wide v7
.end method
.method public final getAndSet(ID)D
.locals 1
.line 1
invoke-static {p2, p3}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p2
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-virtual {v0, p1, p2, p3}, Ljava/util/concurrent/atomic/AtomicLongArray;->getAndSet(IJ)J
move-result-wide p1
invoke-static {p1, p2}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide p1
return-wide p1
.end method
.method public final lazySet(ID)V
.locals 1
.line 1
invoke-static {p2, p3}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p2
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-virtual {v0, p1, p2, p3}, Ljava/util/concurrent/atomic/AtomicLongArray;->lazySet(IJ)V
return-void
.end method
.method public final length()I
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicLongArray;->length()I
move-result v0
return v0
.end method
.method public final set(ID)V
.locals 1
.line 1
invoke-static {p2, p3}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide p2
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-virtual {v0, p1, p2, p3}, Ljava/util/concurrent/atomic/AtomicLongArray;->set(IJ)V
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 5
.line 1
invoke-virtual {p0}, Lcom/google/common/util/concurrent/AtomicDoubleArray;->length()I
move-result v0
add-int/lit8 v0, v0, -0x1
const/4 v1, -0x1
if-ne v0, v1, :cond_0
const-string v0, "[]"
return-object v0
.line 2
:cond_0
new-instance v1, Ljava/lang/StringBuilder;
add-int/lit8 v2, v0, 0x1
mul-int/lit8 v2, v2, 0x13
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(I)V
const/16 v2, 0x5b
.line 3
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/4 v2, 0x0
.line 4
:goto_0
iget-object v3, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-virtual {v3, v2}, Ljava/util/concurrent/atomic/AtomicLongArray;->get(I)J
move-result-wide v3
invoke-static {v3, v4}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v3
invoke-virtual {v1, v3, v4}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
if-ne v2, v0, :cond_1
const/16 v0, 0x5d
.line 5
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
:cond_1
const/16 v3, 0x2c
.line 6
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
const/16 v3, 0x20
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
add-int/lit8 v2, v2, 0x1
goto :goto_0
.end method
.method public final weakCompareAndSet(IDD)Z
.locals 6
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/AtomicDoubleArray;->longs:Ljava/util/concurrent/atomic/AtomicLongArray;
invoke-static {p2, p3}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide v2
invoke-static {p4, p5}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide v4
move v1, p1
invoke-virtual/range {v0 .. v5}, Ljava/util/concurrent/atomic/AtomicLongArray;->weakCompareAndSet(IJJ)Z
move-result p1
return p1
.end method
@@ -0,0 +1,68 @@
.class Lcom/google/common/util/concurrent/AtomicLongMap$1;
.super Ljava/lang/Object;
.source "AtomicLongMap.java"
# interfaces
.implements Lcom/google/common/base/Function;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/AtomicLongMap;->createAsMap()Ljava/util/Map;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/base/Function<",
"Ljava/util/concurrent/atomic/AtomicLong;",
"Ljava/lang/Long;",
">;"
}
.end annotation
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AtomicLongMap;)V
.locals 0
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public apply(Ljava/util/concurrent/atomic/AtomicLong;)Ljava/lang/Long;
.locals 2
.line 2
invoke-virtual {p1}, Ljava/util/concurrent/atomic/AtomicLong;->get()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p1
return-object p1
.end method
.method public bridge synthetic apply(Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.line 1
check-cast p1, Ljava/util/concurrent/atomic/AtomicLong;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/AtomicLongMap$1;->apply(Ljava/util/concurrent/atomic/AtomicLong;)Ljava/lang/Long;
move-result-object p1
return-object p1
.end method
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,106 @@
.class public final Lcom/google/common/util/concurrent/Atomics;
.super Ljava/lang/Object;
.source "Atomics.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.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 newReference()Ljava/util/concurrent/atomic/AtomicReference;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">()",
"Ljava/util/concurrent/atomic/AtomicReference<",
"TV;>;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
return-object v0
.end method
.method public static newReference(Ljava/lang/Object;)Ljava/util/concurrent/atomic/AtomicReference;
.locals 1
.param p0 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">(TV;)",
"Ljava/util/concurrent/atomic/AtomicReference<",
"TV;>;"
}
.end annotation
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0, p0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
return-object v0
.end method
.method public static newReferenceArray(I)Ljava/util/concurrent/atomic/AtomicReferenceArray;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">(I)",
"Ljava/util/concurrent/atomic/AtomicReferenceArray<",
"TE;>;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-direct {v0, p0}, Ljava/util/concurrent/atomic/AtomicReferenceArray;-><init>(I)V
return-object v0
.end method
.method public static newReferenceArray([Ljava/lang/Object;)Ljava/util/concurrent/atomic/AtomicReferenceArray;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">([TE;)",
"Ljava/util/concurrent/atomic/AtomicReferenceArray<",
"TE;>;"
}
.end annotation
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicReferenceArray;
invoke-direct {v0, p0}, Ljava/util/concurrent/atomic/AtomicReferenceArray;-><init>([Ljava/lang/Object;)V
return-object v0
.end method
@@ -0,0 +1,61 @@
.class Lcom/google/common/util/concurrent/Callables$1;
.super Ljava/lang/Object;
.source "Callables.java"
# interfaces
.implements Ljava/util/concurrent/Callable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/Callables;->returning(Ljava/lang/Object;)Ljava/util/concurrent/Callable;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/concurrent/Callable<",
"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/common/util/concurrent/Callables$1;->val$value:Ljava/lang/Object;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public call()Ljava/lang/Object;
.locals 1
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/Callables$1;->val$value:Ljava/lang/Object;
return-object v0
.end method
@@ -0,0 +1,76 @@
.class Lcom/google/common/util/concurrent/Callables$2;
.super Ljava/lang/Object;
.source "Callables.java"
# interfaces
.implements Lcom/google/common/util/concurrent/AsyncCallable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/Callables;->asAsyncCallable(Ljava/util/concurrent/Callable;Lcom/google/common/util/concurrent/ListeningExecutorService;)Lcom/google/common/util/concurrent/AsyncCallable;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/AsyncCallable<",
"TT;>;"
}
.end annotation
# instance fields
.field public final synthetic val$callable:Ljava/util/concurrent/Callable;
.field public final synthetic val$listeningExecutorService:Lcom/google/common/util/concurrent/ListeningExecutorService;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ListeningExecutorService;Ljava/util/concurrent/Callable;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/Callables$2;->val$listeningExecutorService:Lcom/google/common/util/concurrent/ListeningExecutorService;
iput-object p2, p0, Lcom/google/common/util/concurrent/Callables$2;->val$callable:Ljava/util/concurrent/Callable;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public call()Lcom/google/common/util/concurrent/ListenableFuture;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TT;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/Callables$2;->val$listeningExecutorService:Lcom/google/common/util/concurrent/ListeningExecutorService;
iget-object v1, p0, Lcom/google/common/util/concurrent/Callables$2;->val$callable:Ljava/util/concurrent/Callable;
invoke-interface {v0, v1}, Lcom/google/common/util/concurrent/ListeningExecutorService;->submit(Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,118 @@
.class Lcom/google/common/util/concurrent/Callables$3;
.super Ljava/lang/Object;
.source "Callables.java"
# interfaces
.implements Ljava/util/concurrent/Callable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/Callables;->threadRenaming(Ljava/util/concurrent/Callable;Lcom/google/common/base/Supplier;)Ljava/util/concurrent/Callable;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/concurrent/Callable<",
"TT;>;"
}
.end annotation
# instance fields
.field public final synthetic val$callable:Ljava/util/concurrent/Callable;
.field public final synthetic val$nameSupplier:Lcom/google/common/base/Supplier;
# direct methods
.method public constructor <init>(Lcom/google/common/base/Supplier;Ljava/util/concurrent/Callable;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/Callables$3;->val$nameSupplier:Lcom/google/common/base/Supplier;
iput-object p2, p0, Lcom/google/common/util/concurrent/Callables$3;->val$callable:Ljava/util/concurrent/Callable;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public call()Ljava/lang/Object;
.locals 4
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()TT;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
.line 2
invoke-virtual {v0}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v1
.line 3
iget-object v2, p0, Lcom/google/common/util/concurrent/Callables$3;->val$nameSupplier:Lcom/google/common/base/Supplier;
invoke-interface {v2}, Lcom/google/common/base/Supplier;->get()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-static {v2, v0}, Lcom/google/common/util/concurrent/Callables;->access$000(Ljava/lang/String;Ljava/lang/Thread;)Z
move-result v2
.line 4
:try_start_0
iget-object v3, p0, Lcom/google/common/util/concurrent/Callables$3;->val$callable:Ljava/util/concurrent/Callable;
invoke-interface {v3}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object v3
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v2, :cond_0
.line 5
invoke-static {v1, v0}, Lcom/google/common/util/concurrent/Callables;->access$000(Ljava/lang/String;Ljava/lang/Thread;)Z
:cond_0
return-object v3
:catchall_0
move-exception v3
if-eqz v2, :cond_1
invoke-static {v1, v0}, Lcom/google/common/util/concurrent/Callables;->access$000(Ljava/lang/String;Ljava/lang/Thread;)Z
.line 6
:cond_1
throw v3
.end method
@@ -0,0 +1,94 @@
.class Lcom/google/common/util/concurrent/Callables$4;
.super Ljava/lang/Object;
.source "Callables.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/Callables;->threadRenaming(Ljava/lang/Runnable;Lcom/google/common/base/Supplier;)Ljava/lang/Runnable;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic val$nameSupplier:Lcom/google/common/base/Supplier;
.field public final synthetic val$task:Ljava/lang/Runnable;
# direct methods
.method public constructor <init>(Lcom/google/common/base/Supplier;Ljava/lang/Runnable;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/Callables$4;->val$nameSupplier:Lcom/google/common/base/Supplier;
iput-object p2, p0, Lcom/google/common/util/concurrent/Callables$4;->val$task:Ljava/lang/Runnable;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 4
.line 1
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
.line 2
invoke-virtual {v0}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v1
.line 3
iget-object v2, p0, Lcom/google/common/util/concurrent/Callables$4;->val$nameSupplier:Lcom/google/common/base/Supplier;
invoke-interface {v2}, Lcom/google/common/base/Supplier;->get()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-static {v2, v0}, Lcom/google/common/util/concurrent/Callables;->access$000(Ljava/lang/String;Ljava/lang/Thread;)Z
move-result v2
.line 4
:try_start_0
iget-object v3, p0, Lcom/google/common/util/concurrent/Callables$4;->val$task:Ljava/lang/Runnable;
invoke-interface {v3}, Ljava/lang/Runnable;->run()V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz v2, :cond_0
.line 5
invoke-static {v1, v0}, Lcom/google/common/util/concurrent/Callables;->access$000(Ljava/lang/String;Ljava/lang/Thread;)Z
:cond_0
return-void
:catchall_0
move-exception v3
if-eqz v2, :cond_1
invoke-static {v1, v0}, Lcom/google/common/util/concurrent/Callables;->access$000(Ljava/lang/String;Ljava/lang/Thread;)Z
.line 6
:cond_1
throw v3
.end method
@@ -0,0 +1,179 @@
.class public final Lcom/google/common/util/concurrent/Callables;
.super Ljava/lang/Object;
.source "Callables.java"
# annotations
.annotation build Lcom/google/common/annotations/GwtCompatible;
emulated = true
.end annotation
.annotation runtime Lcom/google/common/util/concurrent/ElementTypesAreNonnullByDefault;
.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 synthetic access$000(Ljava/lang/String;Ljava/lang/Thread;)Z
.locals 0
.line 1
invoke-static {p0, p1}, Lcom/google/common/util/concurrent/Callables;->trySetName(Ljava/lang/String;Ljava/lang/Thread;)Z
move-result p0
return p0
.end method
.method public static asAsyncCallable(Ljava/util/concurrent/Callable;Lcom/google/common/util/concurrent/ListeningExecutorService;)Lcom/google/common/util/concurrent/AsyncCallable;
.locals 1
.annotation build Lcom/google/common/annotations/Beta;
.end annotation
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/concurrent/Callable<",
"TT;>;",
"Lcom/google/common/util/concurrent/ListeningExecutorService;",
")",
"Lcom/google/common/util/concurrent/AsyncCallable<",
"TT;>;"
}
.end annotation
.line 1
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
new-instance v0, Lcom/google/common/util/concurrent/Callables$2;
invoke-direct {v0, p1, p0}, Lcom/google/common/util/concurrent/Callables$2;-><init>(Lcom/google/common/util/concurrent/ListeningExecutorService;Ljava/util/concurrent/Callable;)V
return-object v0
.end method
.method public static returning(Ljava/lang/Object;)Ljava/util/concurrent/Callable;
.locals 1
.param p0 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(TT;)",
"Ljava/util/concurrent/Callable<",
"TT;>;"
}
.end annotation
.line 1
new-instance v0, Lcom/google/common/util/concurrent/Callables$1;
invoke-direct {v0, p0}, Lcom/google/common/util/concurrent/Callables$1;-><init>(Ljava/lang/Object;)V
return-object v0
.end method
.method public static threadRenaming(Ljava/lang/Runnable;Lcom/google/common/base/Supplier;)Ljava/lang/Runnable;
.locals 1
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Runnable;",
"Lcom/google/common/base/Supplier<",
"Ljava/lang/String;",
">;)",
"Ljava/lang/Runnable;"
}
.end annotation
.line 4
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 5
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 6
new-instance v0, Lcom/google/common/util/concurrent/Callables$4;
invoke-direct {v0, p1, p0}, Lcom/google/common/util/concurrent/Callables$4;-><init>(Lcom/google/common/base/Supplier;Ljava/lang/Runnable;)V
return-object v0
.end method
.method public static threadRenaming(Ljava/util/concurrent/Callable;Lcom/google/common/base/Supplier;)Ljava/util/concurrent/Callable;
.locals 1
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/concurrent/Callable<",
"TT;>;",
"Lcom/google/common/base/Supplier<",
"Ljava/lang/String;",
">;)",
"Ljava/util/concurrent/Callable<",
"TT;>;"
}
.end annotation
.line 1
invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-static {p0}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
new-instance v0, Lcom/google/common/util/concurrent/Callables$3;
invoke-direct {v0, p1, p0}, Lcom/google/common/util/concurrent/Callables$3;-><init>(Lcom/google/common/base/Supplier;Ljava/util/concurrent/Callable;)V
return-object v0
.end method
.method private static trySetName(Ljava/lang/String;Ljava/lang/Thread;)Z
.locals 0
.annotation build Lcom/google/common/annotations/GwtIncompatible;
.end annotation
.line 1
:try_start_0
invoke-virtual {p1, p0}, Ljava/lang/Thread;->setName(Ljava/lang/String;)V
:try_end_0
.catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_0} :catch_0
const/4 p0, 0x1
return p0
:catch_0
const/4 p0, 0x0
return p0
.end method
@@ -0,0 +1,95 @@
.class Lcom/google/common/util/concurrent/ClosingFuture$1;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# interfaces
.implements Lcom/google/common/util/concurrent/FutureCallback;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/ClosingFuture;->eventuallyClosing(Lcom/google/common/util/concurrent/ListenableFuture;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ClosingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/FutureCallback<",
"Ljava/io/Closeable;",
">;"
}
.end annotation
# instance fields
.field public final synthetic val$closingExecutor:Ljava/util/concurrent/Executor;
.field public final synthetic val$closingFuture:Lcom/google/common/util/concurrent/ClosingFuture;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ClosingFuture;Ljava/util/concurrent/Executor;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$1;->val$closingFuture:Lcom/google/common/util/concurrent/ClosingFuture;
iput-object p2, p0, Lcom/google/common/util/concurrent/ClosingFuture$1;->val$closingExecutor:Ljava/util/concurrent/Executor;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onFailure(Ljava/lang/Throwable;)V
.locals 0
return-void
.end method
.method public onSuccess(Ljava/io/Closeable;)V
.locals 2
.param p1 # Ljava/io/Closeable;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$1;->val$closingFuture:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-static {v0}, Lcom/google/common/util/concurrent/ClosingFuture;->access$200(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
move-result-object v0
invoke-static {v0}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->access$300(Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;
move-result-object v0
iget-object v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$1;->val$closingExecutor:Ljava/util/concurrent/Executor;
invoke-virtual {v0, p1, v1}, Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;->eventuallyClose(Ljava/lang/Object;Ljava/util/concurrent/Executor;)Ljava/lang/Object;
return-void
.end method
.method public bridge synthetic onSuccess(Ljava/lang/Object;)V
.locals 0
.param p1 # Ljava/lang/Object;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
check-cast p1, Ljava/io/Closeable;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/ClosingFuture$1;->onSuccess(Ljava/io/Closeable;)V
return-void
.end method
@@ -0,0 +1,53 @@
.class Lcom/google/common/util/concurrent/ClosingFuture$10;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/ClosingFuture;->finishToValueAndCloser(Lcom/google/common/util/concurrent/ClosingFuture$ValueAndCloserConsumer;Ljava/util/concurrent/Executor;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/ClosingFuture;
.field public final synthetic val$consumer:Lcom/google/common/util/concurrent/ClosingFuture$ValueAndCloserConsumer;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$ValueAndCloserConsumer;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$10;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
iput-object p2, p0, Lcom/google/common/util/concurrent/ClosingFuture$10;->val$consumer:Lcom/google/common/util/concurrent/ClosingFuture$ValueAndCloserConsumer;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 2
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$10;->val$consumer:Lcom/google/common/util/concurrent/ClosingFuture$ValueAndCloserConsumer;
iget-object v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$10;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-static {v0, v1}, Lcom/google/common/util/concurrent/ClosingFuture;->access$1200(Lcom/google/common/util/concurrent/ClosingFuture$ValueAndCloserConsumer;Lcom/google/common/util/concurrent/ClosingFuture;)V
return-void
.end method
@@ -0,0 +1,74 @@
.class Lcom/google/common/util/concurrent/ClosingFuture$11;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/ClosingFuture;->closeQuietly(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic val$closeable:Ljava/io/Closeable;
# direct methods
.method public constructor <init>(Ljava/io/Closeable;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$11;->val$closeable:Ljava/io/Closeable;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 4
.line 1
:try_start_0
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$11;->val$closeable:Ljava/io/Closeable;
invoke-interface {v0}, Ljava/io/Closeable;->close()V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_1
:catch_0
move-exception v0
goto :goto_0
:catch_1
move-exception v0
.line 2
:goto_0
invoke-static {}, Lcom/google/common/util/concurrent/ClosingFuture;->access$3200()Ljava/util/logging/Logger;
move-result-object v1
sget-object v2, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
const-string v3, "thrown by close()"
invoke-virtual {v1, v2, v3, v0}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_1
return-void
.end method
@@ -0,0 +1,131 @@
.class synthetic Lcom/google/common/util/concurrent/ClosingFuture$12;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/ClosingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1009
name = null
.end annotation
# static fields
.field public static final synthetic $SwitchMap$com$google$common$util$concurrent$ClosingFuture$State:[I
# direct methods
.method public static constructor <clinit>()V
.locals 3
.line 1
invoke-static {}, Lcom/google/common/util/concurrent/ClosingFuture$State;->values()[Lcom/google/common/util/concurrent/ClosingFuture$State;
move-result-object v0
array-length v0, v0
new-array v0, v0, [I
sput-object v0, Lcom/google/common/util/concurrent/ClosingFuture$12;->$SwitchMap$com$google$common$util$concurrent$ClosingFuture$State:[I
:try_start_0
sget-object v1, Lcom/google/common/util/concurrent/ClosingFuture$State;->SUBSUMED:Lcom/google/common/util/concurrent/ClosingFuture$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x1
aput v2, v0, v1
:try_end_0
.catch Ljava/lang/NoSuchFieldError; {:try_start_0 .. :try_end_0} :catch_0
:catch_0
:try_start_1
sget-object v0, Lcom/google/common/util/concurrent/ClosingFuture$12;->$SwitchMap$com$google$common$util$concurrent$ClosingFuture$State:[I
sget-object v1, Lcom/google/common/util/concurrent/ClosingFuture$State;->WILL_CREATE_VALUE_AND_CLOSER:Lcom/google/common/util/concurrent/ClosingFuture$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x2
aput v2, v0, v1
:try_end_1
.catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_1
:catch_1
:try_start_2
sget-object v0, Lcom/google/common/util/concurrent/ClosingFuture$12;->$SwitchMap$com$google$common$util$concurrent$ClosingFuture$State:[I
sget-object v1, Lcom/google/common/util/concurrent/ClosingFuture$State;->WILL_CLOSE:Lcom/google/common/util/concurrent/ClosingFuture$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x3
aput v2, v0, v1
:try_end_2
.catch Ljava/lang/NoSuchFieldError; {:try_start_2 .. :try_end_2} :catch_2
:catch_2
:try_start_3
sget-object v0, Lcom/google/common/util/concurrent/ClosingFuture$12;->$SwitchMap$com$google$common$util$concurrent$ClosingFuture$State:[I
sget-object v1, Lcom/google/common/util/concurrent/ClosingFuture$State;->CLOSING:Lcom/google/common/util/concurrent/ClosingFuture$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x4
aput v2, v0, v1
:try_end_3
.catch Ljava/lang/NoSuchFieldError; {:try_start_3 .. :try_end_3} :catch_3
:catch_3
:try_start_4
sget-object v0, Lcom/google/common/util/concurrent/ClosingFuture$12;->$SwitchMap$com$google$common$util$concurrent$ClosingFuture$State:[I
sget-object v1, Lcom/google/common/util/concurrent/ClosingFuture$State;->CLOSED:Lcom/google/common/util/concurrent/ClosingFuture$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x5
aput v2, v0, v1
:try_end_4
.catch Ljava/lang/NoSuchFieldError; {:try_start_4 .. :try_end_4} :catch_4
:catch_4
:try_start_5
sget-object v0, Lcom/google/common/util/concurrent/ClosingFuture$12;->$SwitchMap$com$google$common$util$concurrent$ClosingFuture$State:[I
sget-object v1, Lcom/google/common/util/concurrent/ClosingFuture$State;->OPEN:Lcom/google/common/util/concurrent/ClosingFuture$State;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
const/4 v2, 0x6
aput v2, v0, v1
:try_end_5
.catch Ljava/lang/NoSuchFieldError; {:try_start_5 .. :try_end_5} :catch_5
:catch_5
return-void
.end method
@@ -0,0 +1,98 @@
.class Lcom/google/common/util/concurrent/ClosingFuture$2;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# interfaces
.implements Ljava/util/concurrent/Callable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/ClosingFuture;-><init>(Lcom/google/common/util/concurrent/ClosingFuture$ClosingCallable;Ljava/util/concurrent/Executor;)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/concurrent/Callable<",
"TV;>;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/ClosingFuture;
.field public final synthetic val$callable:Lcom/google/common/util/concurrent/ClosingFuture$ClosingCallable;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$ClosingCallable;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$2;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
iput-object p2, p0, Lcom/google/common/util/concurrent/ClosingFuture$2;->val$callable:Lcom/google/common/util/concurrent/ClosingFuture$ClosingCallable;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public call()Ljava/lang/Object;
.locals 2
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"()TV;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$2;->val$callable:Lcom/google/common/util/concurrent/ClosingFuture$ClosingCallable;
iget-object v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$2;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-static {v1}, Lcom/google/common/util/concurrent/ClosingFuture;->access$200(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
move-result-object v1
invoke-static {v1}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->access$300(Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;
move-result-object v1
invoke-interface {v0, v1}, Lcom/google/common/util/concurrent/ClosingFuture$ClosingCallable;->call(Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;)Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$2;->val$callable:Lcom/google/common/util/concurrent/ClosingFuture$ClosingCallable;
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,146 @@
.class Lcom/google/common/util/concurrent/ClosingFuture$3;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# interfaces
.implements Lcom/google/common/util/concurrent/AsyncCallable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/ClosingFuture;-><init>(Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingCallable;Ljava/util/concurrent/Executor;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/AsyncCallable<",
"TV;>;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/ClosingFuture;
.field public final synthetic val$callable:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingCallable;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingCallable;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$3;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
iput-object p2, p0, Lcom/google/common/util/concurrent/ClosingFuture$3;->val$callable:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingCallable;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public call()Lcom/google/common/util/concurrent/ListenableFuture;
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
new-instance v0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;-><init>(Lcom/google/common/util/concurrent/ClosingFuture$1;)V
.line 2
:try_start_0
iget-object v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$3;->val$callable:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingCallable;
invoke-static {v0}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->access$300(Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;
move-result-object v2
invoke-interface {v1, v2}, Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingCallable;->call(Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;)Lcom/google/common/util/concurrent/ClosingFuture;
move-result-object v1
.line 3
iget-object v2, p0, Lcom/google/common/util/concurrent/ClosingFuture$3;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-static {v2}, Lcom/google/common/util/concurrent/ClosingFuture;->access$200(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
move-result-object v2
invoke-static {v1, v2}, Lcom/google/common/util/concurrent/ClosingFuture;->access$1000(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)V
.line 4
invoke-static {v1}, Lcom/google/common/util/concurrent/ClosingFuture;->access$000(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/FluentFuture;
move-result-object v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 5
iget-object v2, p0, Lcom/google/common/util/concurrent/ClosingFuture$3;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-static {v2}, Lcom/google/common/util/concurrent/ClosingFuture;->access$200(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
move-result-object v2
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor;
move-result-object v3
invoke-virtual {v2, v0, v3}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->add(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V
return-object v1
:catchall_0
move-exception v1
iget-object v2, p0, Lcom/google/common/util/concurrent/ClosingFuture$3;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-static {v2}, Lcom/google/common/util/concurrent/ClosingFuture;->access$200(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
move-result-object v2
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor;
move-result-object v3
invoke-virtual {v2, v0, v3}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->add(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V
.line 6
throw v1
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$3;->val$callable:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingCallable;
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,93 @@
.class Lcom/google/common/util/concurrent/ClosingFuture$4;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# interfaces
.implements Lcom/google/common/util/concurrent/AsyncFunction;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/ClosingFuture;->transform(Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ClosingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"TV;TU;>;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/ClosingFuture;
.field public final synthetic val$function:Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$4;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
iput-object p2, p0, Lcom/google/common/util/concurrent/ClosingFuture$4;->val$function:Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public apply(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TV;)",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TU;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$4;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-static {v0}, Lcom/google/common/util/concurrent/ClosingFuture;->access$200(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
move-result-object v0
iget-object v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$4;->val$function:Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;
invoke-virtual {v0, v1, p1}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->applyClosingFunction(Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$4;->val$function:Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,93 @@
.class Lcom/google/common/util/concurrent/ClosingFuture$5;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# interfaces
.implements Lcom/google/common/util/concurrent/AsyncFunction;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/ClosingFuture;->transformAsync(Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ClosingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"TV;TU;>;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/ClosingFuture;
.field public final synthetic val$function:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$5;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
iput-object p2, p0, Lcom/google/common/util/concurrent/ClosingFuture$5;->val$function:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public apply(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TV;)",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TU;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$5;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-static {v0}, Lcom/google/common/util/concurrent/ClosingFuture;->access$200(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
move-result-object v0
iget-object v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$5;->val$function:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;
invoke-virtual {v0, v1, p1}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->applyAsyncClosingFunction(Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;Ljava/lang/Object;)Lcom/google/common/util/concurrent/FluentFuture;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$5;->val$function:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,76 @@
.class Lcom/google/common/util/concurrent/ClosingFuture$6;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# interfaces
.implements Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/ClosingFuture;->withoutCloser(Lcom/google/common/util/concurrent/AsyncFunction;)Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction<",
"TV;TU;>;"
}
.end annotation
# instance fields
.field public final synthetic val$function:Lcom/google/common/util/concurrent/AsyncFunction;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/AsyncFunction;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$6;->val$function:Lcom/google/common/util/concurrent/AsyncFunction;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public apply(Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ClosingFuture;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;",
"TV;)",
"Lcom/google/common/util/concurrent/ClosingFuture<",
"TU;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
iget-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$6;->val$function:Lcom/google/common/util/concurrent/AsyncFunction;
invoke-interface {p1, p2}, Lcom/google/common/util/concurrent/AsyncFunction;->apply(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
invoke-static {p1}, Lcom/google/common/util/concurrent/ClosingFuture;->from(Lcom/google/common/util/concurrent/ListenableFuture;)Lcom/google/common/util/concurrent/ClosingFuture;
move-result-object p1
return-object p1
.end method
@@ -0,0 +1,111 @@
.class Lcom/google/common/util/concurrent/ClosingFuture$7;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# interfaces
.implements Lcom/google/common/util/concurrent/AsyncFunction;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/ClosingFuture;->catchingMoreGeneric(Ljava/lang/Class;Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ClosingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"TX;TW;>;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/ClosingFuture;
.field public final synthetic val$fallback:Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$7;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
iput-object p2, p0, Lcom/google/common/util/concurrent/ClosingFuture$7;->val$fallback:Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic apply(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
check-cast p1, Ljava/lang/Throwable;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/ClosingFuture$7;->apply(Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
return-object p1
.end method
.method public apply(Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TX;)",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TW;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$7;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-static {v0}, Lcom/google/common/util/concurrent/ClosingFuture;->access$200(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
move-result-object v0
iget-object v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$7;->val$fallback:Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;
invoke-virtual {v0, v1, p1}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->applyClosingFunction(Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$7;->val$fallback:Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,111 @@
.class Lcom/google/common/util/concurrent/ClosingFuture$8;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# interfaces
.implements Lcom/google/common/util/concurrent/AsyncFunction;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/ClosingFuture;->catchingAsyncMoreGeneric(Ljava/lang/Class;Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;Ljava/util/concurrent/Executor;)Lcom/google/common/util/concurrent/ClosingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/google/common/util/concurrent/AsyncFunction<",
"TX;TW;>;"
}
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/ClosingFuture;
.field public final synthetic val$fallback:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$8;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
iput-object p2, p0, Lcom/google/common/util/concurrent/ClosingFuture$8;->val$fallback:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public bridge synthetic apply(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
check-cast p1, Ljava/lang/Throwable;
invoke-virtual {p0, p1}, Lcom/google/common/util/concurrent/ClosingFuture$8;->apply(Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
return-object p1
.end method
.method public apply(Ljava/lang/Throwable;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(TX;)",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TW;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$8;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-static {v0}, Lcom/google/common/util/concurrent/ClosingFuture;->access$200(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
move-result-object v0
iget-object v1, p0, Lcom/google/common/util/concurrent/ClosingFuture$8;->val$fallback:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;
invoke-virtual {v0, v1, p1}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->applyAsyncClosingFunction(Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;Ljava/lang/Object;)Lcom/google/common/util/concurrent/FluentFuture;
move-result-object p1
return-object p1
.end method
.method public toString()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$8;->val$fallback:Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
@@ -0,0 +1,63 @@
.class Lcom/google/common/util/concurrent/ClosingFuture$9;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/google/common/util/concurrent/ClosingFuture;->finishToFuture()Lcom/google/common/util/concurrent/FluentFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field public final synthetic this$0:Lcom/google/common/util/concurrent/ClosingFuture;
# direct methods
.method public constructor <init>(Lcom/google/common/util/concurrent/ClosingFuture;)V
.locals 0
.line 1
iput-object p1, p0, Lcom/google/common/util/concurrent/ClosingFuture$9;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 3
.line 1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$9;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
sget-object v1, Lcom/google/common/util/concurrent/ClosingFuture$State;->WILL_CLOSE:Lcom/google/common/util/concurrent/ClosingFuture$State;
sget-object v2, Lcom/google/common/util/concurrent/ClosingFuture$State;->CLOSING:Lcom/google/common/util/concurrent/ClosingFuture$State;
invoke-static {v0, v1, v2}, Lcom/google/common/util/concurrent/ClosingFuture;->access$1100(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$State;Lcom/google/common/util/concurrent/ClosingFuture$State;)V
.line 2
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$9;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
invoke-static {v0}, Lcom/google/common/util/concurrent/ClosingFuture;->access$100(Lcom/google/common/util/concurrent/ClosingFuture;)V
.line 3
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$9;->this$0:Lcom/google/common/util/concurrent/ClosingFuture;
sget-object v1, Lcom/google/common/util/concurrent/ClosingFuture$State;->CLOSED:Lcom/google/common/util/concurrent/ClosingFuture$State;
invoke-static {v0, v2, v1}, Lcom/google/common/util/concurrent/ClosingFuture;->access$1100(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$State;Lcom/google/common/util/concurrent/ClosingFuture$State;)V
return-void
.end method
@@ -0,0 +1,43 @@
.class public interface abstract Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingCallable;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/ClosingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "AsyncClosingCallable"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract call(Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;)Lcom/google/common/util/concurrent/ClosingFuture;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;",
")",
"Lcom/google/common/util/concurrent/ClosingFuture<",
"TV;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
@@ -0,0 +1,49 @@
.class public interface abstract Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/ClosingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "AsyncClosingFunction"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"U:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract apply(Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ClosingFuture;
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;",
"TT;)",
"Lcom/google/common/util/concurrent/ClosingFuture<",
"TU;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
@@ -0,0 +1,444 @@
.class final Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
.super Ljava/util/IdentityHashMap;
.source "ClosingFuture.java"
# interfaces
.implements Ljava/io/Closeable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/ClosingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x19
name = "CloseableList"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/IdentityHashMap<",
"Ljava/io/Closeable;",
"Ljava/util/concurrent/Executor;",
">;",
"Ljava/io/Closeable;"
}
.end annotation
# instance fields
.field private volatile closed:Z
.field private final closer:Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;
.field private volatile whenClosed:Ljava/util/concurrent/CountDownLatch;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end field
# direct methods
.method private constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/util/IdentityHashMap;-><init>()V
.line 2
new-instance v0, Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;
invoke-direct {v0, p0}, Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;-><init>(Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)V
iput-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->closer:Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;
return-void
.end method
.method public synthetic constructor <init>(Lcom/google/common/util/concurrent/ClosingFuture$1;)V
.locals 0
.line 3
invoke-direct {p0}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;-><init>()V
return-void
.end method
.method public static synthetic access$300(Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;
.locals 0
.line 1
iget-object p0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->closer:Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;
return-object p0
.end method
# virtual methods
.method public add(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V
.locals 1
.param p1 # Ljava/io/Closeable;
.annotation runtime Ljavax/annotation/CheckForNull;
.end annotation
.end param
.line 1
invoke-static {p2}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
if-nez p1, :cond_0
return-void
.line 2
:cond_0
monitor-enter p0
.line 3
:try_start_0
iget-boolean v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->closed:Z
if-nez v0, :cond_1
.line 4
invoke-virtual {p0, p1, p2}, Ljava/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 5
monitor-exit p0
return-void
.line 6
:cond_1
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 7
invoke-static {p1, p2}, Lcom/google/common/util/concurrent/ClosingFuture;->access$3300(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V
return-void
:catchall_0
move-exception p1
.line 8
:try_start_1
monitor-exit p0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw p1
.end method
.method public applyAsyncClosingFunction(Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;Ljava/lang/Object;)Lcom/google/common/util/concurrent/FluentFuture;
.locals 2
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
"U:",
"Ljava/lang/Object;",
">(",
"Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction<",
"TV;TU;>;TV;)",
"Lcom/google/common/util/concurrent/FluentFuture<",
"TU;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
new-instance v0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
invoke-direct {v0}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;-><init>()V
.line 2
:try_start_0
iget-object v1, v0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->closer:Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;
invoke-interface {p1, v1, p2}, Lcom/google/common/util/concurrent/ClosingFuture$AsyncClosingFunction;->apply(Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ClosingFuture;
move-result-object p1
.line 3
invoke-static {p1, v0}, Lcom/google/common/util/concurrent/ClosingFuture;->access$1000(Lcom/google/common/util/concurrent/ClosingFuture;Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;)V
.line 4
invoke-static {p1}, Lcom/google/common/util/concurrent/ClosingFuture;->access$000(Lcom/google/common/util/concurrent/ClosingFuture;)Lcom/google/common/util/concurrent/FluentFuture;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 5
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor;
move-result-object p2
invoke-virtual {p0, v0, p2}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->add(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V
return-object p1
:catchall_0
move-exception p1
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor;
move-result-object p2
invoke-virtual {p0, v0, p2}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->add(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V
.line 6
throw p1
.end method
.method public applyClosingFunction(Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
.locals 2
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
"U:",
"Ljava/lang/Object;",
">(",
"Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction<",
"-TV;TU;>;TV;)",
"Lcom/google/common/util/concurrent/ListenableFuture<",
"TU;>;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 1
new-instance v0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;
invoke-direct {v0}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;-><init>()V
.line 2
:try_start_0
iget-object v1, v0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->closer:Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;
invoke-interface {p1, v1, p2}, Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;->apply(Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
invoke-static {p1}, Lcom/google/common/util/concurrent/Futures;->immediateFuture(Ljava/lang/Object;)Lcom/google/common/util/concurrent/ListenableFuture;
move-result-object p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 3
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor;
move-result-object p2
invoke-virtual {p0, v0, p2}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->add(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V
return-object p1
:catchall_0
move-exception p1
invoke-static {}, Lcom/google/common/util/concurrent/MoreExecutors;->directExecutor()Ljava/util/concurrent/Executor;
move-result-object p2
invoke-virtual {p0, v0, p2}, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->add(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V
.line 4
throw p1
.end method
.method public close()V
.locals 3
.line 1
iget-boolean v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->closed:Z
if-eqz v0, :cond_0
return-void
.line 2
:cond_0
monitor-enter p0
.line 3
:try_start_0
iget-boolean v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->closed:Z
if-eqz v0, :cond_1
.line 4
monitor-exit p0
return-void
:cond_1
const/4 v0, 0x1
.line 5
iput-boolean v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->closed:Z
.line 6
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 7
invoke-virtual {p0}, Ljava/util/IdentityHashMap;->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_2
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 8
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/io/Closeable;
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/concurrent/Executor;
invoke-static {v2, v1}, Lcom/google/common/util/concurrent/ClosingFuture;->access$3300(Ljava/io/Closeable;Ljava/util/concurrent/Executor;)V
goto :goto_0
.line 9
:cond_2
invoke-virtual {p0}, Ljava/util/IdentityHashMap;->clear()V
.line 10
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->whenClosed:Ljava/util/concurrent/CountDownLatch;
if-eqz v0, :cond_3
.line 11
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->whenClosed:Ljava/util/concurrent/CountDownLatch;
invoke-virtual {v0}, Ljava/util/concurrent/CountDownLatch;->countDown()V
:cond_3
return-void
:catchall_0
move-exception v0
.line 12
:try_start_1
monitor-exit p0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw v0
.end method
.method public whenClosedCountDown()Ljava/util/concurrent/CountDownLatch;
.locals 3
.line 1
iget-boolean v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->closed:Z
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 2
new-instance v0, Ljava/util/concurrent/CountDownLatch;
invoke-direct {v0, v1}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
return-object v0
.line 3
:cond_0
monitor-enter p0
.line 4
:try_start_0
iget-boolean v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->closed:Z
if-eqz v0, :cond_1
.line 5
new-instance v0, Ljava/util/concurrent/CountDownLatch;
invoke-direct {v0, v1}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
monitor-exit p0
return-object v0
.line 6
:cond_1
iget-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->whenClosed:Ljava/util/concurrent/CountDownLatch;
const/4 v2, 0x1
if-nez v0, :cond_2
move v1, v2
:cond_2
invoke-static {v1}, Lcom/google/common/base/Preconditions;->checkState(Z)V
.line 7
new-instance v0, Ljava/util/concurrent/CountDownLatch;
invoke-direct {v0, v2}, Ljava/util/concurrent/CountDownLatch;-><init>(I)V
iput-object v0, p0, Lcom/google/common/util/concurrent/ClosingFuture$CloseableList;->whenClosed:Ljava/util/concurrent/CountDownLatch;
monitor-exit p0
return-object v0
:catchall_0
move-exception v0
.line 8
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw v0
.end method
@@ -0,0 +1,44 @@
.class public interface abstract Lcom/google/common/util/concurrent/ClosingFuture$ClosingCallable;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/ClosingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "ClosingCallable"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<V:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract call(Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;)Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;",
")TV;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method
@@ -0,0 +1,50 @@
.class public interface abstract Lcom/google/common/util/concurrent/ClosingFuture$ClosingFunction;
.super Ljava/lang/Object;
.source "ClosingFuture.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/common/util/concurrent/ClosingFuture;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "ClosingFunction"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
"U:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract apply(Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;Ljava/lang/Object;)Ljava/lang/Object;
.param p2 # Ljava/lang/Object;
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.end param
.annotation runtime Lcom/google/common/util/concurrent/ParametricNullness;
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/common/util/concurrent/ClosingFuture$DeferredCloser;",
"TT;)TU;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.end method

Some files were not shown because too many files have changed in this diff Show More