CronetBidirectionalStream$OnWriteCompletedRunnable.smali
.class final Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;
.super Ljava/lang/Object;
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Laegon/chrome/net/impl/CronetBidirectionalStream;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x12
name = "OnWriteCompletedRunnable"
.end annotation
# instance fields
.field private mByteBuffer:Ljava/nio/ByteBuffer;
.field private final mEndOfStream:Z
.field final synthetic this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;
# direct methods
.method constructor <init>(Laegon/chrome/net/impl/CronetBidirectionalStream;Ljava/nio/ByteBuffer;Z)V
.registers 4
iput-object p1, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p2, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->mByteBuffer:Ljava/nio/ByteBuffer;
iput-boolean p3, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->mEndOfStream:Z
return-void
.end method
# virtual methods
.method public run()V
.registers 7
const/4 v0, 0x0
:try_start_1
iget-object v1, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->mByteBuffer:Ljava/nio/ByteBuffer;
const/4 v2, 0x0
iput-object v2, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->mByteBuffer:Ljava/nio/ByteBuffer;
iget-object v2, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;
# getter for: Laegon/chrome/net/impl/CronetBidirectionalStream;->mNativeStreamLock:Ljava/lang/Object;
invoke-static {v2}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$000(Laegon/chrome/net/impl/CronetBidirectionalStream;)Ljava/lang/Object;
move-result-object v2
monitor-enter v2
:try_end_d
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_d} :catch_48
:try_start_d
iget-object v3, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;
# invokes: Laegon/chrome/net/impl/CronetBidirectionalStream;->isDoneLocked()Z
invoke-static {v3}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$100(Laegon/chrome/net/impl/CronetBidirectionalStream;)Z
move-result v3
if-eqz v3, :cond_17
monitor-exit v2
:cond_16
:goto_16
return-void
:cond_17
iget-boolean v3, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->mEndOfStream:Z
if-eqz v3, :cond_2c
iget-object v3, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;
const/16 v4, 0xa
# setter for: Laegon/chrome/net/impl/CronetBidirectionalStream;->mWriteState:I
invoke-static {v3, v4}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$302(Laegon/chrome/net/impl/CronetBidirectionalStream;I)I
iget-object v3, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;
# getter for: Laegon/chrome/net/impl/CronetBidirectionalStream;->mReadState:I
invoke-static {v3}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$200(Laegon/chrome/net/impl/CronetBidirectionalStream;)I
move-result v3
const/4 v4, 0x4
if-ne v3, v4, :cond_2c
const/4 v0, 0x1
:cond_2c
monitor-exit v2
:try_end_2d
.catchall {:try_start_d .. :try_end_2d} :catchall_4f
:try_start_2d
iget-object v2, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;
# getter for: Laegon/chrome/net/impl/CronetBidirectionalStream;->mCallback:Laegon/chrome/net/impl/VersionSafeCallbacks$BidirectionalStreamCallback;
invoke-static {v2}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$500(Laegon/chrome/net/impl/CronetBidirectionalStream;)Laegon/chrome/net/impl/VersionSafeCallbacks$BidirectionalStreamCallback;
move-result-object v2
iget-object v3, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;
iget-object v4, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;
# getter for: Laegon/chrome/net/impl/CronetBidirectionalStream;->mResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
invoke-static {v4}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$400(Laegon/chrome/net/impl/CronetBidirectionalStream;)Laegon/chrome/net/impl/UrlResponseInfoImpl;
move-result-object v4
iget-boolean v5, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->mEndOfStream:Z
invoke-virtual {v2, v3, v4, v1, v5}, Laegon/chrome/net/impl/VersionSafeCallbacks$BidirectionalStreamCallback;->onWriteCompleted(Laegon/chrome/net/BidirectionalStream;Laegon/chrome/net/UrlResponseInfo;Ljava/nio/ByteBuffer;Z)V
if-eqz v0, :cond_16
iget-object v0, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;
# invokes: Laegon/chrome/net/impl/CronetBidirectionalStream;->maybeOnSucceededOnExecutor()V
invoke-static {v0}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$600(Laegon/chrome/net/impl/CronetBidirectionalStream;)V
:try_end_47
.catch Ljava/lang/Exception; {:try_start_2d .. :try_end_47} :catch_48
goto :goto_16
:catch_48
move-exception v0
iget-object v1, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$OnWriteCompletedRunnable;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;
# invokes: Laegon/chrome/net/impl/CronetBidirectionalStream;->onCallbackException(Ljava/lang/Exception;)V
invoke-static {v1, v0}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$700(Laegon/chrome/net/impl/CronetBidirectionalStream;Ljava/lang/Exception;)V
goto :goto_16
:catchall_4f
move-exception v0
:try_start_50
monitor-exit v2
:try_end_51
.catchall {:try_start_50 .. :try_end_51} :catchall_4f
:try_start_51
throw v0
:try_end_52
.catch Ljava/lang/Exception; {:try_start_51 .. :try_end_52} :catch_48
.end method