MessageObject$VCardData.smali
.class public Lim/tpelyyftgw/messenger/MessageObject$VCardData;
.super Ljava/lang/Object;
.source "MessageObject.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lim/tpelyyftgw/messenger/MessageObject;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "VCardData"
.end annotation
# instance fields
.field private company:Ljava/lang/String;
.field private emails:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private phones:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 195
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 198
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->emails:Ljava/util/ArrayList;
.line 199
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->phones:Ljava/util/ArrayList;
return-void
.end method
.method public static parse(Ljava/lang/String;)Ljava/lang/CharSequence;
.registers 20
.param p0, "data" # Ljava/lang/String;
.line 203
const/4 v0, 0x0
.line 204
.local v0, "currentData":Lim/tpelyyftgw/messenger/MessageObject$VCardData;
const/4 v1, 0x0
.line 205
.local v1, "finished":Z
:try_start_2
new-instance v2, Ljava/io/BufferedReader;
new-instance v3, Ljava/io/StringReader;
move-object/from16 v4, p0
invoke-direct {v3, v4}, Ljava/io/StringReader;-><init>(Ljava/lang/String;)V
invoke-direct {v2, v3}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
.line 209
.local v2, "bufferedReader":Ljava/io/BufferedReader;
const/4 v3, 0x0
move-object v5, v3
move v3, v1
move-object v1, v0
.line 210
.end local v0 # "currentData":Lim/tpelyyftgw/messenger/MessageObject$VCardData;
.local v1, "currentData":Lim/tpelyyftgw/messenger/MessageObject$VCardData;
.local v3, "finished":Z
.local v5, "pendingLine":Ljava/lang/String;
:goto_12
invoke-virtual {v2}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v0
move-object v6, v0
.local v6, "line":Ljava/lang/String;
move-object v7, v0
.local v7, "originalLine":Ljava/lang/String;
if-eqz v0, :cond_17a
.line 211
const-string v0, "PHOTO"
invoke-virtual {v7, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_23
.line 212
goto :goto_12
.line 214
:cond_23
const/16 v0, 0x3a
invoke-virtual {v7, v0}, Ljava/lang/String;->indexOf(I)I
move-result v0
if-ltz v0, :cond_46
.line 215
const-string v0, "BEGIN:VCARD"
invoke-virtual {v7, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_3a
.line 216
new-instance v0, Lim/tpelyyftgw/messenger/MessageObject$VCardData;
invoke-direct {v0}, Lim/tpelyyftgw/messenger/MessageObject$VCardData;-><init>()V
move-object v1, v0
.end local v1 # "currentData":Lim/tpelyyftgw/messenger/MessageObject$VCardData;
.restart local v0 # "currentData":Lim/tpelyyftgw/messenger/MessageObject$VCardData;
goto :goto_46
.line 217
.end local v0 # "currentData":Lim/tpelyyftgw/messenger/MessageObject$VCardData;
.restart local v1 # "currentData":Lim/tpelyyftgw/messenger/MessageObject$VCardData;
:cond_3a
const-string v0, "END:VCARD"
invoke-virtual {v7, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_46
.line 218
if-eqz v1, :cond_46
.line 219
const/4 v0, 0x1
move v3, v0
.line 224
:cond_46
:goto_46
if-eqz v5, :cond_5a
.line 225
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v6}, 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 226
.end local v5 # "pendingLine":Ljava/lang/String;
.local v0, "pendingLine":Ljava/lang/String;
move-object v6, v0
.line 227
const/4 v0, 0x0
move-object v5, v0
.line 229
.end local v0 # "pendingLine":Ljava/lang/String;
.restart local v5 # "pendingLine":Ljava/lang/String;
:cond_5a
const-string v0, "=QUOTED-PRINTABLE"
invoke-virtual {v6, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
:try_end_60
.catchall {:try_start_2 .. :try_end_60} :catchall_20a
const-string v8, "="
const/4 v9, 0x0
const/4 v10, 0x1
if-eqz v0, :cond_77
:try_start_66
invoke-virtual {v6, v8}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_77
.line 230
invoke-virtual {v6}, Ljava/lang/String;->length()I
move-result v0
sub-int/2addr v0, v10
invoke-virtual {v6, v9, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
move-object v5, v0
.line 231
goto :goto_12
.line 233
:cond_77
const-string v0, ":"
invoke-virtual {v6, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v0
.line 235
.local v0, "idx":I
const/4 v11, 0x2
if-ltz v0, :cond_95
.line 236
new-array v12, v11, [Ljava/lang/String;
.line 237
invoke-virtual {v6, v9, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v13
aput-object v13, v12, v9
add-int/lit8 v13, v0, 0x1
.line 238
invoke-virtual {v6, v13}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v13
invoke-virtual {v13}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v13
aput-object v13, v12, v10
.local v12, "args":[Ljava/lang/String;
goto :goto_9d
.line 241
.end local v12 # "args":[Ljava/lang/String;
:cond_95
new-array v12, v10, [Ljava/lang/String;
invoke-virtual {v6}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v13
aput-object v13, v12, v9
.line 243
.restart local v12 # "args":[Ljava/lang/String;
:goto_9d
array-length v13, v12
if-lt v13, v11, :cond_170
if-nez v1, :cond_a6
.line 244
move/from16 v18, v3
goto/16 :goto_174
.line 246
:cond_a6
aget-object v13, v12, v9
const-string v14, "ORG"
invoke-virtual {v13, v14}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v13
if-eqz v13, :cond_136
.line 247
const/4 v13, 0x0
.line 248
.local v13, "nameEncoding":Ljava/lang/String;
const/4 v14, 0x0
.line 249
.local v14, "nameCharset":Ljava/lang/String;
aget-object v15, v12, v9
const-string v10, ";"
invoke-virtual {v15, v10}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v10
.line 250
.local v10, "params":[Ljava/lang/String;
array-length v15, v10
:goto_bb
if-ge v9, v15, :cond_ff
aget-object v16, v10, v9
move-object/from16 v17, v16
.line 251
.local v17, "param":Ljava/lang/String;
move-object/from16 v11, v17
.end local v17 # "param":Ljava/lang/String;
.local v11, "param":Ljava/lang/String;
invoke-virtual {v11, v8}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v17
move-object/from16 v18, v17
.line 252
.local v18, "args2":[Ljava/lang/String;
move/from16 v17, v0
move-object/from16 v0, v18
move/from16 v18, v3
.end local v3 # "finished":Z
.local v0, "args2":[Ljava/lang/String;
.local v17, "idx":I
.local v18, "finished":Z
array-length v3, v0
const/4 v4, 0x2
if-eq v3, v4, :cond_d4
.line 253
goto :goto_f5
.line 255
:cond_d4
const/4 v3, 0x0
aget-object v4, v0, v3
const-string v3, "CHARSET"
invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_e5
.line 256
const/4 v3, 0x1
aget-object v4, v0, v3
move-object v3, v4
move-object v14, v3
.end local v14 # "nameCharset":Ljava/lang/String;
.local v3, "nameCharset":Ljava/lang/String;
goto :goto_f5
.line 257
.end local v3 # "nameCharset":Ljava/lang/String;
.restart local v14 # "nameCharset":Ljava/lang/String;
:cond_e5
const/4 v3, 0x0
aget-object v4, v0, v3
const-string v3, "ENCODING"
invoke-virtual {v4, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_f5
.line 258
const/4 v3, 0x1
aget-object v4, v0, v3
move-object v3, v4
move-object v13, v3
.line 250
.end local v0 # "args2":[Ljava/lang/String;
.end local v11 # "param":Ljava/lang/String;
:cond_f5
:goto_f5
add-int/lit8 v9, v9, 0x1
const/4 v11, 0x2
move-object/from16 v4, p0
move/from16 v0, v17
move/from16 v3, v18
goto :goto_bb
.line 261
.end local v17 # "idx":I
.end local v18 # "finished":Z
.local v0, "idx":I
.local v3, "finished":Z
:cond_ff
move/from16 v17, v0
move/from16 v18, v3
.end local v0 # "idx":I
.end local v3 # "finished":Z
.restart local v17 # "idx":I
.restart local v18 # "finished":Z
const/4 v0, 0x1
aget-object v0, v12, v0
iput-object v0, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->company:Ljava/lang/String;
.line 262
if-eqz v13, :cond_129
const-string v0, "QUOTED-PRINTABLE"
invoke-virtual {v13, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_129
.line 263
iget-object v0, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->company:Ljava/lang/String;
invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->getStringBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->decodeQuotedPrintable([B)[B
move-result-object v0
.line 264
.local v0, "bytes":[B
if-eqz v0, :cond_129
array-length v3, v0
if-eqz v3, :cond_129
.line 265
new-instance v3, Ljava/lang/String;
invoke-direct {v3, v0, v14}, Ljava/lang/String;-><init>([BLjava/lang/String;)V
.line 266
.local v3, "decodedName":Ljava/lang/String;
nop
.line 267
iput-object v3, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->company:Ljava/lang/String;
.line 271
.end local v0 # "bytes":[B
.end local v3 # "decodedName":Ljava/lang/String;
:cond_129
iget-object v0, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->company:Ljava/lang/String;
const/16 v3, 0x3b
const/16 v4, 0x20
invoke-virtual {v0, v3, v4}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object v0
iput-object v0, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->company:Ljava/lang/String;
.line 272
.end local v10 # "params":[Ljava/lang/String;
.end local v13 # "nameEncoding":Ljava/lang/String;
.end local v14 # "nameCharset":Ljava/lang/String;
goto :goto_16f
.end local v17 # "idx":I
.end local v18 # "finished":Z
.local v0, "idx":I
.local v3, "finished":Z
:cond_136
move/from16 v17, v0
move/from16 v18, v3
.end local v0 # "idx":I
.end local v3 # "finished":Z
.restart local v17 # "idx":I
.restart local v18 # "finished":Z
const/4 v0, 0x0
aget-object v3, v12, v0
const-string v0, "TEL"
invoke-virtual {v3, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_156
.line 273
const/4 v0, 0x1
aget-object v3, v12, v0
invoke-virtual {v3}, Ljava/lang/String;->length()I
move-result v3
if-lez v3, :cond_16f
.line 274
iget-object v3, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->phones:Ljava/util/ArrayList;
aget-object v0, v12, v0
invoke-virtual {v3, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_16f
.line 276
:cond_156
const/4 v0, 0x0
aget-object v0, v12, v0
const-string v3, "EMAIL"
invoke-virtual {v0, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_16f
.line 277
const/4 v0, 0x1
aget-object v0, v12, v0
.line 278
.local v0, "email":Ljava/lang/String;
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v3
if-lez v3, :cond_16f
.line 279
iget-object v3, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->emails:Ljava/util/ArrayList;
invoke-virtual {v3, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_16f
.catchall {:try_start_66 .. :try_end_16f} :catchall_20a
.line 282
.end local v0 # "email":Ljava/lang/String;
.end local v12 # "args":[Ljava/lang/String;
.end local v17 # "idx":I
:cond_16f
:goto_16f
goto :goto_174
.line 243
.end local v18 # "finished":Z
.local v0, "idx":I
.restart local v3 # "finished":Z
.restart local v12 # "args":[Ljava/lang/String;
:cond_170
move/from16 v17, v0
move/from16 v18, v3
.line 210
.end local v0 # "idx":I
.end local v3 # "finished":Z
.end local v6 # "line":Ljava/lang/String;
.end local v7 # "originalLine":Ljava/lang/String;
.end local v12 # "args":[Ljava/lang/String;
.restart local v18 # "finished":Z
:goto_174
move-object/from16 v4, p0
move/from16 v3, v18
goto/16 :goto_12
.line 284
.end local v18 # "finished":Z
.restart local v3 # "finished":Z
.restart local v6 # "line":Ljava/lang/String;
.restart local v7 # "originalLine":Ljava/lang/String;
:cond_17a
:try_start_17a
invoke-virtual {v2}, Ljava/io/BufferedReader;->close()V
:try_end_17d
.catch Ljava/lang/Exception; {:try_start_17a .. :try_end_17d} :catch_17e
.catchall {:try_start_17a .. :try_end_17d} :catchall_20a
.line 287
goto :goto_184
.line 285
:catch_17e
move-exception v0
move-object v4, v0
move-object v0, v4
.line 286
.local v0, "e":Ljava/lang/Exception;
:try_start_181
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 288
.end local v0 # "e":Ljava/lang/Exception;
:goto_184
if-eqz v3, :cond_209
.line 289
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 290
.local v0, "result":Ljava/lang/StringBuilder;
const/4 v4, 0x0
.local v4, "a":I
:goto_18c
iget-object v8, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->phones:Ljava/util/ArrayList;
invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
move-result v8
const/16 v9, 0xa
if-ge v4, v8, :cond_1ca
.line 291
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v8
if-lez v8, :cond_19f
.line 292
invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 294
:cond_19f
iget-object v8, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->phones:Ljava/util/ArrayList;
invoke-virtual {v8, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v8
check-cast v8, Ljava/lang/String;
.line 295
.local v8, "phone":Ljava/lang/String;
const-string v9, "#"
invoke-virtual {v8, v9}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v9
if-nez v9, :cond_1c4
const-string v9, "*"
invoke-virtual {v8, v9}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v9
if-eqz v9, :cond_1b8
goto :goto_1c4
.line 298
:cond_1b8
invoke-static {}, Lim/tpelyyftgw/phoneformat/PhoneFormat;->getInstance()Lim/tpelyyftgw/phoneformat/PhoneFormat;
move-result-object v9
invoke-virtual {v9, v8}, Lim/tpelyyftgw/phoneformat/PhoneFormat;->format(Ljava/lang/String;)Ljava/lang/String;
move-result-object v9
invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_1c7
.line 296
:cond_1c4
:goto_1c4
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 290
.end local v8 # "phone":Ljava/lang/String;
:goto_1c7
add-int/lit8 v4, v4, 0x1
goto :goto_18c
.line 301
.end local v4 # "a":I
:cond_1ca
const/4 v4, 0x0
.restart local v4 # "a":I
:goto_1cb
iget-object v8, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->emails:Ljava/util/ArrayList;
invoke-virtual {v8}, Ljava/util/ArrayList;->size()I
move-result v8
if-ge v4, v8, :cond_1f2
.line 302
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v8
if-lez v8, :cond_1dc
.line 303
invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 305
:cond_1dc
invoke-static {}, Lim/tpelyyftgw/phoneformat/PhoneFormat;->getInstance()Lim/tpelyyftgw/phoneformat/PhoneFormat;
move-result-object v8
iget-object v10, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->emails:Ljava/util/ArrayList;
invoke-virtual {v10, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v10
check-cast v10, Ljava/lang/String;
invoke-virtual {v8, v10}, Lim/tpelyyftgw/phoneformat/PhoneFormat;->format(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 301
add-int/lit8 v4, v4, 0x1
goto :goto_1cb
.line 307
.end local v4 # "a":I
:cond_1f2
iget-object v4, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->company:Ljava/lang/String;
invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v4
if-nez v4, :cond_208
.line 308
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v4
if-lez v4, :cond_203
.line 309
invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 311
:cond_203
iget-object v4, v1, Lim/tpelyyftgw/messenger/MessageObject$VCardData;->company:Ljava/lang/String;
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_208
.catchall {:try_start_181 .. :try_end_208} :catchall_20a
.line 313
:cond_208
return-object v0
.line 317
.end local v0 # "result":Ljava/lang/StringBuilder;
.end local v1 # "currentData":Lim/tpelyyftgw/messenger/MessageObject$VCardData;
.end local v2 # "bufferedReader":Ljava/io/BufferedReader;
.end local v3 # "finished":Z
.end local v5 # "pendingLine":Ljava/lang/String;
.end local v6 # "line":Ljava/lang/String;
.end local v7 # "originalLine":Ljava/lang/String;
:cond_209
goto :goto_20b
.line 315
:catchall_20a
move-exception v0
.line 318
:goto_20b
const/4 v0, 0x0
return-object v0
.end method