tmap/smali_classes3/com/google/firebase/database/tubesock/MessageBuilderFactory$BinaryBuilder.smali
2022-06-10 21:38:30 +09:00

134 lines
3.2 KiB
Smali

.class Lcom/google/firebase/database/tubesock/MessageBuilderFactory$BinaryBuilder;
.super Ljava/lang/Object;
.source "MessageBuilderFactory.java"
# interfaces
.implements Lcom/google/firebase/database/tubesock/MessageBuilderFactory$Builder;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/google/firebase/database/tubesock/MessageBuilderFactory;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "BinaryBuilder"
.end annotation
# instance fields
.field private pendingByteCount:I
.field private pendingBytes:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"[B>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 2
iput v0, p0, Lcom/google/firebase/database/tubesock/MessageBuilderFactory$BinaryBuilder;->pendingByteCount:I
.line 3
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/google/firebase/database/tubesock/MessageBuilderFactory$BinaryBuilder;->pendingBytes:Ljava/util/List;
return-void
.end method
# virtual methods
.method public appendBytes([B)Z
.locals 1
.line 1
iget-object v0, p0, Lcom/google/firebase/database/tubesock/MessageBuilderFactory$BinaryBuilder;->pendingBytes:Ljava/util/List;
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 2
iget v0, p0, Lcom/google/firebase/database/tubesock/MessageBuilderFactory$BinaryBuilder;->pendingByteCount:I
array-length p1, p1
add-int/2addr v0, p1
iput v0, p0, Lcom/google/firebase/database/tubesock/MessageBuilderFactory$BinaryBuilder;->pendingByteCount:I
const/4 p1, 0x1
return p1
.end method
.method public toMessage()Lcom/google/firebase/database/tubesock/WebSocketMessage;
.locals 6
.line 1
iget v0, p0, Lcom/google/firebase/database/tubesock/MessageBuilderFactory$BinaryBuilder;->pendingByteCount:I
new-array v0, v0, [B
const/4 v1, 0x0
move v2, v1
move v3, v2
.line 2
:goto_0
iget-object v4, p0, Lcom/google/firebase/database/tubesock/MessageBuilderFactory$BinaryBuilder;->pendingBytes:Ljava/util/List;
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v4
if-ge v2, v4, :cond_0
.line 3
iget-object v4, p0, Lcom/google/firebase/database/tubesock/MessageBuilderFactory$BinaryBuilder;->pendingBytes:Ljava/util/List;
invoke-interface {v4, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, [B
.line 4
array-length v5, v4
invoke-static {v4, v1, v0, v3, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 5
array-length v4, v4
add-int/2addr v3, v4
add-int/lit8 v2, v2, 0x1
goto :goto_0
.line 6
:cond_0
new-instance v1, Lcom/google/firebase/database/tubesock/WebSocketMessage;
invoke-direct {v1, v0}, Lcom/google/firebase/database/tubesock/WebSocketMessage;-><init>([B)V
return-object v1
.end method