今奥全景相机
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

113 lines
2.8 KiB

.class final Lbolts/Task$4;
.super Ljava/lang/Object;
.source "Task.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lbolts/Task;->call(Ljava/util/concurrent/Callable;Ljava/util/concurrent/Executor;Lbolts/CancellationToken;)Lbolts/Task;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x8
name = null
.end annotation
# instance fields
.field final synthetic val$callable:Ljava/util/concurrent/Callable;
.field final synthetic val$ct:Lbolts/CancellationToken;
.field final synthetic val$tcs:Lbolts/TaskCompletionSource;
# direct methods
.method constructor <init>(Lbolts/CancellationToken;Lbolts/TaskCompletionSource;Ljava/util/concurrent/Callable;)V
.locals 0
.prologue
.line 348
iput-object p1, p0, Lbolts/Task$4;->val$ct:Lbolts/CancellationToken;
iput-object p2, p0, Lbolts/Task$4;->val$tcs:Lbolts/TaskCompletionSource;
iput-object p3, p0, Lbolts/Task$4;->val$callable:Ljava/util/concurrent/Callable;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 2
.prologue
.line 351
iget-object v0, p0, Lbolts/Task$4;->val$ct:Lbolts/CancellationToken;
if-eqz v0, :cond_0
iget-object v0, p0, Lbolts/Task$4;->val$ct:Lbolts/CancellationToken;
invoke-virtual {v0}, Lbolts/CancellationToken;->isCancellationRequested()Z
move-result v0
if-eqz v0, :cond_0
.line 352
iget-object v0, p0, Lbolts/Task$4;->val$tcs:Lbolts/TaskCompletionSource;
invoke-virtual {v0}, Lbolts/TaskCompletionSource;->setCancelled()V
.line 363
:goto_0
return-void
.line 357
:cond_0
:try_start_0
iget-object v0, p0, Lbolts/Task$4;->val$tcs:Lbolts/TaskCompletionSource;
iget-object v1, p0, Lbolts/Task$4;->val$callable:Ljava/util/concurrent/Callable;
invoke-interface {v1}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object v1
invoke-virtual {v0, v1}, Lbolts/TaskCompletionSource;->setResult(Ljava/lang/Object;)V
:try_end_0
.catch Ljava/util/concurrent/CancellationException; {:try_start_0 .. :try_end_0} :catch_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_1
goto :goto_0
.line 358
:catch_0
move-exception v0
.line 359
iget-object v0, p0, Lbolts/Task$4;->val$tcs:Lbolts/TaskCompletionSource;
invoke-virtual {v0}, Lbolts/TaskCompletionSource;->setCancelled()V
goto :goto_0
.line 360
:catch_1
move-exception v0
.line 361
iget-object v1, p0, Lbolts/Task$4;->val$tcs:Lbolts/TaskCompletionSource;
invoke-virtual {v1, v0}, Lbolts/TaskCompletionSource;->setError(Ljava/lang/Exception;)V
goto :goto_0
.end method