LogSplitUtil.smali
.class public Lio/rong/common/fwlog/LogSplitUtil;
.super Ljava/lang/Object;
.source "LogSplitUtil.java"
# static fields
.field private static final MAX_CONTENT_SIZE:I = 0x352
.field public static final SUFFIX_SPLIT:Ljava/lang/String; = "-X"
# direct methods
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static varargs merge(ILjava/lang/String;Ljava/lang/String;IILjava/lang/String;[Ljava/lang/Object;)V
.registers 11
if-lt p3, p4, :cond_3
return-void
:cond_3
sub-int v0, p4, p3
.line 1
new-array v0, v0, [Ljava/lang/Object;
const/4 v1, 0x0
const/4 v2, 0x0
:goto_9
if-ge v2, p4, :cond_14
add-int v3, p3, v2
.line 2
aget-object v3, p6, v3
aput-object v3, v0, v2
add-int/lit8 v2, v2, 0x1
goto :goto_9
.line 3
:cond_14
invoke-virtual {p5}, Ljava/lang/String;->length()I
move-result p3
const/4 p4, 0x1
sub-int/2addr p3, p4
invoke-virtual {p5, v1, p3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p3
const-string p5, "|"
.line 4
invoke-virtual {p3, p5}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I
move-result p5
invoke-virtual {p3, v1, p5}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p3
const-string p5, "-X"
.line 5
invoke-virtual {p5, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p5
const/4 p6, 0x2
if-eqz p5, :cond_34
if-gt p0, p4, :cond_34
const/4 p0, 0x2
.line 6
:cond_34
new-instance p4, Ljava/lang/StringBuilder;
invoke-direct {p4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p0, p6, p1, p3, v0}, Lio/rong/common/fwlog/FwLog;->write(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
.method private static split(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 12
const-string v0, "-X"
.line 1
:goto_2
invoke-static {p4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-nez v1, :cond_50
.line 2
invoke-virtual {p4}, Ljava/lang/String;->length()I
move-result v1
const/16 v2, 0x352
if-le v1, v2, :cond_1e
.line 3
new-instance v1, Ljava/lang/String;
invoke-virtual {p4}, Ljava/lang/String;->getBytes()[B
move-result-object v3
invoke-static {v3, v2}, Ljava/util/Arrays;->copyOf([BI)[B
move-result-object v3
invoke-direct {v1, v3}, Ljava/lang/String;-><init>([B)V
goto :goto_1f
:cond_1e
move-object v1, p4
.line 4
:goto_1f
invoke-virtual {v0, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
const/4 v4, 0x1
const/4 v5, 0x2
if-eqz v3, :cond_2b
if-gt p0, v4, :cond_2b
const/4 v3, 0x2
goto :goto_2c
:cond_2b
move v3, p0
.line 5
:goto_2c
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
new-array v4, v4, [Ljava/lang/Object;
const/4 v6, 0x0
aput-object v1, v4, v6
invoke-static {v3, v5, p2, p3, v4}, Lio/rong/common/fwlog/FwLog;->write(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 6
invoke-virtual {p4}, Ljava/lang/String;->length()I
move-result p2
if-ge p2, v2, :cond_4a
goto :goto_50
.line 7
:cond_4a
invoke-virtual {p4, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p4
move-object p2, v0
goto :goto_2
:cond_50
:goto_50
return-void
.end method
.method public static varargs write(ILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.registers 25
move/from16 v7, p0
move-object/from16 v0, p1
move-object/from16 v1, p2
move-object/from16 v8, p3
.line 1
invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->length()I
move-result v2
.line 2
array-length v3, v8
const/4 v9, 0x0
move v4, v2
const/4 v2, 0x0
:goto_10
const-string v10, "null"
if-ge v2, v3, :cond_24
aget-object v5, v8, v2
if-eqz v5, :cond_1c
.line 3
invoke-virtual {v5}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v10
.line 4
:cond_1c
invoke-virtual {v10}, Ljava/lang/String;->length()I
move-result v5
add-int/2addr v4, v5
add-int/lit8 v2, v2, 0x1
goto :goto_10
:cond_24
const/4 v11, 0x2
const/16 v12, 0x352
if-gt v4, v12, :cond_2d
.line 5
invoke-static {v7, v11, v0, v1, v8}, Lio/rong/common/fwlog/FwLog;->write(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
return-void
:cond_2d
const-string v2, "-"
.line 6
invoke-virtual {v0, v2}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I
move-result v3
invoke-virtual {v0, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v3
.line 7
invoke-virtual {v0, v2}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I
move-result v2
invoke-virtual {v0, v9, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v13
const-string v0, "\\|"
.line 8
invoke-virtual {v1, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v14
const-string v15, ""
move-object v4, v3
move-object v0, v15
const/4 v1, 0x0
const/4 v2, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
.line 9
:goto_4d
array-length v3, v14
if-ge v6, v3, :cond_161
const-string v3, "|"
.line 10
invoke-virtual {v0, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v16
if-eqz v16, :cond_5b
const/16 v16, 0x1
goto :goto_5d
:cond_5b
move/from16 v16, v2
.line 11
:goto_5d
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-object v0, v14, v6
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v18
.line 12
invoke-virtual/range {v18 .. v18}, Ljava/lang/String;->length()I
move-result v0
add-int/2addr v1, v0
.line 13
aget-object v0, v8, v6
if-eqz v0, :cond_82
aget-object v0, v8, v6
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
move-object v2, v0
goto :goto_83
:cond_82
move-object v2, v10
.line 14
:goto_83
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v0
const-string v9, "-X"
if-ge v0, v12, :cond_128
.line 15
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v0
add-int/2addr v1, v0
if-le v1, v12, :cond_ce
move/from16 v0, p0
move-object v1, v13
move-object/from16 p1, v2
move-object v2, v4
move-object v4, v3
move v3, v5
move-object v5, v4
move v4, v6
move-object v12, v5
move-object/from16 v5, v18
move v11, v6
move-object/from16 v6, p3
.line 16
invoke-static/range {v0 .. v6}, Lio/rong/common/fwlog/LogSplitUtil;->merge(ILjava/lang/String;Ljava/lang/String;IILjava/lang/String;[Ljava/lang/Object;)V
add-int/lit8 v5, v11, 0x1
.line 17
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
aget-object v1, v14, v11
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 18
aget-object v1, v14, v11
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
invoke-virtual/range {p1 .. p1}, Ljava/lang/String;->length()I
move-result v2
add-int/2addr v1, v2
const/4 v2, 0x1
add-int/2addr v1, v2
move-object v4, v9
move/from16 v2, v16
const/16 v17, 0x2
const/16 v19, 0x0
goto/16 :goto_157
:cond_ce
move-object/from16 p1, v2
move v11, v6
const/4 v2, 0x1
.line 19
array-length v0, v14
sub-int/2addr v0, v2
if-ne v11, v0, :cond_119
if-ne v5, v11, :cond_104
.line 20
invoke-virtual {v9, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_e2
if-gt v7, v2, :cond_e2
const/4 v0, 0x2
goto :goto_e3
:cond_e2
move v0, v7
.line 21
:goto_e3
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
aget-object v6, v14, v11
new-array v2, v2, [Ljava/lang/Object;
move-object/from16 v12, p1
const/16 v19, 0x0
aput-object v12, v2, v19
const/4 v9, 0x2
invoke-static {v0, v9, v3, v6, v2}, Lio/rong/common/fwlog/FwLog;->write(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
move v12, v1
move-object v8, v4
move v9, v5
goto :goto_11e
:cond_104
const/4 v9, 0x2
const/16 v19, 0x0
move/from16 v0, p0
move v12, v1
move-object v1, v13
move-object v2, v4
move v3, v5
move-object v6, v4
move v4, v11
move v9, v5
move-object/from16 v5, v18
move-object v8, v6
move-object/from16 v6, p3
.line 22
invoke-static/range {v0 .. v6}, Lio/rong/common/fwlog/LogSplitUtil;->merge(ILjava/lang/String;Ljava/lang/String;IILjava/lang/String;[Ljava/lang/Object;)V
goto :goto_11e
:cond_119
move v12, v1
move-object v8, v4
move v9, v5
const/16 v19, 0x0
:goto_11e
move-object v4, v8
move v5, v9
move v1, v12
move/from16 v2, v16
move-object/from16 v0, v18
const/16 v17, 0x2
goto :goto_157
:cond_128
move-object v12, v2
move-object v8, v4
move v11, v6
move-object/from16 v20, v9
const/16 v17, 0x2
const/16 v19, 0x0
move v9, v5
if-nez v16, :cond_13a
.line 23
aget-object v0, v14, v11
invoke-static {v7, v13, v8, v0, v12}, Lio/rong/common/fwlog/LogSplitUtil;->split(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_150
:cond_13a
if-le v11, v9, :cond_14b
move/from16 v0, p0
move-object v1, v13
move-object v2, v8
move v3, v9
move v4, v11
move-object/from16 v5, v18
move-object/from16 v6, p3
.line 24
invoke-static/range {v0 .. v6}, Lio/rong/common/fwlog/LogSplitUtil;->merge(ILjava/lang/String;Ljava/lang/String;IILjava/lang/String;[Ljava/lang/Object;)V
move-object/from16 v8, v20
.line 25
:cond_14b
aget-object v0, v14, v11
invoke-static {v7, v13, v8, v0, v12}, Lio/rong/common/fwlog/LogSplitUtil;->split(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:goto_150
add-int/lit8 v5, v11, 0x1
move-object v0, v15
move-object/from16 v4, v20
const/4 v1, 0x0
const/4 v2, 0x0
:goto_157
add-int/lit8 v6, v11, 0x1
move-object/from16 v8, p3
const/4 v9, 0x0
const/4 v11, 0x2
const/16 v12, 0x352
goto/16 :goto_4d
:cond_161
return-void
.end method