CronetBidirectionalStream$3.smali

.class Laegon/chrome/net/impl/CronetBidirectionalStream$3;
.super Ljava/lang/Object;

# interfaces
.implements Ljava/lang/Runnable;


# instance fields
.field final synthetic this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;

.field final synthetic val$trailersBlock:Laegon/chrome/net/UrlResponseInfo$HeaderBlock;


# direct methods
.method constructor <init>(Laegon/chrome/net/impl/CronetBidirectionalStream;Laegon/chrome/net/UrlResponseInfo$HeaderBlock;)V
    .registers 3

    iput-object p1, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$3;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;

    iput-object p2, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$3;->val$trailersBlock:Laegon/chrome/net/UrlResponseInfo$HeaderBlock;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method


# virtual methods
.method public run()V
    .registers 5

    iget-object v0, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$3;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;

    # getter for: Laegon/chrome/net/impl/CronetBidirectionalStream;->mNativeStreamLock:Ljava/lang/Object;
    invoke-static {v0}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$000(Laegon/chrome/net/impl/CronetBidirectionalStream;)Ljava/lang/Object;

    move-result-object v1

    monitor-enter v1

    :try_start_7
    iget-object v0, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$3;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;

    # invokes: Laegon/chrome/net/impl/CronetBidirectionalStream;->isDoneLocked()Z
    invoke-static {v0}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$100(Laegon/chrome/net/impl/CronetBidirectionalStream;)Z

    move-result v0

    if-eqz v0, :cond_11

    monitor-exit v1

    :goto_10
    return-void

    :cond_11
    monitor-exit v1
    :try_end_12
    .catchall {:try_start_7 .. :try_end_12} :catchall_2d

    :try_start_12
    iget-object v0, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$3;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;

    # getter for: Laegon/chrome/net/impl/CronetBidirectionalStream;->mCallback:Laegon/chrome/net/impl/VersionSafeCallbacks$BidirectionalStreamCallback;
    invoke-static {v0}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$500(Laegon/chrome/net/impl/CronetBidirectionalStream;)Laegon/chrome/net/impl/VersionSafeCallbacks$BidirectionalStreamCallback;

    move-result-object v0

    iget-object v1, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$3;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;

    iget-object v2, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$3;->this$0:Laegon/chrome/net/impl/CronetBidirectionalStream;

    # getter for: Laegon/chrome/net/impl/CronetBidirectionalStream;->mResponseInfo:Laegon/chrome/net/impl/UrlResponseInfoImpl;
    invoke-static {v2}, Laegon/chrome/net/impl/CronetBidirectionalStream;->access$400(Laegon/chrome/net/impl/CronetBidirectionalStream;)Laegon/chrome/net/impl/UrlResponseInfoImpl;

    move-result-object v2

    iget-object v3, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$3;->val$trailersBlock:Laegon/chrome/net/UrlResponseInfo$HeaderBlock;

    invoke-virtual {v0, v1, v2, v3}, Laegon/chrome/net/impl/VersionSafeCallbacks$BidirectionalStreamCallback;->onResponseTrailersReceived(Laegon/chrome/net/BidirectionalStream;Laegon/chrome/net/UrlResponseInfo;Laegon/chrome/net/UrlResponseInfo$HeaderBlock;)V
    :try_end_25
    .catch Ljava/lang/Exception; {:try_start_12 .. :try_end_25} :catch_26

    goto :goto_10

    :catch_26
    move-exception v0

    iget-object v1, p0, Laegon/chrome/net/impl/CronetBidirectionalStream$3;->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_10

    :catchall_2d
    move-exception v0

    :try_start_2e
    monitor-exit v1
    :try_end_2f
    .catchall {:try_start_2e .. :try_end_2f} :catchall_2d

    throw v0
.end method