.class public Lcsdk/gluads/util/Futures$SettableFuture; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Ljava/util/concurrent/Future; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcsdk/gluads/util/Futures; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x9 name = "SettableFuture" .end annotation .annotation system Ldalvik/annotation/Signature; value = { "", "Ljava/lang/Object;", "Ljava/util/concurrent/Future<", "TV;>;" } .end annotation # static fields .field private static final DONE_RES_CANCELLED:I = 0x3 .field private static final DONE_RES_COMPLETED:I = 0x1 .field private static final DONE_RES_FAILED:I = 0x2 .field private static final DONE_RES_INITIAL:I # instance fields .field private volatile doneRes:I .field private volatile result:Ljava/lang/Object; # direct methods .method public constructor ()V .locals 0 .line 97 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method # virtual methods .method public declared-synchronized cancel(Z)Z .locals 0 monitor-enter p0 .line 136 :try_start_0 invoke-virtual {p0}, Lcsdk/gluads/util/Futures$SettableFuture;->isDone()Z move-result p1 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz p1, :cond_0 monitor-exit p0 const/4 p1, 0x0 return p1 :cond_0 const/4 p1, 0x3 :try_start_1 iput p1, p0, Lcsdk/gluads/util/Futures$SettableFuture;->doneRes:I :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 139 monitor-exit p0 const/4 p1, 0x1 return p1 :catchall_0 move-exception p1 monitor-exit p0 throw p1 .end method .method public get()Ljava/lang/Object; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "()TV;" } .end annotation .line 117 new-instance v0, Ljava/lang/UnsupportedOperationException; const-string v1, "Blocking get is not supported." invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw v0 .end method .method public get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(J", "Ljava/util/concurrent/TimeUnit;", ")TV;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/util/concurrent/ExecutionException;, Ljava/util/concurrent/TimeoutException; } .end annotation const-wide/16 v0, 0x0 cmp-long p1, p1, v0 if-gtz p1, :cond_3 .line 125 invoke-virtual {p0}, Lcsdk/gluads/util/Futures$SettableFuture;->isDone()Z move-result p1 if-eqz p1, :cond_2 iget p1, p0, Lcsdk/gluads/util/Futures$SettableFuture;->doneRes:I const/4 p2, 0x3 if-eq p1, p2, :cond_1 iget p1, p0, Lcsdk/gluads/util/Futures$SettableFuture;->doneRes:I const/4 p2, 0x2 if-eq p1, p2, :cond_0 iget-object p1, p0, Lcsdk/gluads/util/Futures$SettableFuture;->result:Ljava/lang/Object; return-object p1 .line 130 :cond_0 new-instance p1, Ljava/util/concurrent/ExecutionException; iget-object p2, p0, Lcsdk/gluads/util/Futures$SettableFuture;->result:Ljava/lang/Object; check-cast p2, Ljava/lang/Throwable; invoke-direct {p1, p2}, Ljava/util/concurrent/ExecutionException;->(Ljava/lang/Throwable;)V throw p1 .line 128 :cond_1 new-instance p1, Ljava/util/concurrent/CancellationException; invoke-direct {p1}, Ljava/util/concurrent/CancellationException;->()V throw p1 .line 126 :cond_2 new-instance p1, Ljava/util/concurrent/TimeoutException; invoke-direct {p1}, Ljava/util/concurrent/TimeoutException;->()V throw p1 .line 124 :cond_3 new-instance p1, Ljava/lang/UnsupportedOperationException; const-string p2, "Blocking get() is not supported." invoke-direct {p1, p2}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public isCancelled()Z .locals 1 const/4 v0, 0x0 return v0 .end method .method public isDone()Z .locals 1 iget v0, p0, Lcsdk/gluads/util/Futures$SettableFuture;->doneRes:I if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public declared-synchronized set(Ljava/lang/Object;)Z .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "(TV;)Z" } .end annotation monitor-enter p0 .line 143 :try_start_0 invoke-virtual {p0}, Lcsdk/gluads/util/Futures$SettableFuture;->isDone()Z move-result v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz v0, :cond_0 monitor-exit p0 const/4 p1, 0x0 return p1 :cond_0 :try_start_1 iput-object p1, p0, Lcsdk/gluads/util/Futures$SettableFuture;->result:Ljava/lang/Object; const/4 p1, 0x1 iput p1, p0, Lcsdk/gluads/util/Futures$SettableFuture;->doneRes:I :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 147 monitor-exit p0 return p1 :catchall_0 move-exception p1 monitor-exit p0 throw p1 .end method .method public declared-synchronized setException(Ljava/lang/Throwable;)Z .locals 1 monitor-enter p0 .line 151 :try_start_0 invoke-virtual {p0}, Lcsdk/gluads/util/Futures$SettableFuture;->isDone()Z move-result v0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz v0, :cond_0 monitor-exit p0 const/4 p1, 0x0 return p1 :cond_0 :try_start_1 iput-object p1, p0, Lcsdk/gluads/util/Futures$SettableFuture;->result:Ljava/lang/Object; const/4 p1, 0x2 iput p1, p0, Lcsdk/gluads/util/Futures$SettableFuture;->doneRes:I :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 155 monitor-exit p0 const/4 p1, 0x1 return p1 :catchall_0 move-exception p1 monitor-exit p0 throw p1 .end method