ContactAccessorImpl.smali
.class public Lio/dcloud/feature/contacts/ContactAccessorImpl;
.super Lio/dcloud/feature/contacts/ContactAccessor;
.source "ContactAccessorImpl.java"
# static fields
.field private static final EMAIL_REGEXP:Ljava/lang/String; = ".+@.+\\.+.+"
.field private static final MAX_PHOTO_SIZE:J = 0x100000L
.field private static final Tag:Ljava/lang/String; = "contacts"
.field private static final dbMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 6
.line 69
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lio/dcloud/feature/contacts/ContactAccessorImpl;->dbMap:Ljava/util/Map;
const-string v1, "id"
const-string v2, "raw_contact_id"
.line 71
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "displayName"
const-string v2, "display_name"
.line 72
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "name"
const-string v2, "data1"
.line 73
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "name.formatted"
.line 74
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "name.familyName"
const-string v3, "data3"
.line 75
invoke-interface {v0, v1, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "name.givenName"
const-string v3, "data2"
.line 76
invoke-interface {v0, v1, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "name.middleName"
const-string v3, "data5"
.line 77
invoke-interface {v0, v1, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "name.honorificPrefix"
const-string v4, "data4"
.line 78
invoke-interface {v0, v1, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "name.honorificSuffix"
const-string v5, "data6"
.line 79
invoke-interface {v0, v1, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "nickname"
.line 80
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "phoneNumbers"
.line 81
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "phoneNumbers.value"
.line 82
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "emails"
.line 83
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "emails.value"
.line 84
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "addresses"
.line 85
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "addresses.formatted"
.line 86
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "addresses.streetAddress"
.line 87
invoke-interface {v0, v1, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "addresses.locality"
const-string v5, "data7"
.line 88
invoke-interface {v0, v1, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "addresses.region"
const-string v5, "data8"
.line 89
invoke-interface {v0, v1, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "addresses.postalCode"
const-string v5, "data9"
.line 90
invoke-interface {v0, v1, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "addresses.country"
const-string v5, "data10"
.line 91
invoke-interface {v0, v1, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "ims"
.line 92
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "ims.value"
.line 93
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "organizations"
.line 94
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "organizations.name"
.line 95
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "organizations.department"
.line 96
invoke-interface {v0, v1, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "organizations.title"
.line 97
invoke-interface {v0, v1, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "birthday"
const-string v3, "vnd.android.cursor.item/contact_event"
.line 98
invoke-interface {v0, v1, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "note"
.line 99
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "photos.value"
const-string v3, "vnd.android.cursor.item/photo"
.line 100
invoke-interface {v0, v1, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "urls"
.line 102
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const-string v1, "urls.value"
.line 103
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"app"
}
.end annotation
.line 109
invoke-direct {p0}, Lio/dcloud/feature/contacts/ContactAccessor;-><init>()V
.line 110
iput-object p1, p0, Lio/dcloud/feature/contacts/ContactAccessorImpl;->mApp:Landroid/content/Context;
return-void
.end method
.method private addressQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"cursor"
}
.end annotation
.line 513
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_5
const-string v1, "id"
const-string v2, "_id"
.line 515
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "pref"
const/4 v2, 0x0
.line 516
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
const-string v1, "type"
const-string v2, "data2"
.line 517
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getInt(I)I
move-result v2
invoke-direct {p0, v2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getAddressType(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "formatted"
const-string v2, "data1"
.line 518
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "streetAddress"
const-string v2, "data4"
.line 519
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "locality"
const-string v2, "data7"
.line 520
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "region"
const-string v2, "data8"
.line 521
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "postalCode"
const-string v2, "data9"
.line 522
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "country"
const-string v2, "data10"
.line 523
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, v1, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_87
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_87} :catch_88
goto :goto_92
:catch_88
move-exception p1
.line 525
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object v1
const-string v2, "ContactsAccessor"
invoke-static {v2, v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_92
return-object v0
.end method
.method private buildIdClause(Ljava/util/ArrayList;)Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;
.registers 7
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"contactIds"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;)",
"Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;"
}
.end annotation
.line 331
new-instance v0, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;
invoke-direct {v0, p0}, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;-><init>(Lio/dcloud/feature/contacts/ContactAccessor;)V
.line 334
invoke-virtual {p1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object p1
.line 335
new-instance v1, Ljava/lang/StringBuffer;
const-string v2, "("
invoke-direct {v1, v2}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
.line 337
:cond_10
:goto_10
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_3f
.line 338
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "\'"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/String;
invoke-virtual {v2, v4}, 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 v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 339
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_10
const-string v2, ","
.line 340
invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
goto :goto_10
:cond_3f
const-string p1, ")"
.line 343
invoke-virtual {v1, p1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 345
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "raw_contact_id IN "
invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;->setSelection(Ljava/lang/String;)V
const/4 p1, 0x0
.line 346
invoke-virtual {v0, p1}, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;->setSelectionArgs([Ljava/lang/String;)V
return-object v0
.end method
.method private buildWhereClause(Lorg/json/JSONArray;)Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;
.registers 13
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"searchArr"
}
.end annotation
.line 404
new-instance v0, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;
invoke-direct {v0, p0}, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;-><init>(Lio/dcloud/feature/contacts/ContactAccessor;)V
if-eqz p1, :cond_b0
.line 406
invoke-virtual {p1}, Lorg/json/JSONArray;->length()I
move-result v1
if-lez v1, :cond_b0
.line 407
new-instance v2, Ljava/lang/StringBuffer;
invoke-direct {v2}, Ljava/lang/StringBuffer;-><init>()V
.line 408
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
const/4 v4, 0x0
move v5, v4
:goto_19
if-ge v4, v1, :cond_9b
.line 411
invoke-static {p1, v4}, Lio/dcloud/common/util/JSONUtil;->getJSONObject(Lorg/json/JSONArray;I)Lorg/json/JSONObject;
move-result-object v6
const-string v7, "field"
.line 412
invoke-static {v6, v7}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
const-string v8, "logic"
.line 413
invoke-static {v6, v8}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
invoke-direct {p0, v8}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->formatLogic(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
const-string v9, "value"
.line 414
invoke-static {v6, v9}, Lio/dcloud/common/util/JSONUtil;->getString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
if-eqz v7, :cond_97
.line 415
sget-object v9, Lio/dcloud/feature/contacts/ContactAccessorImpl;->dbMap:Ljava/util/Map;
.line 416
invoke-interface {v9, v7}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_97
if-eqz v6, :cond_97
const-string v10, ""
invoke-virtual {v6, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-nez v10, :cond_97
const/16 v5, 0x3f
const/16 v10, 0x5f
.line 417
invoke-virtual {v6, v5, v10}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object v5
const/16 v6, 0x2a
const/16 v10, 0x25
.line 418
invoke-virtual {v5, v6, v10}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object v5
.line 419
invoke-interface {v9, v7}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/lang/String;
.line 420
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "("
invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, " LIKE ? )"
invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v2, v6}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
add-int/lit8 v6, v1, -0x1
if-eq v4, v6, :cond_93
.line 422
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, " "
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v2, v6}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 424
:cond_93
invoke-virtual {v3, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
const/4 v5, 0x1
:cond_97
add-int/lit8 v4, v4, 0x1
goto/16 :goto_19
:cond_9b
if-eqz v5, :cond_b0
.line 429
invoke-virtual {v2}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;->setSelection(Ljava/lang/String;)V
.line 430
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
move-result p1
new-array p1, p1, [Ljava/lang/String;
.line 431
invoke-virtual {v3, p1}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
.line 432
invoke-virtual {v0, p1}, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;->setSelectionArgs([Ljava/lang/String;)V
:cond_b0
return-object v0
.end method
.method private createNewContact(Lorg/json/JSONObject;Landroid/accounts/Account;)Z
.registers 16
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"contact",
"account"
}
.end annotation
const-string v0, "Could not get emails"
const-string v1, "ContactsAccessor"
.line 1248
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
.line 1250
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
const/4 v4, 0x3
.line 1259
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
if-eqz p2, :cond_33
.line 1253
sget-object v5, Landroid/provider/ContactsContract$RawContacts;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v5}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v5
iget-object v6, p2, Landroid/accounts/Account;->type:Ljava/lang/String;
const-string v7, "account_type"
.line 1254
invoke-virtual {v5, v7, v6}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v5
iget-object p2, p2, Landroid/accounts/Account;->name:Ljava/lang/String;
const-string v6, "account_name"
.line 1255
invoke-virtual {v5, v6, p2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1256
invoke-virtual {p2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p2
.line 1253
invoke-virtual {v2, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_46
.line 1258
:cond_33
sget-object p2, Landroid/provider/ContactsContract$RawContacts;->CONTENT_URI:Landroid/net/Uri;
invoke-static {p2}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
const-string v5, "aggregation_mode"
.line 1259
invoke-virtual {p2, v5, v4}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1260
invoke-virtual {p2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p2
.line 1258
invoke-virtual {v2, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 1262
:goto_46
invoke-virtual {v3, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
const-string p2, "name"
.line 1272
invoke-virtual {p1, p2}, Lorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object p2
const-string v5, "displayName"
.line 1273
invoke-virtual {p0, p1, v5}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v5
const-string v6, "data2"
const-string v7, "data1"
const-string v8, "mimetype"
const-string v9, "raw_contact_id"
const/4 v10, 0x0
if-nez v5, :cond_62
if-eqz p2, :cond_ba
.line 1275
:cond_62
sget-object v11, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v11}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v11
.line 1276
invoke-virtual {v11, v9, v10}, Landroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
move-result-object v11
const-string v12, "vnd.android.cursor.item/name"
.line 1277
invoke-virtual {v11, v8, v12}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v11
.line 1278
invoke-virtual {v11, v7, v5}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v5
const-string v11, "familyName"
.line 1279
invoke-virtual {p0, p2, v11}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v11
const-string v12, "data3"
invoke-virtual {v5, v12, v11}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v5
const-string v11, "middleName"
.line 1280
invoke-virtual {p0, p2, v11}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v11
const-string v12, "data5"
invoke-virtual {v5, v12, v11}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v5
const-string v11, "givenName"
.line 1281
invoke-virtual {p0, p2, v11}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v11
invoke-virtual {v5, v6, v11}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v5
const-string v11, "honorificPrefix"
.line 1282
invoke-virtual {p0, p2, v11}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v11
const-string v12, "data4"
invoke-virtual {v5, v12, v11}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v5
const-string v11, "honorificSuffix"
.line 1283
invoke-virtual {p0, p2, v11}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v11
const-string v12, "data6"
invoke-virtual {v5, v12, v11}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v5
.line 1284
invoke-virtual {v5}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v5
.line 1275
invoke-virtual {v2, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 1285
invoke-virtual {v3, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_ba
:try_start_ba
const-string p2, "phoneNumbers"
.line 1291
invoke-virtual {p1, p2}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object p2
if-eqz p2, :cond_da
move v5, v10
.line 1293
:goto_c3
invoke-virtual {p2}, Lorg/json/JSONArray;->length()I
move-result v11
if-ge v5, v11, :cond_da
.line 1294
invoke-virtual {p2, v5}, Lorg/json/JSONArray;->get(I)Ljava/lang/Object;
move-result-object v11
check-cast v11, Lorg/json/JSONObject;
.line 1295
invoke-direct {p0, v2, v11}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->insertPhone(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
:try_end_d2
.catch Lorg/json/JSONException; {:try_start_ba .. :try_end_d2} :catch_d5
add-int/lit8 v5, v5, 0x1
goto :goto_c3
:catch_d5
const-string p2, "Could not get phone numbers"
.line 1301
invoke-static {v1, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_da
:try_start_da
const-string p2, "emails"
.line 1307
invoke-virtual {p1, p2}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object p2
if-eqz p2, :cond_fb
move v5, v10
.line 1309
:goto_e3
invoke-virtual {p2}, Lorg/json/JSONArray;->length()I
move-result v11
if-ge v5, v11, :cond_fb
.line 1310
invoke-virtual {p2, v5}, Lorg/json/JSONArray;->get(I)Ljava/lang/Object;
move-result-object v11
check-cast v11, Lorg/json/JSONObject;
.line 1311
invoke-direct {p0, v2, v11}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->insertEmail(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.line 1312
invoke-virtual {v3, v11}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_f5
.catch Lorg/json/JSONException; {:try_start_da .. :try_end_f5} :catch_f8
add-int/lit8 v5, v5, 0x1
goto :goto_e3
.line 1317
:catch_f8
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_fb
:try_start_fb
const-string p2, "addresses"
.line 1323
invoke-virtual {p1, p2}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object p2
if-eqz p2, :cond_11e
move v5, v10
.line 1325
:goto_104
invoke-virtual {p2}, Lorg/json/JSONArray;->length()I
move-result v11
if-ge v5, v11, :cond_11e
.line 1326
invoke-virtual {p2, v5}, Lorg/json/JSONArray;->get(I)Ljava/lang/Object;
move-result-object v11
check-cast v11, Lorg/json/JSONObject;
.line 1327
invoke-direct {p0, v2, v11}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->insertAddress(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.line 1328
invoke-virtual {v3, v11}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_116
.catch Lorg/json/JSONException; {:try_start_fb .. :try_end_116} :catch_119
add-int/lit8 v5, v5, 0x1
goto :goto_104
:catch_119
const-string p2, "Could not get addresses"
.line 1333
invoke-static {v1, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_11e
:try_start_11e
const-string p2, "organizations"
.line 1339
invoke-virtual {p1, p2}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object p2
if-eqz p2, :cond_141
move v5, v10
.line 1341
:goto_127
invoke-virtual {p2}, Lorg/json/JSONArray;->length()I
move-result v11
if-ge v5, v11, :cond_141
.line 1342
invoke-virtual {p2, v5}, Lorg/json/JSONArray;->get(I)Ljava/lang/Object;
move-result-object v11
check-cast v11, Lorg/json/JSONObject;
.line 1343
invoke-direct {p0, v2, v11}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->insertOrganization(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.line 1344
invoke-virtual {v3, v11}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_139
.catch Lorg/json/JSONException; {:try_start_11e .. :try_end_139} :catch_13c
add-int/lit8 v5, v5, 0x1
goto :goto_127
:catch_13c
const-string p2, "Could not get organizations"
.line 1349
invoke-static {v1, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_141
:try_start_141
const-string p2, "ims"
.line 1355
invoke-virtual {p1, p2}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object p2
if-eqz p2, :cond_162
move v5, v10
.line 1357
:goto_14a
invoke-virtual {p2}, Lorg/json/JSONArray;->length()I
move-result v11
if-ge v5, v11, :cond_162
.line 1358
invoke-virtual {p2, v5}, Lorg/json/JSONArray;->get(I)Ljava/lang/Object;
move-result-object v11
check-cast v11, Lorg/json/JSONObject;
.line 1359
invoke-direct {p0, v2, v11}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->insertIm(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.line 1360
invoke-virtual {v3, v11}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_15c
.catch Lorg/json/JSONException; {:try_start_141 .. :try_end_15c} :catch_15f
add-int/lit8 v5, v5, 0x1
goto :goto_14a
.line 1365
:catch_15f
invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_162
:try_start_162
const-string p2, "websites"
.line 1373
invoke-virtual {p1, p2}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object p2
if-eqz p2, :cond_185
move v0, v10
.line 1375
:goto_16b
invoke-virtual {p2}, Lorg/json/JSONArray;->length()I
move-result v5
if-ge v0, v5, :cond_185
.line 1376
invoke-virtual {p2, v0}, Lorg/json/JSONArray;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lorg/json/JSONObject;
.line 1377
invoke-direct {p0, v2, v5}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->insertWebsite(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.line 1378
invoke-virtual {v3, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_17d
.catch Lorg/json/JSONException; {:try_start_162 .. :try_end_17d} :catch_180
add-int/lit8 v0, v0, 0x1
goto :goto_16b
:catch_180
const-string p2, "Could not get websites"
.line 1383
invoke-static {v1, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_185
:try_start_185
const-string p2, "photos"
.line 1389
invoke-virtual {p1, p2}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object p2
if-eqz p2, :cond_1a8
move v0, v10
.line 1391
:goto_18e
invoke-virtual {p2}, Lorg/json/JSONArray;->length()I
move-result v5
if-ge v0, v5, :cond_1a8
.line 1392
invoke-virtual {p2, v0}, Lorg/json/JSONArray;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lorg/json/JSONObject;
.line 1393
invoke-direct {p0, v2, v5}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->insertPhoto(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.line 1394
invoke-virtual {v3, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_1a0
.catch Lorg/json/JSONException; {:try_start_185 .. :try_end_1a0} :catch_1a3
add-int/lit8 v0, v0, 0x1
goto :goto_18e
:catch_1a3
const-string p2, "Could not get photos"
.line 1399
invoke-static {v1, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_1a8
const-string p2, "birthday"
.line 1403
invoke-virtual {p0, p1, p2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
if-eqz p2, :cond_1cf
.line 1405
sget-object v0, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v0}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
.line 1406
invoke-virtual {v0, v9, v10}, Landroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v5, "vnd.android.cursor.item/contact_event"
.line 1407
invoke-virtual {v0, v8, v5}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
.line 1408
invoke-virtual {v0, v6, v4}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
.line 1409
invoke-virtual {v0, v7, p2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1410
invoke-virtual {p2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p2
.line 1405
invoke-virtual {v2, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_1cf
const-string p2, "note"
.line 1414
invoke-virtual {p0, p1, p2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
if-eqz p2, :cond_1f2
.line 1416
sget-object v0, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v0}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
.line 1417
invoke-virtual {v0, v9, v10}, Landroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v4, "vnd.android.cursor.item/note"
.line 1418
invoke-virtual {v0, v8, v4}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
.line 1419
invoke-virtual {v0, v7, p2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1420
invoke-virtual {p2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p2
.line 1416
invoke-virtual {v2, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_1f2
const-string p2, "nickname"
.line 1424
invoke-virtual {p0, p1, p2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
if-eqz p1, :cond_215
.line 1426
sget-object p2, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {p2}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1427
invoke-virtual {p2, v9, v10}, Landroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
const-string v0, "vnd.android.cursor.item/nickname"
.line 1428
invoke-virtual {p2, v8, v0}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1429
invoke-virtual {p2, v7, p1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p1
.line 1430
invoke-virtual {p1}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p1
.line 1426
invoke-virtual {v2, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 1438
:cond_215
:try_start_215
iget-object p1, p0, Lio/dcloud/feature/contacts/ContactAccessorImpl;->mApp:Landroid/content/Context;
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p1
const-string p2, "com.android.contacts"
invoke-virtual {p1, p2, v2}, Landroid/content/ContentResolver;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
move-result-object p1
.line 1439
array-length p2, p1
if-ltz p2, :cond_243
move p2, v10
.line 1440
:goto_225
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
move-result v0
if-ge p2, v0, :cond_243
.line 1441
aget-object v0, p1, p2
iget-object v0, v0, Landroid/content/ContentProviderResult;->uri:Landroid/net/Uri;
invoke-virtual {v0}, Landroid/net/Uri;->getLastPathSegment()Ljava/lang/String;
move-result-object v0
.line 1442
invoke-virtual {v3, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lorg/json/JSONObject;
if-eqz v2, :cond_240
const-string v4, "id"
.line 1444
invoke-virtual {v2, v4, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_240
.catch Landroid/os/RemoteException; {:try_start_215 .. :try_end_240} :catch_257
.catch Landroid/content/OperationApplicationException; {:try_start_215 .. :try_end_240} :catch_24e
.catch Lorg/json/JSONException; {:try_start_215 .. :try_end_240} :catch_245
:cond_240
add-int/lit8 p2, p2, 0x1
goto :goto_225
:cond_243
const/4 v10, 0x1
goto :goto_25f
:catch_245
move-exception p1
.line 1454
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lio/dcloud/common/adapter/util/Logger;->e(Ljava/lang/String;)V
goto :goto_25f
:catch_24e
move-exception p1
.line 1452
invoke-virtual {p1}, Landroid/content/OperationApplicationException;->getMessage()Ljava/lang/String;
move-result-object p2
invoke-static {v1, p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_25f
:catch_257
move-exception p1
.line 1450
invoke-virtual {p1}, Landroid/os/RemoteException;->getMessage()Ljava/lang/String;
move-result-object p2
invoke-static {v1, p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_25f
return v10
.end method
.method private emailQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"cursor"
}
.end annotation
.line 606
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_5
const-string v1, "id"
const-string v2, "_id"
.line 608
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "pref"
const/4 v2, 0x0
.line 609
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
const-string v1, "value"
const-string v2, "data1"
.line 610
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "type"
const-string v2, "data2"
.line 611
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getInt(I)I
move-result p1
invoke-direct {p0, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getContactType(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, v1, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_3c
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_3c} :catch_3d
goto :goto_47
:catch_3d
move-exception p1
.line 613
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object v1
const-string v2, "ContactsAccessor"
invoke-static {v2, v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_47
return-object v0
.end method
.method private formatLogic(Ljava/lang/String;)Ljava/lang/String;
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"unFormatLogic"
}
.end annotation
const-string v0, "or"
if-eqz p1, :cond_b
.line 440
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p1
goto :goto_c
:cond_b
move-object p1, v0
:goto_c
const-string v1, "not"
.line 444
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_15
goto :goto_1d
:cond_15
const-string v1, "and"
.line 446
invoke-virtual {p1, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1e
:goto_1d
move-object v0, p1
:cond_1e
return-object v0
.end method
.method private getAddressType(Ljava/lang/String;)I
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"string"
}
.end annotation
const/4 v0, 0x3
if-eqz p1, :cond_32
.line 1772
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v1
const-string v2, "work"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_13
const/4 p1, 0x2
return p1
.line 1775
:cond_13
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v1
const-string v2, "other"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_22
return v0
.line 1778
:cond_22
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p1
const-string v1, "home"
invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_32
const/4 p1, 0x1
return p1
:cond_32
return v0
.end method
.method private getAddressType(I)Ljava/lang/String;
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"type"
}
.end annotation
const/4 v0, 0x1
if-eq p1, v0, :cond_c
const/4 v0, 0x2
if-eq p1, v0, :cond_9
const-string p1, "other"
goto :goto_e
:cond_9
const-string p1, "work"
goto :goto_e
:cond_c
const-string p1, "home"
:goto_e
return-object p1
.end method
.method private getContactType(Ljava/lang/String;)I
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"string"
}
.end annotation
const/4 v0, 0x3
if-eqz p1, :cond_52
.line 1653
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v1
const-string v2, "home"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_13
const/4 p1, 0x1
return p1
.line 1656
:cond_13
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v1
const-string v2, "work"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_23
const/4 p1, 0x2
return p1
.line 1659
:cond_23
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v1
const-string v2, "other"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_32
return v0
.line 1662
:cond_32
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v1
const-string v2, "mobile"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_42
const/4 p1, 0x4
return p1
.line 1665
:cond_42
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p1
const-string v1, "custom"
invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_52
const/4 p1, 0x0
return p1
:cond_52
return v0
.end method
.method private getContactType(I)Ljava/lang/String;
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"type"
}
.end annotation
if-eqz p1, :cond_17
const/4 v0, 0x1
if-eq p1, v0, :cond_14
const/4 v0, 0x2
if-eq p1, v0, :cond_11
const/4 v0, 0x4
if-eq p1, v0, :cond_e
const-string p1, "other"
goto :goto_19
:cond_e
const-string p1, "mobile"
goto :goto_19
:cond_11
const-string p1, "work"
goto :goto_19
:cond_14
const-string p1, "home"
goto :goto_19
:cond_17
const-string p1, "custom"
:goto_19
return-object p1
.end method
.method private getOrgType(Ljava/lang/String;)I
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"string"
}
.end annotation
const/4 v0, 0x2
if-eqz p1, :cond_32
.line 1719
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v1
const-string v2, "work"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_13
const/4 p1, 0x1
return p1
.line 1722
:cond_13
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v1
const-string v2, "other"
invoke-virtual {v2, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_22
return v0
.line 1725
:cond_22
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v1}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p1
const-string v1, "custom"
invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_32
const/4 p1, 0x0
return p1
:cond_32
return v0
.end method
.method private getOrgType(I)Ljava/lang/String;
.registers 3
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"type"
}
.end annotation
if-eqz p1, :cond_b
const/4 v0, 0x1
if-eq p1, v0, :cond_8
const-string p1, "other"
goto :goto_d
:cond_8
const-string p1, "work"
goto :goto_d
:cond_b
const-string p1, "custom"
:goto_d
return-object p1
.end method
.method private getPathFromUri(Ljava/lang/String;)Ljava/io/InputStream;
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"path"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-string v0, "content:"
.line 1222
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_17
.line 1223
invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object p1
.line 1224
iget-object v0, p0, Lio/dcloud/feature/contacts/ContactAccessorImpl;->mApp:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
invoke-virtual {v0, p1}, Landroid/content/ContentResolver;->openInputStream(Landroid/net/Uri;)Ljava/io/InputStream;
move-result-object p1
return-object p1
:cond_17
const-string v0, "http:"
.line 1226
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_3d
const-string v0, "file:"
invoke-virtual {p1, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_28
goto :goto_3d
.line 1231
:cond_28
iget-object v0, p0, Lio/dcloud/feature/contacts/ContactAccessorImpl;->mView:Lio/dcloud/common/DHInterface/IWebview;
invoke-interface {v0}, Lio/dcloud/common/DHInterface/IWebview;->obtainFrameView()Lio/dcloud/common/DHInterface/IFrameView;
move-result-object v0
invoke-interface {v0}, Lio/dcloud/common/DHInterface/IFrameView;->obtainApp()Lio/dcloud/common/DHInterface/IApp;
move-result-object v0
iget-object v1, p0, Lio/dcloud/feature/contacts/ContactAccessorImpl;->mView:Lio/dcloud/common/DHInterface/IWebview;
invoke-interface {v1}, Lio/dcloud/common/DHInterface/IWebview;->obtainFullUrl()Ljava/lang/String;
move-result-object v1
invoke-interface {v0, v1, p1}, Lio/dcloud/common/DHInterface/IApp;->obtainResInStream(Ljava/lang/String;Ljava/lang/String;)Ljava/io/InputStream;
move-result-object p1
return-object p1
.line 1227
:cond_3d
:goto_3d
new-instance v0, Ljava/net/URL;
invoke-direct {v0, p1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
.line 1228
invoke-virtual {v0}, Ljava/net/URL;->openStream()Ljava/io/InputStream;
move-result-object p1
return-object p1
.end method
.method private getPhoneType(Ljava/lang/String;)I
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"string"
}
.end annotation
.line 1493
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v1, "home"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_10
const/4 p1, 0x1
return p1
.line 1496
:cond_10
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v1, "mobile"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_20
const/4 p1, 0x2
return p1
.line 1499
:cond_20
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v1, "work"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_30
const/4 p1, 0x3
return p1
.line 1502
:cond_30
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v1, "work fax"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v1, 0x4
if-eqz v0, :cond_40
return v1
.line 1505
:cond_40
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "home fax"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_50
const/4 p1, 0x5
return p1
.line 1508
:cond_50
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "fax"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_5f
return v1
.line 1511
:cond_5f
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v1, "pager"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_6f
const/4 p1, 0x6
return p1
.line 1514
:cond_6f
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v1, "other"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v1, 0x7
if-eqz v0, :cond_7f
return v1
.line 1517
:cond_7f
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "car"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_90
const/16 p1, 0x9
return p1
.line 1520
:cond_90
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "company main"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_a1
const/16 p1, 0xa
return p1
.line 1523
:cond_a1
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "isdn"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_b2
const/16 p1, 0xb
return p1
.line 1526
:cond_b2
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "main"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_c3
const/16 p1, 0xc
return p1
.line 1529
:cond_c3
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "other fax"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_d4
const/16 p1, 0xd
return p1
.line 1532
:cond_d4
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "radio"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_e5
const/16 p1, 0xe
return p1
.line 1535
:cond_e5
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "telex"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_f6
const/16 p1, 0xf
return p1
.line 1538
:cond_f6
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "work mobile"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_107
const/16 p1, 0x11
return p1
.line 1541
:cond_107
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "work pager"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_118
const/16 p1, 0x12
return p1
.line 1544
:cond_118
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "assistant"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_129
const/16 p1, 0x13
return p1
.line 1547
:cond_129
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "mms"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_13a
const/16 p1, 0x14
return p1
.line 1550
:cond_13a
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "callback"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_14b
const/16 p1, 0x8
return p1
.line 1553
:cond_14b
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v0
const-string v2, "tty ttd"
invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_15c
const/16 p1, 0x10
return p1
.line 1556
:cond_15c
sget-object v0, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v0}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p1
const-string v0, "custom"
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_16c
const/4 p1, 0x0
return p1
:cond_16c
return v1
.end method
.method private getPhoneType(I)Ljava/lang/String;
.registers 2
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"type"
}
.end annotation
packed-switch p1, :pswitch_data_40
:pswitch_3
const-string p1, "other"
goto :goto_3e
:pswitch_6
const-string p1, "mms"
goto :goto_3e
:pswitch_9
const-string p1, "assistant"
goto :goto_3e
:pswitch_c
const-string p1, "work pager"
goto :goto_3e
:pswitch_f
const-string p1, "work mobile"
goto :goto_3e
:pswitch_12
const-string p1, "tty tdd"
goto :goto_3e
:pswitch_15
const-string p1, "telex"
goto :goto_3e
:pswitch_18
const-string p1, "radio"
goto :goto_3e
:pswitch_1b
const-string p1, "other fax"
goto :goto_3e
:pswitch_1e
const-string p1, "isdn"
goto :goto_3e
:pswitch_21
const-string p1, "company main"
goto :goto_3e
:pswitch_24
const-string p1, "car"
goto :goto_3e
:pswitch_27
const-string p1, "callback"
goto :goto_3e
:pswitch_2a
const-string p1, "pager"
goto :goto_3e
:pswitch_2d
const-string p1, "home fax"
goto :goto_3e
:pswitch_30
const-string p1, "work fax"
goto :goto_3e
:pswitch_33
const-string p1, "work"
goto :goto_3e
:pswitch_36
const-string p1, "mobile"
goto :goto_3e
:pswitch_39
const-string p1, "home"
goto :goto_3e
:pswitch_3c
const-string p1, "custom"
:goto_3e
return-object p1
nop
:pswitch_data_40
.packed-switch 0x0
:pswitch_3c
:pswitch_39
:pswitch_36
:pswitch_33
:pswitch_30
:pswitch_2d
:pswitch_2a
:pswitch_3
:pswitch_27
:pswitch_24
:pswitch_21
:pswitch_1e
:pswitch_3
:pswitch_1b
:pswitch_18
:pswitch_15
:pswitch_12
:pswitch_f
:pswitch_c
:pswitch_9
:pswitch_6
.end packed-switch
.end method
.method private getPhotoBytes(Ljava/lang/String;)[B
.registers 12
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"filename"
}
.end annotation
const-string v0, "ContactsAccessor"
const-string v1, ";base64,"
.line 1178
invoke-virtual {p1, v1}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v1
if-lez v1, :cond_20
const/16 v0, 0x8
add-int/2addr v1, v0
.line 1180
invoke-virtual {p1, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p1
.line 1181
sget v1, Lio/dcloud/common/adapter/util/DeviceInfo;->sDeviceSdkVer:I
if-lt v1, v0, :cond_1b
const/4 v0, 0x2
.line 1182
invoke-static {p1, v0}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B
move-result-object p1
return-object p1
.line 1184
:cond_1b
invoke-static {p1}, Lio/dcloud/common/util/Base64;->decode2bytes(Ljava/lang/String;)[B
move-result-object p1
return-object p1
.line 1187
:cond_20
new-instance v1, Ljava/io/ByteArrayOutputStream;
invoke-direct {v1}, Ljava/io/ByteArrayOutputStream;-><init>()V
const-wide/16 v2, 0x0
.line 1191
:try_start_27
invoke-direct {p0, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getPathFromUri(Ljava/lang/String;)Ljava/io/InputStream;
move-result-object p1
if-eqz p1, :cond_5e
const/16 v4, 0x2000
new-array v5, v4, [B
:goto_31
const/4 v6, 0x0
.line 1195
invoke-virtual {p1, v5, v6, v4}, Ljava/io/InputStream;->read([BII)I
move-result v7
const/4 v8, -0x1
if-eq v7, v8, :cond_46
const-wide/32 v8, 0x100000
cmp-long v8, v2, v8
if-gtz v8, :cond_46
.line 1196
invoke-virtual {v1, v5, v6, v7}, Ljava/io/ByteArrayOutputStream;->write([BII)V
int-to-long v6, v7
add-long/2addr v2, v6
goto :goto_31
.line 1200
:cond_46
invoke-virtual {p1}, Ljava/io/InputStream;->close()V
.line 1201
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->flush()V
:try_end_4c
.catch Ljava/io/FileNotFoundException; {:try_start_27 .. :try_end_4c} :catch_56
.catch Ljava/io/IOException; {:try_start_27 .. :try_end_4c} :catch_4d
goto :goto_5e
:catch_4d
move-exception p1
.line 1206
invoke-virtual {p1}, Ljava/io/IOException;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_5e
:catch_56
move-exception p1
.line 1204
invoke-virtual {p1}, Ljava/io/FileNotFoundException;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 1208
:cond_5e
:goto_5e
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p1
return-object p1
.end method
.method private imQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"cursor"
}
.end annotation
.line 629
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_5
const-string v1, "id"
const-string v2, "_id"
.line 631
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "pref"
const/4 v2, 0x0
.line 632
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
const-string v1, "value"
const-string v2, "data1"
.line 633
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "type"
const-string v2, "data2"
.line 634
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getInt(I)I
move-result p1
invoke-direct {p0, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getContactType(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, v1, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_3c
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_3c} :catch_3d
goto :goto_47
:catch_3d
move-exception p1
.line 636
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object v1
const-string v2, "ContactsAccessor"
invoke-static {v2, v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_47
return-object v0
.end method
.method private insertAddress(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"ops",
"address"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Landroid/content/ContentProviderOperation;",
">;",
"Lorg/json/JSONObject;",
")V"
}
.end annotation
.line 1093
sget-object v0, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v0}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "raw_contact_id"
const/4 v2, 0x0
.line 1094
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "mimetype"
const-string v2, "vnd.android.cursor.item/postal-address_v2"
.line 1095
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "type"
.line 1096
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-direct {p0, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getAddressType(Ljava/lang/String;)I
move-result v1
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "data2"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "formatted"
.line 1097
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "data1"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "streetAddress"
.line 1098
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "data4"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "locality"
.line 1099
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "data7"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "region"
.line 1100
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "data8"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "postalCode"
.line 1101
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "data9"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "country"
.line 1102
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
const-string v1, "data10"
invoke-virtual {v0, v1, p2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1103
invoke-virtual {p2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p2
.line 1093
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method private insertEmail(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"ops",
"email"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Landroid/content/ContentProviderOperation;",
">;",
"Lorg/json/JSONObject;",
")V"
}
.end annotation
.line 1118
sget-object v0, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v0}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "raw_contact_id"
const/4 v2, 0x0
.line 1119
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "mimetype"
const-string v2, "vnd.android.cursor.item/email_v2"
.line 1120
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "value"
.line 1121
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "data1"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "type"
.line 1122
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
invoke-direct {p0, p2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getPhoneType(Ljava/lang/String;)I
move-result p2
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
const-string v1, "data2"
invoke-virtual {v0, v1, p2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1123
invoke-virtual {p2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p2
.line 1118
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method private insertIm(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"ops",
"im"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Landroid/content/ContentProviderOperation;",
">;",
"Lorg/json/JSONObject;",
")V"
}
.end annotation
.line 1051
sget-object v0, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v0}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "raw_contact_id"
const/4 v2, 0x0
.line 1052
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "mimetype"
const-string v2, "vnd.android.cursor.item/im"
.line 1053
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "value"
.line 1054
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "data1"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "type"
.line 1055
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
invoke-direct {p0, p2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getContactType(Ljava/lang/String;)I
move-result p2
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
const-string v1, "data2"
invoke-virtual {v0, v1, p2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1056
invoke-virtual {p2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p2
.line 1051
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method private insertOrganization(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"ops",
"org"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Landroid/content/ContentProviderOperation;",
">;",
"Lorg/json/JSONObject;",
")V"
}
.end annotation
.line 1071
sget-object v0, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v0}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "raw_contact_id"
const/4 v2, 0x0
.line 1072
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "mimetype"
const-string v2, "vnd.android.cursor.item/organization"
.line 1073
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "type"
.line 1074
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-direct {p0, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getOrgType(Ljava/lang/String;)I
move-result v1
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "data2"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "department"
.line 1075
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "data5"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "name"
.line 1076
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "data1"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "title"
.line 1077
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
const-string v1, "data4"
invoke-virtual {v0, v1, p2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1078
invoke-virtual {p2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p2
.line 1071
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method private insertPhone(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"ops",
"phone"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Landroid/content/ContentProviderOperation;",
">;",
"Lorg/json/JSONObject;",
")V"
}
.end annotation
.line 1138
sget-object v0, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v0}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "raw_contact_id"
const/4 v2, 0x0
.line 1139
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "mimetype"
const-string v2, "vnd.android.cursor.item/phone_v2"
.line 1140
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "value"
.line 1141
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "data1"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "type"
.line 1142
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
invoke-direct {p0, p2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getPhoneType(Ljava/lang/String;)I
move-result p2
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
const-string v1, "data2"
invoke-virtual {v0, v1, p2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1143
invoke-virtual {p2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p2
.line 1138
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method private insertPhoto(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"ops",
"photo"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Landroid/content/ContentProviderOperation;",
">;",
"Lorg/json/JSONObject;",
")V"
}
.end annotation
const-string v0, "value"
.line 1158
invoke-virtual {p0, p2, v0}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
invoke-direct {p0, p2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getPhotoBytes(Ljava/lang/String;)[B
move-result-object p2
.line 1159
sget-object v0, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v0}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "raw_contact_id"
const/4 v2, 0x0
.line 1160
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const/4 v1, 0x1
.line 1161
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
const-string v2, "is_super_primary"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "mimetype"
const-string v2, "vnd.android.cursor.item/photo"
.line 1162
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "data15"
.line 1163
invoke-virtual {v0, v1, p2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1164
invoke-virtual {p2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p2
.line 1159
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method private insertWebsite(Ljava/util/ArrayList;Lorg/json/JSONObject;)V
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"ops",
"website"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Landroid/content/ContentProviderOperation;",
">;",
"Lorg/json/JSONObject;",
")V"
}
.end annotation
.line 1032
sget-object v0, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v0}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "raw_contact_id"
const/4 v2, 0x0
.line 1033
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "mimetype"
const-string v2, "vnd.android.cursor.item/website"
.line 1034
invoke-virtual {v0, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "value"
.line 1035
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v2, "data1"
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const-string v1, "type"
.line 1036
invoke-virtual {p0, p2, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object p2
invoke-direct {p0, p2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getContactType(Ljava/lang/String;)I
move-result p2
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
const-string v1, "data2"
invoke-virtual {v0, v1, p2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p2
.line 1037
invoke-virtual {p2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p2
.line 1032
invoke-virtual {p1, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
return-void
.end method
.method private isSearchAll(Lorg/json/JSONArray;)Z
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"fields"
}
.end annotation
.line 465
invoke-virtual {p1}, Lorg/json/JSONArray;->length()I
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-ne v0, v1, :cond_15
:try_start_8
const-string v0, "*"
.line 467
invoke-virtual {p1, v2}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
:try_end_12
.catch Lorg/json/JSONException; {:try_start_8 .. :try_end_12} :catch_15
if-eqz p1, :cond_15
return v1
:catch_15
:cond_15
return v2
.end method
.method private modifyContact(Lorg/json/JSONObject;Landroid/accounts/Account;Ljava/lang/String;)Z
.registers 33
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0
}
names = {
"contact",
"account",
"id"
}
.end annotation
move-object/from16 v8, p0
move-object/from16 v0, p1
move-object/from16 v1, p2
move-object/from16 v9, p3
const-string v10, "type"
const-string v11, "data5"
const-string v12, "vnd.android.cursor.item/photo"
const-string v13, "vnd.android.cursor.item/organization"
const-string v14, "vnd.android.cursor.item/postal-address_v2"
const-string v15, "name"
const-string v7, "data4"
const-string v6, "mimetype"
const-string v5, "raw_contact_id"
const-string v4, "raw_contact_id=? AND mimetype=?"
const-string v3, "raw_contact_id=? and mimetype=?"
const-string v2, "data2"
move-object/from16 v16, v12
const-string v12, "data1"
move-object/from16 v17, v13
const-string v13, "ContactsAccessor"
move-object/from16 v18, v10
.line 789
new-instance v10, Ljava/util/ArrayList;
invoke-direct {v10}, Ljava/util/ArrayList;-><init>()V
if-eqz v1, :cond_55
.line 793
sget-object v19, Landroid/provider/ContactsContract$RawContacts;->CONTENT_URI:Landroid/net/Uri;
move-object/from16 v20, v3
invoke-static/range {v19 .. v19}, Landroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v3
move-object/from16 v19, v5
iget-object v5, v1, Landroid/accounts/Account;->type:Ljava/lang/String;
move-object/from16 v21, v6
const-string v6, "account_type"
.line 794
invoke-virtual {v3, v6, v5}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v3
iget-object v1, v1, Landroid/accounts/Account;->name:Ljava/lang/String;
const-string v5, "account_name"
.line 795
invoke-virtual {v3, v5, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v1
.line 796
invoke-virtual {v1}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v1
.line 793
invoke-virtual {v10, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_5b
:cond_55
move-object/from16 v20, v3
move-object/from16 v19, v5
move-object/from16 v21, v6
:goto_5b
const/4 v6, 0x2
const/16 v22, 0x1
const/16 v23, 0x0
:try_start_60
const-string v1, "displayName"
.line 807
invoke-virtual {v8, v0, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 808
invoke-virtual {v0, v15}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;
move-result-object v3
.line 810
sget-object v5, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v5}, Landroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v5
:try_end_70
.catch Lorg/json/JSONException; {:try_start_60 .. :try_end_70} :catch_ba
move-object/from16 v24, v15
:try_start_72
new-array v15, v6, [Ljava/lang/String;
aput-object v9, v15, v23
const-string v25, "vnd.android.cursor.item/name"
aput-object v25, v15, v22
.line 811
invoke-virtual {v5, v4, v15}, Landroid/content/ContentProviderOperation$Builder;->withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v5
.line 816
invoke-virtual {v5, v12, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
const-string v1, "familyName"
.line 819
invoke-virtual {v8, v3, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v15, "data3"
.line 821
invoke-virtual {v5, v15, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
const-string v1, "middleName"
.line 823
invoke-virtual {v8, v3, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 825
invoke-virtual {v5, v11, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
const-string v1, "givenName"
.line 827
invoke-virtual {v8, v3, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 829
invoke-virtual {v5, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
const-string v1, "honorificPrefix"
.line 831
invoke-virtual {v8, v3, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 833
invoke-virtual {v5, v7, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
const-string v1, "honorificSuffix"
.line 835
invoke-virtual {v8, v3, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const-string v3, "data6"
.line 837
invoke-virtual {v5, v3, v1}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
.line 840
invoke-virtual {v5}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v1
invoke-virtual {v10, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_b9
.catch Lorg/json/JSONException; {:try_start_72 .. :try_end_b9} :catch_bc
goto :goto_c1
:catch_ba
move-object/from16 v24, v15
:catch_bc
const-string v1, "Could not get name"
.line 843
invoke-static {v13, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:goto_c1
const-string v1, "phoneNumbers"
.line 848
invoke-virtual {v0, v1}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v3
const-string v5, "vnd.android.cursor.item/phone_v2"
const-string v15, "data1"
const-string v25, "data2"
move-object/from16 v1, p0
move-object/from16 v26, v11
move-object v11, v2
move-object v2, v10
move-object/from16 v27, v13
move-object/from16 v13, v20
move-object/from16 v28, v4
move-object/from16 v4, p3
move-object/from16 v20, v12
move-object/from16 v12, v19
move v8, v6
move-object/from16 v19, v11
move-object/from16 v11, v21
move-object v6, v15
move-object v15, v7
move-object/from16 v7, v25
.line 849
invoke-direct/range {v1 .. v7}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->modifyContactOption(Ljava/util/ArrayList;Lorg/json/JSONArray;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
const-string v1, "emails"
.line 854
invoke-virtual {v0, v1}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v3
const-string v5, "vnd.android.cursor.item/email_v2"
const-string v6, "data1"
const-string v7, "data2"
move-object/from16 v1, p0
.line 855
invoke-direct/range {v1 .. v7}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->modifyContactOption(Ljava/util/ArrayList;Lorg/json/JSONArray;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
const-string v1, "ims"
.line 859
invoke-virtual {v0, v1}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v3
const-string v5, "vnd.android.cursor.item/im"
const-string v6, "data1"
const-string v7, "data2"
move-object/from16 v1, p0
.line 860
invoke-direct/range {v1 .. v7}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->modifyContactOption(Ljava/util/ArrayList;Lorg/json/JSONArray;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
const-string v1, "websites"
.line 865
invoke-virtual {v0, v1}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v3
const-string v5, "vnd.android.cursor.item/website"
const-string v6, "data1"
const-string v7, "data2"
move-object/from16 v1, p0
.line 866
invoke-direct/range {v1 .. v7}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->modifyContactOption(Ljava/util/ArrayList;Lorg/json/JSONArray;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 873
:try_start_11e
sget-object v1, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v1}, Landroid/content/ContentProviderOperation;->newDelete(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v1
new-array v2, v8, [Ljava/lang/String;
.line 875
invoke-static/range {p3 .. p3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
aput-object v3, v2, v23
aput-object v14, v2, v22
.line 874
invoke-virtual {v1, v13, v2}, Landroid/content/ContentProviderOperation$Builder;->withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v1
.line 876
invoke-virtual {v1}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v1
.line 873
invoke-virtual {v10, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
const-string v1, "addresses"
.line 878
invoke-virtual {v0, v1}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v1
if-eqz v1, :cond_1e1
move/from16 v2, v23
.line 880
:goto_143
invoke-virtual {v1}, Lorg/json/JSONArray;->length()I
move-result v3
if-ge v2, v3, :cond_1e1
.line 881
invoke-virtual {v1, v2}, Lorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
move-result-object v3
if-eqz v3, :cond_1c6
.line 883
new-instance v4, Landroid/content/ContentValues;
invoke-direct {v4}, Landroid/content/ContentValues;-><init>()V
.line 884
invoke-virtual {v4, v12, v9}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 885
invoke-virtual {v4, v11, v14}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
:try_end_15a
.catch Ljava/lang/Exception; {:try_start_11e .. :try_end_15a} :catch_1ec
move-object/from16 v5, p0
move v7, v8
move-object/from16 v6, v18
.line 886
:try_start_15f
invoke-virtual {v5, v3, v6}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
invoke-direct {v5, v8}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getAddressType(Ljava/lang/String;)I
move-result v8
invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
:try_end_16b
.catch Ljava/lang/Exception; {:try_start_15f .. :try_end_16b} :catch_1f0
move-object/from16 v7, v19
:try_start_16d
invoke-virtual {v4, v7, v8}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
const-string v8, "formatted"
.line 887
invoke-virtual {v5, v3, v8}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
:try_end_176
.catch Ljava/lang/Exception; {:try_start_16d .. :try_end_176} :catch_1f2
move-object/from16 p2, v1
move-object/from16 v1, v20
:try_start_17a
invoke-virtual {v4, v1, v8}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v8, "streetAddress"
.line 888
invoke-virtual {v5, v3, v8}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
invoke-virtual {v4, v15, v8}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v8, "data7"
move-object/from16 v19, v14
const-string v14, "locality"
.line 889
invoke-virtual {v5, v3, v14}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v14
invoke-virtual {v4, v8, v14}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v8, "data8"
const-string v14, "region"
.line 890
invoke-virtual {v5, v3, v14}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v14
invoke-virtual {v4, v8, v14}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v8, "data9"
const-string v14, "postalCode"
.line 891
invoke-virtual {v5, v3, v14}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v14
invoke-virtual {v4, v8, v14}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v8, "data10"
const-string v14, "country"
.line 892
invoke-virtual {v5, v3, v14}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v4, v8, v3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 894
sget-object v3, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v3}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v3
.line 895
invoke-virtual {v3, v4}, Landroid/content/ContentProviderOperation$Builder;->withValues(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v3
invoke-virtual {v3}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v3
.line 894
invoke-virtual {v10, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_1c5
.catch Ljava/lang/Exception; {:try_start_17a .. :try_end_1c5} :catch_1f4
goto :goto_1d2
:cond_1c6
move-object/from16 v5, p0
move-object/from16 p2, v1
move-object/from16 v6, v18
move-object/from16 v7, v19
move-object/from16 v1, v20
move-object/from16 v19, v14
:goto_1d2
add-int/lit8 v2, v2, 0x1
move-object/from16 v20, v1
move-object/from16 v18, v6
move-object/from16 v14, v19
const/4 v8, 0x2
move-object/from16 v1, p2
move-object/from16 v19, v7
goto/16 :goto_143
:cond_1e1
move-object/from16 v5, p0
move-object/from16 v6, v18
move-object/from16 v7, v19
move-object/from16 v1, v20
move-object/from16 v3, v27
goto :goto_1fb
:catch_1ec
move-object/from16 v5, p0
move-object/from16 v6, v18
:catch_1f0
move-object/from16 v7, v19
:catch_1f2
move-object/from16 v1, v20
:catch_1f4
const-string v2, "Could not get addresses"
move-object/from16 v3, v27
.line 901
invoke-static {v3, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 907
:goto_1fb
:try_start_1fb
sget-object v2, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v2}, Landroid/content/ContentProviderOperation;->newDelete(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v2
const/4 v4, 0x2
new-array v8, v4, [Ljava/lang/String;
.line 909
invoke-static/range {p3 .. p3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
aput-object v4, v8, v23
aput-object v17, v8, v22
.line 908
invoke-virtual {v2, v13, v8}, Landroid/content/ContentProviderOperation$Builder;->withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v2
.line 910
invoke-virtual {v2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v2
.line 907
invoke-virtual {v10, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
const-string v2, "organizations"
.line 912
invoke-virtual {v0, v2}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v2
if-eqz v2, :cond_294
move/from16 v4, v23
.line 914
:goto_221
invoke-virtual {v2}, Lorg/json/JSONArray;->length()I
move-result v8
if-ge v4, v8, :cond_294
.line 915
invoke-virtual {v2, v4}, Lorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
move-result-object v8
if-eqz v8, :cond_280
.line 917
new-instance v14, Landroid/content/ContentValues;
invoke-direct {v14}, Landroid/content/ContentValues;-><init>()V
.line 918
invoke-virtual {v14, v12, v9}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
move-object/from16 p2, v2
move-object/from16 v2, v17
.line 919
invoke-virtual {v14, v11, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
move-object/from16 v17, v2
.line 920
invoke-virtual {v5, v8, v6}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-direct {v5, v2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getOrgType(Ljava/lang/String;)I
move-result v2
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
invoke-virtual {v14, v7, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
const-string v2, "department"
.line 921
invoke-virtual {v5, v8, v2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
move-object/from16 v19, v6
move-object/from16 v6, v26
invoke-virtual {v14, v6, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
move-object/from16 v26, v6
move-object/from16 v2, v24
.line 922
invoke-virtual {v5, v8, v2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
invoke-virtual {v14, v1, v6}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v6, "title"
.line 923
invoke-virtual {v5, v8, v6}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
invoke-virtual {v14, v15, v6}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
.line 925
sget-object v6, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v6}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v6
.line 926
invoke-virtual {v6, v14}, Landroid/content/ContentProviderOperation$Builder;->withValues(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v6
invoke-virtual {v6}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v6
.line 925
invoke-virtual {v10, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_27f
.catch Ljava/lang/Exception; {:try_start_1fb .. :try_end_27f} :catch_28f
goto :goto_286
:cond_280
move-object/from16 p2, v2
move-object/from16 v19, v6
move-object/from16 v2, v24
:goto_286
add-int/lit8 v4, v4, 0x1
move-object/from16 v24, v2
move-object/from16 v6, v19
move-object/from16 v2, p2
goto :goto_221
:catch_28f
const-string v2, "Could not get organizations"
.line 933
invoke-static {v3, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 939
:cond_294
:try_start_294
sget-object v2, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v2}, Landroid/content/ContentProviderOperation;->newDelete(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v2
const/4 v4, 0x2
new-array v6, v4, [Ljava/lang/String;
.line 941
invoke-static/range {p3 .. p3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
aput-object v4, v6, v23
aput-object v16, v6, v22
.line 940
invoke-virtual {v2, v13, v6}, Landroid/content/ContentProviderOperation$Builder;->withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v2
.line 942
invoke-virtual {v2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v2
.line 939
invoke-virtual {v10, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
const-string v2, "photos"
.line 944
invoke-virtual {v0, v2}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v2
if-eqz v2, :cond_306
move/from16 v4, v23
.line 946
:goto_2ba
invoke-virtual {v2}, Lorg/json/JSONArray;->length()I
move-result v6
if-ge v4, v6, :cond_306
.line 947
invoke-virtual {v2, v4}, Lorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
move-result-object v6
if-eqz v6, :cond_2ff
const-string v8, "value"
.line 949
invoke-virtual {v5, v6, v8}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
invoke-direct {v5, v6}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getPhotoBytes(Ljava/lang/String;)[B
move-result-object v6
if-eqz v6, :cond_2ff
.line 951
new-instance v8, Landroid/content/ContentValues;
invoke-direct {v8}, Landroid/content/ContentValues;-><init>()V
.line 952
invoke-virtual {v8, v12, v9}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
move-object/from16 v13, v16
.line 953
invoke-virtual {v8, v11, v13}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v14, "is_super_primary"
.line 954
invoke-static/range {v22 .. v22}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v15
invoke-virtual {v8, v14, v15}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
const-string v14, "data15"
.line 955
invoke-virtual {v8, v14, v6}, Landroid/content/ContentValues;->put(Ljava/lang/String;[B)V
.line 957
sget-object v6, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v6}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v6
.line 958
invoke-virtual {v6, v8}, Landroid/content/ContentProviderOperation$Builder;->withValues(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v6
invoke-virtual {v6}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v6
.line 957
invoke-virtual {v10, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_301
:cond_2ff
move-object/from16 v13, v16
:goto_301
add-int/lit8 v4, v4, 0x1
move-object/from16 v16, v13
goto :goto_2ba
:cond_306
const-string v2, "note"
.line 967
invoke-virtual {v5, v0, v2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 968
sget-object v4, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v4}, Landroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v4
const/4 v6, 0x2
new-array v8, v6, [Ljava/lang/String;
aput-object v9, v8, v23
const-string v6, "vnd.android.cursor.item/note"
aput-object v6, v8, v22
move-object/from16 v6, v28
.line 969
invoke-virtual {v4, v6, v8}, Landroid/content/ContentProviderOperation$Builder;->withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v4
.line 972
invoke-virtual {v4, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v2
.line 973
invoke-virtual {v2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v2
.line 968
invoke-virtual {v10, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
const-string v2, "nickname"
.line 977
invoke-virtual {v5, v0, v2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 978
sget-object v4, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v4}, Landroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v4
const/4 v8, 0x2
new-array v11, v8, [Ljava/lang/String;
aput-object v9, v11, v23
const-string v8, "vnd.android.cursor.item/nickname"
aput-object v8, v11, v22
.line 979
invoke-virtual {v4, v6, v11}, Landroid/content/ContentProviderOperation$Builder;->withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v4
.line 982
invoke-virtual {v4, v1, v2}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v2
.line 983
invoke-virtual {v2}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v2
.line 978
invoke-virtual {v10, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
const-string v2, "birthday"
.line 987
invoke-virtual {v5, v0, v2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 988
sget-object v2, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v2}, Landroid/content/ContentProviderOperation;->newUpdate(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v2
const-string v4, "raw_contact_id=? AND mimetype=? AND data2=?"
const/4 v6, 0x3
new-array v8, v6, [Ljava/lang/String;
aput-object v9, v8, v23
const-string v9, "vnd.android.cursor.item/contact_event"
aput-object v9, v8, v22
const-string v9, "3"
const/4 v11, 0x2
aput-object v9, v8, v11
.line 989
invoke-virtual {v2, v4, v8}, Landroid/content/ContentProviderOperation$Builder;->withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v2
.line 993
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-virtual {v2, v7, v4}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v2
.line 994
invoke-virtual {v2, v1, v0}, Landroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
.line 995
invoke-virtual {v0}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v0
.line 988
invoke-virtual {v10, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_383
.catch Ljava/lang/Exception; {:try_start_294 .. :try_end_383} :catch_384
goto :goto_389
:catch_384
const-string v0, "Could not get photos"
.line 999
invoke-static {v3, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 1006
:goto_389
:try_start_389
iget-object v0, v5, Lio/dcloud/feature/contacts/ContactAccessorImpl;->mApp:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "com.android.contacts"
invoke-virtual {v0, v1, v10}, Landroid/content/ContentResolver;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
:try_end_394
.catch Landroid/os/RemoteException; {:try_start_389 .. :try_end_394} :catch_3a5
.catch Landroid/content/OperationApplicationException; {:try_start_389 .. :try_end_394} :catch_395
goto :goto_3b6
:catch_395
move-exception v0
.line 1012
invoke-virtual {v0}, Landroid/content/OperationApplicationException;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-static {v3, v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 1013
invoke-static {v0}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v1
invoke-static {v3, v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_3b4
:catch_3a5
move-exception v0
.line 1008
invoke-virtual {v0}, Landroid/os/RemoteException;->getMessage()Ljava/lang/String;
move-result-object v1
invoke-static {v3, v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
.line 1009
invoke-static {v0}, Landroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v1
invoke-static {v3, v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_3b4
move/from16 v22, v23
:goto_3b6
return v22
.end method
.method private modifyContactOption(Ljava/util/ArrayList;Lorg/json/JSONArray;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.registers 11
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0,
0x0,
0x0,
0x0
}
names = {
"ops",
"data",
"rawId",
"mimeType",
"dataKey",
"typeKey"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/ArrayList<",
"Landroid/content/ContentProviderOperation;",
">;",
"Lorg/json/JSONArray;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/lang/String;",
")V"
}
.end annotation
.line 750
sget-object v0, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v0}, Landroid/content/ContentProviderOperation;->newDelete(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/String;
.line 752
invoke-static {p3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
const/4 v2, 0x1
aput-object p4, v1, v2
const-string v2, "raw_contact_id=? and mimetype=?"
.line 751
invoke-virtual {v0, v2, v1}, Landroid/content/ContentProviderOperation$Builder;->withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
.line 753
invoke-virtual {v0}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v0
.line 750
invoke-virtual {p1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
if-eqz p2, :cond_6b
.line 756
:goto_22
invoke-virtual {p2}, Lorg/json/JSONArray;->length()I
move-result v0
if-ge v3, v0, :cond_6b
.line 757
invoke-virtual {p2, v3}, Lorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
move-result-object v0
if-eqz v0, :cond_68
.line 759
new-instance v1, Landroid/content/ContentValues;
invoke-direct {v1}, Landroid/content/ContentValues;-><init>()V
const-string v2, "raw_contact_id"
.line 760
invoke-virtual {v1, v2, p3}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v2, "mimetype"
.line 761
invoke-virtual {v1, v2, p4}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v2, "value"
.line 762
invoke-virtual {p0, v0, v2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, p5, v2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
const-string v2, "type"
.line 763
invoke-virtual {p0, v0, v2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getContactType(Ljava/lang/String;)I
move-result v0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-virtual {v1, p6, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
.line 765
sget-object v0, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
invoke-static {v0}, Landroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
.line 766
invoke-virtual {v0, v1}, Landroid/content/ContentProviderOperation$Builder;->withValues(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder;
move-result-object v0
invoke-virtual {v0}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object v0
.line 765
invoke-virtual {p1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_68
add-int/lit8 v3, v3, 0x1
goto :goto_22
:cond_6b
return-void
.end method
.method private nameQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
.registers 10
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"cursor"
}
.end annotation
.line 541
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_5
const-string v1, "data3"
.line 543
invoke-interface {p1, v1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v1
invoke-interface {p1, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v1
const-string v2, "data2"
.line 544
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
const-string v3, "data5"
.line 545
invoke-interface {p1, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
invoke-interface {p1, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
const-string v4, "data4"
.line 546
invoke-interface {p1, v4}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v4
invoke-interface {p1, v4}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v4
const-string v5, "data6"
.line 547
invoke-interface {p1, v5}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v5
invoke-interface {p1, v5}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object p1
.line 550
new-instance v5, Ljava/lang/StringBuffer;
const-string v6, ""
invoke-direct {v5, v6}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
:try_end_3e
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_3e} :catch_c3
const-string v6, " "
if-eqz v4, :cond_54
.line 551
:try_start_42
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {v5, v7}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
:cond_54
if-eqz v2, :cond_68
.line 552
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {v5, v7}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
:cond_68
if-eqz v3, :cond_7c
.line 553
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {v5, v7}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
:cond_7c
if-eqz v1, :cond_90
.line 554
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-virtual {v5, v7}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
:cond_90
if-eqz p1, :cond_a4
.line 555
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
:cond_a4
const-string v6, "familyName"
.line 557
invoke-virtual {v0, v6, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "givenName"
.line 558
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "middleName"
.line 559
invoke-virtual {v0, v1, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "honorificPrefix"
.line 560
invoke-virtual {v0, v1, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "honorificSuffix"
.line 561
invoke-virtual {v0, v1, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string p1, "formatted"
.line 562
invoke-virtual {v0, p1, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_c2
.catch Lorg/json/JSONException; {:try_start_42 .. :try_end_c2} :catch_c3
goto :goto_cd
:catch_c3
move-exception p1
.line 564
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object v1
const-string v2, "ContactsAccessor"
invoke-static {v2, v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_cd
return-object v0
.end method
.method private organizationQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"cursor"
}
.end annotation
.line 488
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_5
const-string v1, "id"
const-string v2, "_id"
.line 490
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "pref"
const/4 v2, 0x0
.line 491
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
const-string v1, "type"
const-string v2, "data2"
.line 492
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getInt(I)I
move-result v2
invoke-direct {p0, v2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getOrgType(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "department"
const-string v2, "data5"
.line 493
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "name"
const-string v2, "data1"
.line 494
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "title"
const-string v2, "data4"
.line 495
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, v1, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_5a
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_5a} :catch_5b
goto :goto_65
:catch_5b
move-exception p1
.line 497
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object v1
const-string v2, "ContactsAccessor"
invoke-static {v2, v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_65
return-object v0
.end method
.method private phoneQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"cursor"
}
.end annotation
const-string v0, "ContactsAccessor"
.line 580
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1}, Lorg/json/JSONObject;-><init>()V
:try_start_7
const-string v2, "id"
const-string v3, "_id"
.line 582
invoke-interface {p1, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
invoke-interface {p1, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v2, "pref"
const/4 v3, 0x0
.line 583
invoke-virtual {v1, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
const-string v2, "value"
const-string v3, "data1"
.line 584
invoke-interface {p1, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
invoke-interface {p1, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v2, "type"
const-string v3, "data2"
.line 585
invoke-interface {p1, v3}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
invoke-interface {p1, v3}, Landroid/database/Cursor;->getInt(I)I
move-result p1
invoke-direct {p0, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getPhoneType(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v1, v2, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_3e
.catch Lorg/json/JSONException; {:try_start_7 .. :try_end_3e} :catch_48
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_3e} :catch_3f
goto :goto_50
:catch_3f
move-exception p1
.line 590
invoke-virtual {p1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_50
:catch_48
move-exception p1
.line 587
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_50
return-object v1
.end method
.method private photoQuery(Landroid/database/Cursor;J)Lorg/json/JSONObject;
.registers 7
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"cursor",
"contactId"
}
.end annotation
.line 676
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_5
const-string v1, "id"
const-string v2, "_id"
.line 678
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, v1, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string p1, "pref"
const/4 v1, 0x0
.line 679
invoke-virtual {v0, p1, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
const-string p1, "type"
const-string v1, "url"
.line 680
invoke-virtual {v0, p1, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 681
sget-object p1, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
invoke-static {p1, p2, p3}, Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;
move-result-object p1
.line 683
iget-object p2, p0, Lio/dcloud/feature/contacts/ContactAccessorImpl;->mApp:Landroid/content/Context;
invoke-virtual {p2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p2
invoke-static {p2, p1}, Landroid/provider/ContactsContract$Contacts;->openContactPhotoInputStream(Landroid/content/ContentResolver;Landroid/net/Uri;)Ljava/io/InputStream;
move-result-object p1
const-string p2, ""
:try_end_33
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_33} :catch_5d
.line 686
:try_start_33
invoke-virtual {p1}, Ljava/io/InputStream;->available()I
move-result p3
new-array p3, p3, [B
.line 687
invoke-virtual {p1, p3}, Ljava/io/InputStream;->read([B)I
.line 688
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "data:image/png;base64,"
invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 v1, 0x2
invoke-static {p3, v1}, Landroid/util/Base64;->encodeToString([BI)Ljava/lang/String;
move-result-object p3
invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
:try_end_52
.catch Ljava/lang/Exception; {:try_start_33 .. :try_end_52} :catch_53
.catch Lorg/json/JSONException; {:try_start_33 .. :try_end_52} :catch_5d
goto :goto_57
:catch_53
move-exception p1
.line 690
:try_start_54
invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
:goto_57
const-string p1, "value"
.line 692
invoke-virtual {v0, p1, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_5c
.catch Lorg/json/JSONException; {:try_start_54 .. :try_end_5c} :catch_5d
goto :goto_67
:catch_5d
move-exception p1
.line 694
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object p2
const-string p3, "ContactsAccessor"
invoke-static {p3, p2, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_67
return-object v0
.end method
.method private populateContact(Ljava/util/HashMap;Lorg/json/JSONObject;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;)Lorg/json/JSONObject;
.registers 12
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0
}
names = {
"populate",
"contact",
"organizations",
"addresses",
"phones",
"emails",
"ims",
"websites",
"photos"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Boolean;",
">;",
"Lorg/json/JSONObject;",
"Lorg/json/JSONArray;",
"Lorg/json/JSONArray;",
"Lorg/json/JSONArray;",
"Lorg/json/JSONArray;",
"Lorg/json/JSONArray;",
"Lorg/json/JSONArray;",
"Lorg/json/JSONArray;",
")",
"Lorg/json/JSONObject;"
}
.end annotation
.line 374
:try_start_0
invoke-virtual {p5}, Lorg/json/JSONArray;->length()I
move-result v0
:try_end_4
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_4} :catch_78
const-string v1, "phoneNumbers"
if-gtz v0, :cond_e
:try_start_8
invoke-virtual {p0, v1, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v0
if-eqz v0, :cond_11
.line 375
:cond_e
invoke-virtual {p2, v1, p5}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 377
:cond_11
invoke-virtual {p6}, Lorg/json/JSONArray;->length()I
move-result p5
:try_end_15
.catch Lorg/json/JSONException; {:try_start_8 .. :try_end_15} :catch_78
const-string v0, "emails"
if-gtz p5, :cond_1f
:try_start_19
invoke-virtual {p0, v0, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result p5
if-eqz p5, :cond_22
.line 378
:cond_1f
invoke-virtual {p2, v0, p6}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 380
:cond_22
invoke-virtual {p4}, Lorg/json/JSONArray;->length()I
move-result p5
:try_end_26
.catch Lorg/json/JSONException; {:try_start_19 .. :try_end_26} :catch_78
const-string p6, "addresses"
if-gtz p5, :cond_30
:try_start_2a
invoke-virtual {p0, p6, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result p5
if-eqz p5, :cond_33
.line 381
:cond_30
invoke-virtual {p2, p6, p4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 383
:cond_33
invoke-virtual {p7}, Lorg/json/JSONArray;->length()I
move-result p4
:try_end_37
.catch Lorg/json/JSONException; {:try_start_2a .. :try_end_37} :catch_78
const-string p5, "ims"
if-gtz p4, :cond_41
:try_start_3b
invoke-virtual {p0, p5, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result p4
if-eqz p4, :cond_44
.line 384
:cond_41
invoke-virtual {p2, p5, p7}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 386
:cond_44
invoke-virtual {p3}, Lorg/json/JSONArray;->length()I
move-result p4
:try_end_48
.catch Lorg/json/JSONException; {:try_start_3b .. :try_end_48} :catch_78
const-string p5, "organizations"
if-gtz p4, :cond_52
:try_start_4c
invoke-virtual {p0, p5, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result p4
if-eqz p4, :cond_55
.line 387
:cond_52
invoke-virtual {p2, p5, p3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 389
:cond_55
invoke-virtual {p8}, Lorg/json/JSONArray;->length()I
move-result p3
:try_end_59
.catch Lorg/json/JSONException; {:try_start_4c .. :try_end_59} :catch_78
const-string p4, "urls"
if-gtz p3, :cond_63
:try_start_5d
invoke-virtual {p0, p4, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result p3
if-eqz p3, :cond_66
.line 390
:cond_63
invoke-virtual {p2, p4, p8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 392
:cond_66
invoke-virtual {p9}, Lorg/json/JSONArray;->length()I
move-result p3
:try_end_6a
.catch Lorg/json/JSONException; {:try_start_5d .. :try_end_6a} :catch_78
const-string p4, "photos"
if-gtz p3, :cond_74
:try_start_6e
invoke-virtual {p0, p4, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result p1
if-eqz p1, :cond_93
.line 393
:cond_74
invoke-virtual {p2, p4, p9}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_77
.catch Lorg/json/JSONException; {:try_start_6e .. :try_end_77} :catch_78
goto :goto_93
:catch_78
move-exception p1
.line 397
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
const-string p4, "e.getMessage()=="
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object p4
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p3
const-string p4, "ContactsAccessor"
invoke-static {p4, p3, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_93
:goto_93
return-object p2
.end method
.method private populateContactArray(ILjava/util/HashMap;Landroid/database/Cursor;)Lorg/json/JSONArray;
.registers 37
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0
}
names = {
"limit",
"populate",
"c"
}
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Ljava/lang/Boolean;",
">;",
"Landroid/database/Cursor;",
")",
"Lorg/json/JSONArray;"
}
.end annotation
move-object/from16 v11, p0
move/from16 v12, p1
move-object/from16 v13, p2
move-object/from16 v14, p3
const-string v15, "birthday"
const-string v10, "nickname"
const-string v9, "note"
const-string v8, "name"
const-string v7, "vnd.android.cursor.item/name"
.line 199
new-instance v6, Lorg/json/JSONArray;
invoke-direct {v6}, Lorg/json/JSONArray;-><init>()V
.line 200
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
.line 201
new-instance v1, Lorg/json/JSONArray;
invoke-direct {v1}, Lorg/json/JSONArray;-><init>()V
.line 202
new-instance v2, Lorg/json/JSONArray;
invoke-direct {v2}, Lorg/json/JSONArray;-><init>()V
.line 203
new-instance v3, Lorg/json/JSONArray;
invoke-direct {v3}, Lorg/json/JSONArray;-><init>()V
.line 204
new-instance v4, Lorg/json/JSONArray;
invoke-direct {v4}, Lorg/json/JSONArray;-><init>()V
.line 205
new-instance v5, Lorg/json/JSONArray;
invoke-direct {v5}, Lorg/json/JSONArray;-><init>()V
.line 206
new-instance v16, Lorg/json/JSONArray;
invoke-direct/range {v16 .. v16}, Lorg/json/JSONArray;-><init>()V
.line 207
new-instance v17, Lorg/json/JSONArray;
invoke-direct/range {v17 .. v17}, Lorg/json/JSONArray;-><init>()V
.line 209
invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getCount()I
move-result v18
if-lez v18, :cond_449
const-wide/16 v18, 0x0
const/16 v20, 0x1
move-object/from16 v21, v4
move-object/from16 v22, v5
move-object/from16 v23, v16
move-object/from16 v24, v17
move/from16 v25, v20
move-object/from16 v16, v0
move-object/from16 v17, v1
move-wide/from16 v0, v18
move-object/from16 v18, v2
move-object/from16 v19, v3
move-wide v2, v0
.line 210
:goto_5e
invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->moveToNext()Z
move-result v4
if-eqz v4, :cond_423
invoke-virtual {v6}, Lorg/json/JSONArray;->length()I
move-result v4
add-int/lit8 v5, v12, -0x1
if-gt v4, v5, :cond_423
:try_start_6c
const-string v4, "raw_contact_id"
.line 212
invoke-interface {v14, v4}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v4
invoke-interface {v14, v4}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v4
:try_end_76
.catch Lorg/json/JSONException; {:try_start_6c .. :try_end_76} :catch_3fe
.line 215
:try_start_76
invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getPosition()I
move-result v2
:try_end_7a
.catch Lorg/json/JSONException; {:try_start_76 .. :try_end_7a} :catch_3ec
if-nez v2, :cond_7d
move-wide v0, v4
:cond_7d
cmp-long v0, v0, v4
if-eqz v0, :cond_13a
move-object/from16 v1, p0
move-object/from16 v2, p2
move-object/from16 v3, v16
move-wide v11, v4
move-object/from16 v4, v17
move-object/from16 v5, v18
move-object/from16 v26, v15
move-object v15, v6
move-object/from16 v6, v19
move-object v13, v7
move-object/from16 v7, v21
move-object/from16 v27, v8
move-object/from16 v8, v22
move-object/from16 v28, v9
move-object/from16 v9, v23
move-object/from16 v29, v10
move-object/from16 v10, v24
.line 224
:try_start_a0
invoke-direct/range {v1 .. v10}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->populateContact(Ljava/util/HashMap;Lorg/json/JSONObject;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;)Lorg/json/JSONObject;
move-result-object v0
invoke-virtual {v15, v0}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
.line 228
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1}, Lorg/json/JSONObject;-><init>()V
:try_end_ac
.catch Lorg/json/JSONException; {:try_start_a0 .. :try_end_ac} :catch_128
.line 229
:try_start_ac
new-instance v2, Lorg/json/JSONArray;
invoke-direct {v2}, Lorg/json/JSONArray;-><init>()V
:try_end_b1
.catch Lorg/json/JSONException; {:try_start_ac .. :try_end_b1} :catch_122
.line 230
:try_start_b1
new-instance v3, Lorg/json/JSONArray;
invoke-direct {v3}, Lorg/json/JSONArray;-><init>()V
:try_end_b6
.catch Lorg/json/JSONException; {:try_start_b1 .. :try_end_b6} :catch_11a
.line 231
:try_start_b6
new-instance v4, Lorg/json/JSONArray;
invoke-direct {v4}, Lorg/json/JSONArray;-><init>()V
:try_end_bb
.catch Lorg/json/JSONException; {:try_start_b6 .. :try_end_bb} :catch_110
.line 232
:try_start_bb
new-instance v5, Lorg/json/JSONArray;
invoke-direct {v5}, Lorg/json/JSONArray;-><init>()V
:try_end_c0
.catch Lorg/json/JSONException; {:try_start_bb .. :try_end_c0} :catch_104
.line 233
:try_start_c0
new-instance v6, Lorg/json/JSONArray;
invoke-direct {v6}, Lorg/json/JSONArray;-><init>()V
:try_end_c5
.catch Lorg/json/JSONException; {:try_start_c0 .. :try_end_c5} :catch_f6
.line 234
:try_start_c5
new-instance v7, Lorg/json/JSONArray;
invoke-direct {v7}, Lorg/json/JSONArray;-><init>()V
:try_end_ca
.catch Lorg/json/JSONException; {:try_start_c5 .. :try_end_ca} :catch_e6
.line 235
:try_start_ca
new-instance v0, Lorg/json/JSONArray;
invoke-direct {v0}, Lorg/json/JSONArray;-><init>()V
:try_end_cf
.catch Lorg/json/JSONException; {:try_start_ca .. :try_end_cf} :catch_d4
move-object v8, v0
move/from16 v25, v20
goto/16 :goto_155
:catch_d4
move-exception v0
move-object/from16 v9, p2
move-object/from16 v16, v1
move-object/from16 v17, v2
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
move-object/from16 v23, v7
goto :goto_12b
:catch_e6
move-exception v0
move-object/from16 v9, p2
move-object/from16 v16, v1
move-object/from16 v17, v2
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
goto :goto_12b
:catch_f6
move-exception v0
move-object/from16 v9, p2
move-object/from16 v16, v1
move-object/from16 v17, v2
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
goto :goto_12b
:catch_104
move-exception v0
move-object/from16 v9, p2
move-object/from16 v16, v1
move-object/from16 v17, v2
move-object/from16 v18, v3
move-object/from16 v19, v4
goto :goto_12b
:catch_110
move-exception v0
move-object/from16 v9, p2
move-object/from16 v16, v1
move-object/from16 v17, v2
move-object/from16 v18, v3
goto :goto_12b
:catch_11a
move-exception v0
move-object/from16 v9, p2
move-object/from16 v16, v1
move-object/from16 v17, v2
goto :goto_12b
:catch_122
move-exception v0
move-object/from16 v9, p2
move-object/from16 v16, v1
goto :goto_12b
:catch_128
move-exception v0
move-object/from16 v9, p2
:goto_12b
move-wide v2, v11
move-object/from16 v4, v26
move-object/from16 v12, v27
move-object/from16 v1, v29
move-object/from16 v11, p0
:goto_134
move-object/from16 v27, v13
move-object/from16 v13, v28
goto/16 :goto_40a
:cond_13a
move-wide v11, v4
move-object v13, v7
move-object/from16 v27, v8
move-object/from16 v28, v9
move-object/from16 v29, v10
move-object/from16 v26, v15
move-object v15, v6
move-object/from16 v1, v16
move-object/from16 v2, v17
move-object/from16 v3, v18
move-object/from16 v4, v19
move-object/from16 v5, v21
move-object/from16 v6, v22
move-object/from16 v7, v23
move-object/from16 v8, v24
:goto_155
if-eqz v25, :cond_173
const/16 v25, 0x0
:try_start_159
const-string v0, "id"
.line 245
invoke-virtual {v1, v0, v11, v12}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
:try_end_15e
.catch Lorg/json/JSONException; {:try_start_159 .. :try_end_15e} :catch_15f
goto :goto_173
:catch_15f
move-exception v0
move-object/from16 v9, p2
move-object/from16 v16, v1
move-object/from16 v17, v2
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
move-object/from16 v23, v7
move-object/from16 v24, v8
goto :goto_12b
:cond_173
:goto_173
:try_start_173
const-string v0, "mimetype"
.line 249
invoke-interface {v14, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
invoke-interface {v14, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v0
.line 251
invoke-virtual {v0, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
:try_end_181
.catch Lorg/json/JSONException; {:try_start_173 .. :try_end_181} :catch_3c5
const-string v10, "data1"
if-eqz v9, :cond_1b8
:try_start_185
const-string v9, "displayName"
:try_end_187
.catch Lorg/json/JSONException; {:try_start_185 .. :try_end_187} :catch_197
move-wide/from16 v30, v11
.line 252
:try_start_189
invoke-interface {v14, v10}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v11
invoke-interface {v14, v11}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v11
invoke-virtual {v1, v9, v11}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_194
.catch Lorg/json/JSONException; {:try_start_189 .. :try_end_194} :catch_195
goto :goto_1ba
:catch_195
move-exception v0
goto :goto_19a
:catch_197
move-exception v0
move-wide/from16 v30, v11
:goto_19a
move-object/from16 v11, p0
move-object/from16 v9, p2
move-object/from16 v16, v1
move-object/from16 v17, v2
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
move-object/from16 v23, v7
move-object/from16 v24, v8
move-object/from16 v4, v26
move-object/from16 v12, v27
move-object/from16 v1, v29
move-wide/from16 v2, v30
goto/16 :goto_134
:cond_1b8
move-wide/from16 v30, v11
.line 254
:goto_1ba
:try_start_1ba
invoke-virtual {v0, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v9
:try_end_1be
.catch Lorg/json/JSONException; {:try_start_1ba .. :try_end_1be} :catch_3ba
move-object/from16 v11, p0
if-eqz v9, :cond_1f7
move-object/from16 v9, p2
move-object/from16 v12, v27
move-object/from16 v27, v13
.line 255
:try_start_1c8
invoke-virtual {v11, v12, v9}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v13
if-eqz v13, :cond_1fd
.line 256
invoke-direct {v11, v14}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->nameQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
move-result-object v0
invoke-virtual {v1, v12, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_1d5
.catch Lorg/json/JSONException; {:try_start_1c8 .. :try_end_1d5} :catch_1de
:goto_1d5
move-object v10, v1
move-object/from16 v16, v2
move-object/from16 v2, v26
move-object/from16 v13, v28
goto/16 :goto_384
:catch_1de
move-exception v0
move-object/from16 v16, v1
move-object/from16 v17, v2
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
move-object/from16 v23, v7
move-object/from16 v24, v8
move-object/from16 v4, v26
move-object/from16 v13, v28
:goto_1f3
move-object/from16 v1, v29
goto/16 :goto_3fb
:cond_1f7
move-object/from16 v9, p2
move-object/from16 v12, v27
move-object/from16 v27, v13
:cond_1fd
:try_start_1fd
const-string v13, "vnd.android.cursor.item/phone_v2"
.line 258
invoke-virtual {v0, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
:try_end_203
.catch Lorg/json/JSONException; {:try_start_1fd .. :try_end_203} :catch_3b5
if-eqz v13, :cond_215
:try_start_205
const-string v13, "phoneNumbers"
.line 259
invoke-virtual {v11, v13, v9}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v13
if-eqz v13, :cond_215
.line 260
invoke-direct {v11, v14}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->phoneQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
move-result-object v0
invoke-virtual {v4, v0}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
:try_end_214
.catch Lorg/json/JSONException; {:try_start_205 .. :try_end_214} :catch_1de
goto :goto_1d5
:cond_215
:try_start_215
const-string v13, "vnd.android.cursor.item/email_v2"
.line 262
invoke-virtual {v0, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
:try_end_21b
.catch Lorg/json/JSONException; {:try_start_215 .. :try_end_21b} :catch_3b5
if-eqz v13, :cond_22d
:try_start_21d
const-string v13, "emails"
.line 263
invoke-virtual {v11, v13, v9}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v13
if-eqz v13, :cond_22d
.line 264
invoke-direct {v11, v14}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->emailQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
move-result-object v0
invoke-virtual {v5, v0}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
:try_end_22c
.catch Lorg/json/JSONException; {:try_start_21d .. :try_end_22c} :catch_1de
goto :goto_1d5
:cond_22d
:try_start_22d
const-string v13, "vnd.android.cursor.item/postal-address_v2"
.line 266
invoke-virtual {v0, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
:try_end_233
.catch Lorg/json/JSONException; {:try_start_22d .. :try_end_233} :catch_3b5
if-eqz v13, :cond_245
:try_start_235
const-string v13, "addresses"
.line 267
invoke-virtual {v11, v13, v9}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v13
if-eqz v13, :cond_245
.line 268
invoke-direct {v11, v14}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->addressQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
move-result-object v0
invoke-virtual {v3, v0}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
:try_end_244
.catch Lorg/json/JSONException; {:try_start_235 .. :try_end_244} :catch_1de
goto :goto_1d5
:cond_245
:try_start_245
const-string v13, "vnd.android.cursor.item/organization"
.line 270
invoke-virtual {v0, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
:try_end_24b
.catch Lorg/json/JSONException; {:try_start_245 .. :try_end_24b} :catch_3b5
if-eqz v13, :cond_25e
:try_start_24d
const-string v13, "organizations"
.line 271
invoke-virtual {v11, v13, v9}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v13
if-eqz v13, :cond_25e
.line 272
invoke-direct {v11, v14}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->organizationQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
move-result-object v0
invoke-virtual {v2, v0}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
:try_end_25c
.catch Lorg/json/JSONException; {:try_start_24d .. :try_end_25c} :catch_1de
goto/16 :goto_1d5
:cond_25e
:try_start_25e
const-string v13, "vnd.android.cursor.item/im"
.line 274
invoke-virtual {v0, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
:try_end_264
.catch Lorg/json/JSONException; {:try_start_25e .. :try_end_264} :catch_3b5
if-eqz v13, :cond_277
:try_start_266
const-string v13, "ims"
.line 275
invoke-virtual {v11, v13, v9}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v13
if-eqz v13, :cond_277
.line 276
invoke-direct {v11, v14}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->imQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
move-result-object v0
invoke-virtual {v6, v0}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
:try_end_275
.catch Lorg/json/JSONException; {:try_start_266 .. :try_end_275} :catch_1de
goto/16 :goto_1d5
:cond_277
:try_start_277
const-string v13, "vnd.android.cursor.item/note"
.line 278
invoke-virtual {v0, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
:try_end_27d
.catch Lorg/json/JSONException; {:try_start_277 .. :try_end_27d} :catch_3b5
if-eqz v13, :cond_2ae
move-object/from16 v13, v28
.line 279
:try_start_281
invoke-virtual {v11, v13, v9}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v16
if-eqz v16, :cond_2b0
.line 280
invoke-interface {v14, v10}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
invoke-interface {v14, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v13, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_292
.catch Lorg/json/JSONException; {:try_start_281 .. :try_end_292} :catch_299
move-object v10, v1
move-object/from16 v16, v2
:goto_295
move-object/from16 v2, v26
goto/16 :goto_384
:catch_299
move-exception v0
move-object/from16 v16, v1
move-object/from16 v17, v2
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
move-object/from16 v23, v7
move-object/from16 v24, v8
move-object/from16 v4, v26
goto/16 :goto_1f3
:cond_2ae
move-object/from16 v13, v28
:cond_2b0
move-object/from16 v16, v2
:try_start_2b2
const-string v2, "vnd.android.cursor.item/nickname"
.line 282
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
:try_end_2b8
.catch Lorg/json/JSONException; {:try_start_2b2 .. :try_end_2b8} :catch_3b2
if-eqz v2, :cond_2ea
move-object/from16 v2, v29
.line 283
:try_start_2bc
invoke-virtual {v11, v2, v9}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v17
if-eqz v17, :cond_2d1
.line 284
invoke-interface {v14, v10}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
invoke-interface {v14, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v2, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_2cd
.catch Lorg/json/JSONException; {:try_start_2bc .. :try_end_2cd} :catch_2d4
move-object v10, v1
move-object/from16 v29, v2
goto :goto_295
:cond_2d1
move-object/from16 v29, v2
goto :goto_2ea
:catch_2d4
move-exception v0
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
move-object/from16 v23, v7
move-object/from16 v24, v8
move-object/from16 v17, v16
move-object/from16 v4, v26
move-object/from16 v16, v1
move-object v1, v2
goto/16 :goto_3fb
:cond_2ea
:goto_2ea
:try_start_2ea
const-string v2, "vnd.android.cursor.item/website"
.line 286
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
:try_end_2f0
.catch Lorg/json/JSONException; {:try_start_2ea .. :try_end_2f0} :catch_3b2
if-eqz v2, :cond_31c
:try_start_2f2
const-string v2, "urls"
.line 287
invoke-virtual {v11, v2, v9}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v2
if-eqz v2, :cond_31c
.line 288
invoke-direct {v11, v14}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->urlQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
move-result-object v0
invoke-virtual {v7, v0}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
:try_end_301
.catch Lorg/json/JSONException; {:try_start_2f2 .. :try_end_301} :catch_303
move-object v10, v1
goto :goto_295
:catch_303
move-exception v0
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
move-object/from16 v23, v7
move-object/from16 v24, v8
move-object/from16 v17, v16
move-object/from16 v4, v26
move-wide/from16 v2, v30
move-object/from16 v16, v1
move-object/from16 v1, v29
goto/16 :goto_40a
:cond_31c
:try_start_31c
const-string v2, "vnd.android.cursor.item/contact_event"
.line 290
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
:try_end_322
.catch Lorg/json/JSONException; {:try_start_31c .. :try_end_322} :catch_3b2
if-eqz v2, :cond_35c
const/4 v0, 0x3
:try_start_325
const-string v2, "data2"
.line 291
invoke-interface {v14, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {v14, v2}, Landroid/database/Cursor;->getInt(I)I
move-result v2
:try_end_32f
.catch Lorg/json/JSONException; {:try_start_325 .. :try_end_32f} :catch_303
if-ne v0, v2, :cond_359
move-object/from16 v2, v26
.line 292
:try_start_333
invoke-virtual {v11, v2, v9}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v0
if-eqz v0, :cond_383
.line 293
invoke-interface {v14, v10}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
invoke-interface {v14, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v2, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_344
.catch Lorg/json/JSONException; {:try_start_333 .. :try_end_344} :catch_345
goto :goto_383
:catch_345
move-exception v0
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
move-object/from16 v23, v7
move-object/from16 v24, v8
move-object/from16 v17, v16
move-object/from16 v16, v1
move-object v4, v2
goto/16 :goto_1f3
:cond_359
move-object/from16 v2, v26
goto :goto_383
:cond_35c
move-object/from16 v2, v26
:try_start_35e
const-string v10, "vnd.android.cursor.item/photo"
.line 296
invoke-virtual {v0, v10}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_383
const-string v0, "photos"
.line 297
invoke-virtual {v11, v0, v9}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->isRequired(Ljava/lang/String;Ljava/util/HashMap;)Z
move-result v0
if-eqz v0, :cond_383
const-string v0, "contact_id"
.line 298
invoke-interface {v14, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v0
:try_end_374
.catch Lorg/json/JSONException; {:try_start_35e .. :try_end_374} :catch_39b
move-object v10, v1
:try_start_375
invoke-interface {v14, v0}, Landroid/database/Cursor;->getLong(I)J
move-result-wide v0
.line 299
invoke-direct {v11, v14, v0, v1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->photoQuery(Landroid/database/Cursor;J)Lorg/json/JSONObject;
move-result-object v0
invoke-virtual {v8, v0}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
:try_end_380
.catch Lorg/json/JSONException; {:try_start_375 .. :try_end_380} :catch_381
goto :goto_384
:catch_381
move-exception v0
goto :goto_39d
:cond_383
:goto_383
move-object v10, v1
:goto_384
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
move-object/from16 v23, v7
move-object/from16 v24, v8
move-object/from16 v17, v16
move-object/from16 v1, v29
move-object v4, v2
move-object/from16 v16, v10
move-wide/from16 v2, v30
goto/16 :goto_413
:catch_39b
move-exception v0
move-object v10, v1
:goto_39d
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
move-object/from16 v23, v7
move-object/from16 v24, v8
move-object/from16 v17, v16
move-object/from16 v1, v29
move-object v4, v2
move-object/from16 v16, v10
goto/16 :goto_3fb
:catch_3b2
move-exception v0
move-object v10, v1
goto :goto_3d5
:catch_3b5
move-exception v0
move-object v10, v1
move-object/from16 v16, v2
goto :goto_3d3
:catch_3ba
move-exception v0
move-object/from16 v11, p0
move-object/from16 v9, p2
move-object v10, v1
move-object/from16 v16, v2
move-object/from16 v12, v27
goto :goto_3d1
:catch_3c5
move-exception v0
move-object/from16 v9, p2
move-object v10, v1
move-object/from16 v16, v2
move-wide/from16 v30, v11
move-object/from16 v12, v27
move-object/from16 v11, p0
:goto_3d1
move-object/from16 v27, v13
:goto_3d3
move-object/from16 v13, v28
:goto_3d5
move-object/from16 v18, v3
move-object/from16 v19, v4
move-object/from16 v21, v5
move-object/from16 v22, v6
move-object/from16 v23, v7
move-object/from16 v24, v8
move-object/from16 v17, v16
move-object/from16 v4, v26
move-object/from16 v1, v29
move-wide/from16 v2, v30
move-object/from16 v16, v10
goto :goto_40a
:catch_3ec
move-exception v0
move-wide/from16 v30, v4
move-object/from16 v27, v7
move-object v12, v8
move-object v2, v15
move-object v15, v6
move-object/from16 v32, v13
move-object v13, v9
move-object/from16 v9, v32
move-object v4, v2
move-object v1, v10
:goto_3fb
move-wide/from16 v2, v30
goto :goto_40a
:catch_3fe
move-exception v0
move-object/from16 v27, v7
move-object v12, v8
move-object v1, v10
move-object v4, v15
move-object v15, v6
move-object/from16 v32, v13
move-object v13, v9
move-object/from16 v9, v32
.line 303
:goto_40a
invoke-virtual {v0}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object v5
const-string v6, "ContactsAccessor"
invoke-static {v6, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_413
move-object v10, v1
move-wide v0, v2
move-object v8, v12
move-object v6, v15
move-object/from16 v7, v27
move/from16 v12, p1
move-object v15, v4
move-object/from16 v32, v13
move-object v13, v9
move-object/from16 v9, v32
goto/16 :goto_5e
:cond_423
move-object v15, v6
move-object v9, v13
.line 311
invoke-virtual {v15}, Lorg/json/JSONArray;->length()I
move-result v0
move/from16 v1, p1
if-ge v0, v1, :cond_44a
move-object/from16 v1, p0
move-object/from16 v2, p2
move-object/from16 v3, v16
move-object/from16 v4, v17
move-object/from16 v5, v18
move-object/from16 v6, v19
move-object/from16 v7, v21
move-object/from16 v8, v22
move-object/from16 v9, v23
move-object/from16 v10, v24
.line 312
invoke-direct/range {v1 .. v10}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->populateContact(Ljava/util/HashMap;Lorg/json/JSONObject;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;Lorg/json/JSONArray;)Lorg/json/JSONObject;
move-result-object v0
invoke-virtual {v15, v0}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
goto :goto_44a
:cond_449
move-object v15, v6
.line 316
:cond_44a
:goto_44a
invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->close()V
return-object v15
.end method
.method private urlQuery(Landroid/database/Cursor;)Lorg/json/JSONObject;
.registers 5
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"cursor"
}
.end annotation
.line 652
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_5
const-string v1, "id"
const-string v2, "_id"
.line 654
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "pref"
const/4 v2, 0x0
.line 655
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;
const-string v1, "value"
const-string v2, "data1"
.line 656
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string v1, "type"
const-string v2, "data2"
.line 657
invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v2
invoke-interface {p1, v2}, Landroid/database/Cursor;->getInt(I)I
move-result p1
invoke-direct {p0, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getContactType(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, v1, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_3c
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_3c} :catch_3d
goto :goto_47
:catch_3d
move-exception p1
.line 659
invoke-virtual {p1}, Lorg/json/JSONException;->getMessage()Ljava/lang/String;
move-result-object v1
const-string v2, "ContactsAccessor"
invoke-static {v2, v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:goto_47
return-object v0
.end method
# virtual methods
.method public remove(Ljava/lang/String;)Z
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"id"
}
.end annotation
.line 1461
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 1462
sget-object v1, Landroid/provider/ContactsContract$RawContacts;->CONTENT_URI:Landroid/net/Uri;
.line 1465
invoke-static {p1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v2
.line 1464
invoke-static {v1, v2, v3}, Landroid/content/ContentUris;->withAppendedId(Landroid/net/Uri;J)Landroid/net/Uri;
move-result-object p1
.line 1463
invoke-static {p1}, Landroid/content/ContentProviderOperation;->newDelete(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
move-result-object p1
.line 1465
invoke-virtual {p1}, Landroid/content/ContentProviderOperation$Builder;->build()Landroid/content/ContentProviderOperation;
move-result-object p1
.line 1462
invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
const/4 p1, 0x0
.line 1468
:try_start_1b
iget-object v1, p0, Lio/dcloud/feature/contacts/ContactAccessorImpl;->mApp:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v1
const-string v2, "com.android.contacts"
invoke-virtual {v1, v2, v0}, Landroid/content/ContentResolver;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
move-result-object v0
array-length v0, v0
:try_end_28
.catch Ljava/lang/Exception; {:try_start_1b .. :try_end_28} :catch_2b
if-lez v0, :cond_2b
const/4 p1, 0x1
:catch_2b
:cond_2b
return p1
.end method
.method public save(Lorg/json/JSONObject;)Z
.registers 11
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0
}
names = {
"contact"
}
.end annotation
.line 701
iget-object v0, p0, Lio/dcloud/feature/contacts/ContactAccessorImpl;->mApp:Landroid/content/Context;
invoke-static {v0}, Landroid/accounts/AccountManager;->get(Landroid/content/Context;)Landroid/accounts/AccountManager;
move-result-object v0
.line 702
invoke-virtual {v0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
move-result-object v0
.line 705
array-length v1, v0
const/4 v2, 0x0
const/4 v3, 0x1
const/4 v4, 0x0
if-ne v1, v3, :cond_14
.line 706
aget-object v4, v0, v2
goto/16 :goto_6e
.line 707
:cond_14
array-length v1, v0
if-le v1, v3, :cond_6e
.line 708
array-length v1, v0
move v3, v2
:goto_19
const-string v5, ".+@.+\\.+.+"
if-ge v3, v1, :cond_36
aget-object v6, v0, v3
.line 709
iget-object v7, v6, Landroid/accounts/Account;->type:Ljava/lang/String;
const-string v8, "eas"
invoke-virtual {v7, v8}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v7
if-eqz v7, :cond_33
iget-object v7, v6, Landroid/accounts/Account;->name:Ljava/lang/String;
invoke-virtual {v7, v5}, Ljava/lang/String;->matches(Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_33
move-object v4, v6
goto :goto_36
:cond_33
add-int/lit8 v3, v3, 0x1
goto :goto_19
:cond_36
:goto_36
if-nez v4, :cond_55
.line 716
array-length v1, v0
move v3, v2
:goto_3a
if-ge v3, v1, :cond_55
aget-object v6, v0, v3
.line 717
iget-object v7, v6, Landroid/accounts/Account;->type:Ljava/lang/String;
const-string v8, "com.google"
invoke-virtual {v7, v8}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v7
if-eqz v7, :cond_52
iget-object v7, v6, Landroid/accounts/Account;->name:Ljava/lang/String;
invoke-virtual {v7, v5}, Ljava/lang/String;->matches(Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_52
move-object v4, v6
goto :goto_55
:cond_52
add-int/lit8 v3, v3, 0x1
goto :goto_3a
:cond_55
:goto_55
if-nez v4, :cond_6a
.line 725
array-length v1, v0
move v3, v2
:goto_59
if-ge v3, v1, :cond_6a
aget-object v6, v0, v3
.line 726
iget-object v7, v6, Landroid/accounts/Account;->name:Ljava/lang/String;
invoke-virtual {v7, v5}, Ljava/lang/String;->matches(Ljava/lang/String;)Z
move-result v7
if-eqz v7, :cond_67
move-object v4, v6
goto :goto_6a
:cond_67
add-int/lit8 v3, v3, 0x1
goto :goto_59
:cond_6a
:goto_6a
if-nez v4, :cond_6e
.line 733
aget-object v4, v0, v2
:cond_6e
:goto_6e
const-string v0, "id"
.line 736
invoke-virtual {p0, p1, v0}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->getJsonString(Lorg/json/JSONObject;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_84
const-string v1, "null"
.line 738
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_7f
goto :goto_84
.line 743
:cond_7f
invoke-direct {p0, p1, v4, v0}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->modifyContact(Lorg/json/JSONObject;Landroid/accounts/Account;Ljava/lang/String;)Z
move-result p1
return p1
.line 739
:cond_84
:goto_84
invoke-direct {p0, p1, v4}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->createNewContact(Lorg/json/JSONObject;Landroid/accounts/Account;)Z
move-result p1
return p1
.end method
.method public search(Lorg/json/JSONArray;Lorg/json/JSONObject;)Lorg/json/JSONArray;
.registers 11
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0
}
names = {
"fields",
"options"
}
.end annotation
const v0, 0x7fffffff
const/4 v1, 0x0
const/4 v2, 0x1
if-eqz p2, :cond_18
const-string v3, "filter"
.line 121
invoke-static {p2, v3}, Lio/dcloud/common/util/JSONUtil;->getJSONArray(Lorg/json/JSONObject;Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v3
const-string v4, "multiple"
.line 122
invoke-virtual {p2, v4, v2}, Lorg/json/JSONObject;->optBoolean(Ljava/lang/String;Z)Z
move-result p2
if-eqz p2, :cond_16
goto :goto_19
:cond_16
move v0, v2
goto :goto_19
:cond_18
move-object v3, v1
:goto_19
const/4 p2, 0x0
if-eqz v3, :cond_36
.line 125
invoke-virtual {v3}, Lorg/json/JSONArray;->length()I
move-result v4
if-eqz v4, :cond_36
invoke-virtual {v3}, Lorg/json/JSONArray;->length()I
move-result v4
if-ne v4, v2, :cond_35
invoke-virtual {v3, p2}, Lorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
move-result-object v4
const-string v5, "field"
invoke-virtual {v4, v5}, Lorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_35
goto :goto_36
:cond_35
move v2, p2
:cond_36
:goto_36
if-eqz v2, :cond_3b
move-object v5, v1
move-object v6, v5
goto :goto_49
.line 140
:cond_3b
invoke-direct {p0, v3}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->buildWhereClause(Lorg/json/JSONArray;)Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;
move-result-object p2
.line 141
invoke-virtual {p2}, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;->getSelection()Ljava/lang/String;
move-result-object v1
.line 142
invoke-virtual {p2}, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;->getSelectionArgs()[Ljava/lang/String;
move-result-object p2
move-object v6, p2
move-object v5, v1
.line 145
:goto_49
iget-object p2, p0, Lio/dcloud/feature/contacts/ContactAccessorImpl;->mApp:Landroid/content/Context;
invoke-virtual {p2}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
sget-object v3, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
const-string p2, "raw_contact_id"
filled-new-array {p2}, [Ljava/lang/String;
move-result-object v4
const-string v7, "raw_contact_id ASC"
invoke-virtual/range {v2 .. v7}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v1
.line 152
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
.line 153
:goto_62
invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
move-result v3
if-eqz v3, :cond_74
.line 154
invoke-interface {v1, p2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
move-result v3
invoke-interface {v1, v3}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
move-result-object v3
.line 155
invoke-virtual {v2, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_62
.line 157
:cond_74
invoke-interface {v1}, Landroid/database/Cursor;->close()V
.line 160
invoke-virtual {v2}, Ljava/util/ArrayList;->size()I
move-result p2
if-nez p2, :cond_83
.line 161
new-instance p1, Lorg/json/JSONArray;
invoke-direct {p1}, Lorg/json/JSONArray;-><init>()V
return-object p1
.line 164
:cond_83
invoke-direct {p0, v2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->buildIdClause(Ljava/util/ArrayList;)Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;
move-result-object p2
.line 167
iget-object v1, p0, Lio/dcloud/feature/contacts/ContactAccessorImpl;->mApp:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v2
sget-object v3, Landroid/provider/ContactsContract$Data;->CONTENT_URI:Landroid/net/Uri;
const/4 v4, 0x0
.line 169
invoke-virtual {p2}, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;->getSelection()Ljava/lang/String;
move-result-object v5
.line 170
invoke-virtual {p2}, Lio/dcloud/feature/contacts/ContactAccessor$WhereOptions;->getSelectionArgs()[Ljava/lang/String;
move-result-object v6
const-string v7, "raw_contact_id ASC"
.line 167
invoke-virtual/range {v2 .. v7}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object p2
.line 174
invoke-virtual {p0, p1}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->buildPopulationSet(Lorg/json/JSONArray;)Ljava/util/HashMap;
move-result-object p1
.line 175
invoke-direct {p0, v0, p1, p2}, Lio/dcloud/feature/contacts/ContactAccessorImpl;->populateContactArray(ILjava/util/HashMap;Landroid/database/Cursor;)Lorg/json/JSONArray;
move-result-object p1
return-object p1
.end method