From 62aa568599f7b733a56ecd5f89ef680e55e2d819 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Wed, 13 Dec 2023 17:54:28 +0300 Subject: [PATCH 1/4] rewrite to java --- .../lite/api/execute/GetFullUserProfile.java | 407 +++ .../lite/api/execute/GetFullUserProfile.smali | 2550 ----------------- 2 files changed, 407 insertions(+), 2550 deletions(-) create mode 100644 app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java delete mode 100644 smali/smali_classes4/com/vtosters/lite/api/execute/GetFullUserProfile.smali diff --git a/app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java b/app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java new file mode 100644 index 000000000..5bc604afd --- /dev/null +++ b/app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java @@ -0,0 +1,407 @@ +package com.vtosters.lite.api.execute; + +import android.annotation.SuppressLint; +import android.graphics.RectF; +import android.text.TextUtils; +import android.util.SparseArray; +import com.vk.api.base.utils.ApiUtils; +import com.vk.core.util.AppContextHolder; +import com.vk.core.util.Screen; +import com.vk.dto.common.data.VKList; +import com.vk.dto.gift.GiftItem; +import com.vk.dto.group.Group; +import com.vk.dto.newsfeed.entries.ProfilesRecommendations; +import com.vk.dto.photo.Photo; +import com.vk.dto.user.UserProfile; +import com.vk.dto.user.deactivation.UserDeactivation; +import com.vtosters.lite.api.ExtendedUserProfile; +import com.vtosters.lite.auth.VKAccountManager; +import com.vtosters.lite.utils.Utils; +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import ru.vtosters.hooks.OnlineFormatterHook; +import ru.vtosters.hooks.RenameHook; +import ru.vtosters.hooks.ssfs.ProfileHook; + +import java.util.ArrayList; + +public class GetFullUserProfile extends GetFullProfile { + public GetFullUserProfile(int i, String str, String str2) { + super(i, "execute.getFullProfileNewNew"); + i = i == 0 ? VKAccountManager.d().D0() : i; + b("user_id", i); + b("func_v", 23); // 11 + this.F = i; + if (!TextUtils.isEmpty(str2)) { + c("source", str2); + } + b("photo_sizes", 1); + b("skip_hidden", 1); + if (TextUtils.isEmpty(str)) { + return; + } + c("access_keys", str); + } + + protected ExtendedUserProfile o() { + return new ExtendedUserProfile(); + } + + @SuppressLint("ResourceType") + public void a(ExtendedUserProfile extendedUserProfile, JSONObject jSONObject) throws JSONException { + char c; + RenameHook.injectIntoJson(jSONObject); + JSONObject onlineHook = OnlineFormatterHook.onlineHook(jSONObject); + UserProfile userProfile = extendedUserProfile.a; + int i = onlineHook.getInt("id"); + this.F = i; + userProfile.b = i; + ProfileHook.fetchInfo(extendedUserProfile, onlineHook); + + extendedUserProfile.a.c = onlineHook.getString("first_name"); + extendedUserProfile.a.e = onlineHook.getString("last_name"); + extendedUserProfile.a.d = extendedUserProfile.a.c + " " + extendedUserProfile.a.e; + extendedUserProfile.a.f = onlineHook.getString(Screen.a() > 1.0f ? "photo_medium_rec" : "photo_rec"); + extendedUserProfile.a.h = onlineHook.getInt("friend_status") == 3; + extendedUserProfile.j = onlineHook.optString("photo_max", onlineHook.getString("photo_medium_rec")); + extendedUserProfile.m = onlineHook.optString("activity", ""); + extendedUserProfile.a.g = onlineHook.getInt("sex") == 1; + extendedUserProfile.a.E = UserProfile.d(jSONObject); + + if (onlineHook.has("crop_photo")) { + extendedUserProfile.k = new Photo(onlineHook.getJSONObject("crop_photo").getJSONObject("photo")); + JSONObject jSONObject2 = onlineHook.getJSONObject("crop_photo").getJSONObject("rect"); + JSONObject jSONObject3 = onlineHook.getJSONObject("crop_photo").getJSONObject("crop"); + double d = jSONObject3.getDouble("x"); + double d2 = jSONObject3.getDouble("x2"); + double d3 = jSONObject3.getDouble("y"); + double d4 = jSONObject3.getDouble("y2"); + double d5 = jSONObject2.getDouble("x"); + double d6 = jSONObject2.getDouble("x2"); + double d7 = jSONObject2.getDouble("y"); + double d8 = (d2 - d) / 100.0d; + double d9 = (d4 - d3) / 100.0d; + double d10 = (d / 100.0d) + ((d5 / 100.0d) * d8); + double d11 = (d3 / 100.0d) + ((d7 / 100.0d) * d9); + extendedUserProfile.l = new RectF((float) d10, (float) d11, (float) (d10 + (((d6 - d5) / 100.0d) * d8)), (float) (d11 + (((jSONObject2.getDouble("y2") - d7) / 100.0d) * d9))); + } + + SparseArray sparseArray = new SparseArray(); + JSONArray jSONArray = onlineHook.getJSONArray("cities"); + for (int i2 = 0; i2 < jSONArray.length(); i2++) { + JSONObject jSONObject4 = jSONArray.getJSONObject(i2); + sparseArray.put(jSONObject4.getInt("id"), jSONObject4.getString("title")); + } + + extendedUserProfile.U = onlineHook.getInt("can_write_private_message") == 1; + extendedUserProfile.X = onlineHook.getInt("can_post") == 1; + extendedUserProfile.Y = onlineHook.optInt("can_suggest") == 1; + extendedUserProfile.V = onlineHook.optInt("can_see_all_posts") == 1; + extendedUserProfile.f0 = onlineHook.optInt("can_see_archived_posts") == 1; + extendedUserProfile.a0 = "all".equals(onlineHook.optString("wall_default")); + extendedUserProfile.W = onlineHook.optBoolean("can_call", false); + extendedUserProfile.Z = onlineHook.optInt("blacklisted_by_me") == 1; + + if (onlineHook.optInt("blacklisted") == 1) { + extendedUserProfile.Y0 = new ExtendedUserProfile.c(); + } + + extendedUserProfile.u = onlineHook.optInt("relation"); + if (onlineHook.has("relation_partner")) { + extendedUserProfile.v = onlineHook.getJSONObject("relation_partner").getInt("id"); + extendedUserProfile.w = onlineHook.getJSONObject("relation_partner").getString("first_name") + " " + onlineHook.getJSONObject("relation_partner").getString("last_name"); + } + + if (onlineHook.has("bdate")) { + String string = onlineHook.getString("bdate"); + extendedUserProfile.a.I = string; + String[] split = string.split("\\."); + extendedUserProfile.s = Integer.parseInt(split[0]); + extendedUserProfile.t = Integer.parseInt(split[1]); + if (split.length > 2) { + extendedUserProfile.r = Integer.parseInt(split[2]); + } + } + + extendedUserProfile.d = onlineHook.optString("first_name_dat", extendedUserProfile.a.c); + extendedUserProfile.b = onlineHook.optString("first_name_gen", extendedUserProfile.a.c); + extendedUserProfile.c = onlineHook.optString("first_name_ins", extendedUserProfile.a.c); + extendedUserProfile.h = onlineHook.optString("first_name_acc", extendedUserProfile.a.c); + extendedUserProfile.g = onlineHook.optString("last_name_dat", extendedUserProfile.a.e); + extendedUserProfile.e = onlineHook.optString("last_name_gen", extendedUserProfile.a.e); + extendedUserProfile.f = onlineHook.optString("last_name_ins", extendedUserProfile.a.e); + + String optString = onlineHook.optString("last_name_acc", extendedUserProfile.a.e); + extendedUserProfile.i = optString; + + if (onlineHook.has("city") && onlineHook.has("country")) { + extendedUserProfile.i0 = onlineHook.getJSONObject("city").getString("title"); + extendedUserProfile.j0 = onlineHook.getJSONObject("country").getString("title"); + } + + if (onlineHook.has("mobile_phone") && !onlineHook.getString("mobile_phone").isEmpty()) { + extendedUserProfile.l0 = onlineHook.getString("mobile_phone"); + } + + if (onlineHook.has("home_phone") && !onlineHook.getString("home_phone").isEmpty()) { + extendedUserProfile.m0 = onlineHook.getString("home_phone"); + } + + if (onlineHook.has("skype")) { + extendedUserProfile.n0 = onlineHook.getString("skype"); + } + + if (onlineHook.has("twitter")) { + extendedUserProfile.o0 = onlineHook.getString("twitter"); + } + + if (onlineHook.has("livejournal")) { + extendedUserProfile.r0 = onlineHook.getString("livejournal"); + } + + if (onlineHook.has("facebook") && onlineHook.optLong("facebook", -1L) != -1) { + extendedUserProfile.q0 = onlineHook.getLong("facebook"); + extendedUserProfile.p0 = onlineHook.getString("facebook_name"); + } + + if (onlineHook.has("instagram")) { + extendedUserProfile.u0 = onlineHook.getString("instagram"); + } + + extendedUserProfile.R0 = onlineHook.getInt("friend_status"); + JSONArray optJSONArray = onlineHook.optJSONArray("schools"); + extendedUserProfile.v0 = new ArrayList<>(); + + ArrayList arrayList = null; + if (optJSONArray != null) { + for (int i4 = 0; i4 < optJSONArray.length(); i4++) { + ExtendedUserProfile.f fVar = new ExtendedUserProfile.f(); + JSONObject jSONObject6 = optJSONArray.getJSONObject(i4); + fVar.c = (String) sparseArray.get(jSONObject6.optInt(optString)); + fVar.a = jSONObject6.optString("name", "???"); + fVar.g = jSONObject6.optInt("year_from"); + fVar.f = jSONObject6.optInt("year_to"); + fVar.h = jSONObject6.optInt("year_graduated"); + fVar.b = jSONObject6.optString("class", null); + fVar.d = jSONObject6.optString("speciality", null); + fVar.e = jSONObject6.optString("type_str", AppContextHolder.a.getResources().getString(2131889117)); + extendedUserProfile.v0.add(fVar); + } + } + extendedUserProfile.w0 = new ArrayList<>(); + + JSONArray optJSONArray2 = onlineHook.optJSONArray("universities"); + if (optJSONArray2 != null) { + for (int i5 = 0; i5 < optJSONArray2.length(); i5++) { + ExtendedUserProfile.g gVar = new ExtendedUserProfile.g(); + JSONObject jSONObject7 = optJSONArray2.getJSONObject(i5); + gVar.a = jSONObject7.getString("name").trim(); + if (jSONObject7.has("faculty_name")) { + gVar.b = jSONObject7.getString("faculty_name").trim(); + } + if (jSONObject7.has("chair_name")) { + gVar.c = jSONObject7.getString("chair_name").trim(); + } + gVar.d = jSONObject7.optInt("graduation"); + extendedUserProfile.w0.add(gVar); + } + } + + if (onlineHook.has("interests") && onlineHook.getString("interests").length() > 0) { + extendedUserProfile.y0 = onlineHook.getString("interests"); + } + + if (onlineHook.has("movies") && onlineHook.getString("movies").length() > 0) { + extendedUserProfile.A0 = onlineHook.getString("movies"); + } + + if (onlineHook.has("music") && onlineHook.getString("music").length() > 0) { + extendedUserProfile.z0 = onlineHook.getString("music"); + } + + if (onlineHook.has("tv") && onlineHook.getString("tv").length() > 0) { + extendedUserProfile.B0 = onlineHook.getString("tv"); + } + + if (onlineHook.has("books") && onlineHook.getString("books").length() > 0) { + extendedUserProfile.C0 = onlineHook.getString("books"); + } + + if (onlineHook.has("games") && onlineHook.getString("games").length() > 0) { + extendedUserProfile.D0 = onlineHook.getString("games"); + } + + if (onlineHook.has("about") && onlineHook.getString("about").length() > 0) { + extendedUserProfile.F0 = onlineHook.getString("about"); + } + + if (onlineHook.has("quotes") && onlineHook.getString("quotes").length() > 0) { + extendedUserProfile.E0 = onlineHook.getString("quotes"); + } + + if (onlineHook.has("activities") && onlineHook.getString("activities").length() > 0) { + extendedUserProfile.x0 = onlineHook.getString("activities"); + } + + if (onlineHook.has("home_town") && onlineHook.getString("home_town").length() > 0) { + extendedUserProfile.g0 = onlineHook.getString("home_town"); + } + + if (onlineHook.has("site") && onlineHook.getString("site").length() > 0) { + extendedUserProfile.M = onlineHook.getString("site"); + } + + extendedUserProfile.a.Q.b(onlineHook); + + JSONObject optJSONObject = onlineHook.optJSONObject("personal"); + if (optJSONObject != null) { + JSONArray optJSONArray3 = optJSONObject.optJSONArray("langs"); + + if (optJSONArray3 != null) { + ArrayList arrayList2 = new ArrayList<>(); + for (int i6 = 0; i6 < optJSONArray3.length(); i6++) { + arrayList2.add(optJSONArray3.getString(i6)); + } + extendedUserProfile.G0 = TextUtils.join(", ", arrayList2); + } + + extendedUserProfile.J0 = optJSONObject.optInt("political"); + extendedUserProfile.H0 = optJSONObject.optString("religion"); + extendedUserProfile.K0 = optJSONObject.optInt("life_main"); + extendedUserProfile.L0 = optJSONObject.optInt("people_main"); + extendedUserProfile.I0 = optJSONObject.optString("inspired_by"); + extendedUserProfile.M0 = optJSONObject.optInt("smoking"); + extendedUserProfile.N0 = optJSONObject.optInt("alcohol"); + } + + SparseArray sparseArray3 = new SparseArray(); + JSONArray optJSONArray4 = onlineHook.optJSONArray("relatives_profiles"); + if (optJSONArray4 != null) { + for (int i7 = 0; i7 < optJSONArray4.length(); i7++) { + UserProfile userProfile2 = new UserProfile(optJSONArray4.getJSONObject(i7)); + sparseArray3.put(userProfile2.b, userProfile2); + } + } + + JSONArray optJSONArray5 = onlineHook.optJSONArray("relatives"); + if (optJSONArray5 != null) { + ArrayList arrayList3 = null; + ArrayList arrayList4 = null; + ArrayList arrayList5 = null; + ArrayList arrayList6 = null; + for (int i8 = 0; i8 < optJSONArray5.length(); i8++) { + JSONObject jSONObject8 = optJSONArray5.getJSONObject(i8); + int i9 = jSONObject8.getInt("id"); + if (ApiUtils.a(sparseArray3, i9)) { + String valueOf = jSONObject8.getString("type"); + switch (valueOf.hashCode()) { + case -995424086 -> { + if (valueOf.equals("parent")) { + c = 4; + break; + } + c = 65535; + } + case -268316490 -> { + if (valueOf.equals("grandparent")) { + c = 1; + break; + } + c = 65535; + } + case 94631196 -> { + if (valueOf.equals("child")) { + c = 2; + break; + } + c = 65535; + } + case 395180944 -> { + if (valueOf.equals("grandchild")) { + c = 0; + break; + } + c = 65535; + } + case 2083595970 -> { + if (valueOf.equals("sibling")) { + c = 3; + break; + } + c = 65535; + } + default -> c = 65535; + } + switch (c) { + case 0 -> arrayList6 = Utils.a(arrayList6, sparseArray3.get(i9)); + case 1 -> arrayList5 = Utils.a(arrayList5, sparseArray3.get(i9)); + case 2 -> arrayList4 = Utils.a(arrayList4, sparseArray3.get(i9)); + case 3 -> arrayList3 = Utils.a(arrayList3, sparseArray3.get(i9)); + case 4 -> arrayList = Utils.a(arrayList, sparseArray3.get(i9)); + } + } + } + + extendedUserProfile.A = Utils.a((ArrayList) arrayList, UserProfile.CREATOR); + extendedUserProfile.B = Utils.a((ArrayList) arrayList3, UserProfile.CREATOR); + extendedUserProfile.C = Utils.a((ArrayList) arrayList4, UserProfile.CREATOR); + extendedUserProfile.D = Utils.a((ArrayList) arrayList5, UserProfile.CREATOR); + extendedUserProfile.E = Utils.a((ArrayList) arrayList6, UserProfile.CREATOR); + } + + JSONObject optJSONObject2 = onlineHook.optJSONObject("owner_state"); + if (optJSONObject2 != null) { + extendedUserProfile.q = UserDeactivation.CREATOR.a(optJSONObject2); + } + + JSONObject optJSONObject3 = onlineHook.optJSONObject("gifts"); + if (optJSONObject3 != null) { + extendedUserProfile.y1 = new VKList<>(optJSONObject3, GiftItem.C); + } + + JSONArray optJSONArray6 = onlineHook.optJSONArray("friends"); + if (optJSONArray6 != null) { + extendedUserProfile.H = new ArrayList<>(); + for (int i10 = 0; i10 < optJSONArray6.length(); i10++) { + extendedUserProfile.H.add(new UserProfile(optJSONArray6.getJSONObject(i10))); + } + } + + if (onlineHook.has("career")) { + extendedUserProfile.I = new ArrayList<>(); + JSONArray jSONArray3 = onlineHook.getJSONArray("career"); + for (int i11 = 0; i11 < jSONArray3.length(); i11++) { + JSONObject jSONObject9 = jSONArray3.getJSONObject(i11); + ExtendedUserProfile.e eVar = new ExtendedUserProfile.e(); + if (jSONObject9.has("group")) { + eVar.a = new Group(jSONObject9.getJSONObject("group")); + } else { + eVar.c = jSONObject9.getString("company"); + } + eVar.e = jSONObject9.optInt("from"); + eVar.f = jSONObject9.optInt("until"); + eVar.d = jSONObject9.optString("position"); + extendedUserProfile.I.add(eVar); + } + } + + if (onlineHook.has("display_fields")) { + JSONArray jSONArray4 = onlineHook.getJSONArray("display_fields"); + extendedUserProfile.j1 = new ArrayList<>(); + for (int i12 = 0; i12 < jSONArray4.length(); i12++) { + extendedUserProfile.j1.add(jSONArray4.getString(i12)); + } + } + + extendedUserProfile.u1 = onlineHook.getBoolean("all_photos_are_hidden"); +// JSONObject optJSONObject4 = onlineHook.optJSONObject("friends_recommendations"); +// if (optJSONObject4 != null) { +// extendedUserProfile.J = ProfilesRecommendations.b(optJSONObject4); +// } + } + + public GetFullProfile.a a(JSONObject jSONObject) { + return super.a(jSONObject); + } +} diff --git a/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullUserProfile.smali b/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullUserProfile.smali deleted file mode 100644 index 32f768d2e..000000000 --- a/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullUserProfile.smali +++ /dev/null @@ -1,2550 +0,0 @@ -.class public Lcom/vtosters/lite/api/execute/GetFullUserProfile; -.super Lcom/vtosters/lite/api/execute/GetFullProfile; -.source "GetFullUserProfile.java" - - -# annotations -.annotation system Ldalvik/annotation/Signature; - value = { - "Lcom/vtosters/lite/api/execute/GetFullProfile<", - "Lcom/vtosters/lite/api/ExtendedUserProfile;", - ">;" - } -.end annotation - - -# direct methods -.method public constructor (ILjava/lang/String;Ljava/lang/String;)V - .locals 2 - - const-string v0, "execute.getFullProfileNewNew" - - .line 1 - invoke-direct {p0, p1, v0}, Lcom/vtosters/lite/api/execute/GetFullProfile;->(ILjava/lang/String;)V - - if-nez p1, :cond_0 - - .line 2 - invoke-static {}, Lcom/vtosters/lite/auth/VKAccountManager;->d()Lcom/vk/auth/api/VKAccount; - - move-result-object p1 - - invoke-virtual {p1}, Lcom/vk/auth/api/VKAccount;->D0()I - - move-result p1 - - :cond_0 - const-string v0, "user_id" - - .line 3 - invoke-virtual {p0, v0, p1}, Lcom/vk/api/base/ApiRequest;->b(Ljava/lang/String;I)Lcom/vk/api/base/ApiRequest; - - const/16 v0, 0xb - - const-string v1, "func_v" - - .line 4 - invoke-virtual {p0, v1, v0}, Lcom/vk/api/base/ApiRequest;->b(Ljava/lang/String;I)Lcom/vk/api/base/ApiRequest; - - .line 5 - iput p1, p0, Lcom/vtosters/lite/api/execute/GetFullProfile;->F:I - - .line 6 - invoke-static {p3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z - - move-result p1 - - if-nez p1, :cond_1 - - const-string p1, "source" - - .line 7 - invoke-virtual {p0, p1, p3}, Lcom/vk/api/base/ApiRequest;->c(Ljava/lang/String;Ljava/lang/String;)Lcom/vk/api/base/ApiRequest; - - :cond_1 - const/4 p1, 0x1 - - const-string p3, "photo_sizes" - - .line 8 - invoke-virtual {p0, p3, p1}, Lcom/vk/api/base/ApiRequest;->b(Ljava/lang/String;I)Lcom/vk/api/base/ApiRequest; - - const-string p3, "skip_hidden" - - .line 9 - invoke-virtual {p0, p3, p1}, Lcom/vk/api/base/ApiRequest;->b(Ljava/lang/String;I)Lcom/vk/api/base/ApiRequest; - - .line 10 - invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z - - move-result p1 - - if-nez p1, :cond_2 - - const-string p1, "access_keys" - - .line 11 - invoke-virtual {p0, p1, p2}, Lcom/vk/api/base/ApiRequest;->c(Ljava/lang/String;Ljava/lang/String;)Lcom/vk/api/base/ApiRequest; - - :cond_2 - return-void -.end method - - -# virtual methods -.method public a(Lorg/json/JSONObject;)Lcom/vtosters/lite/api/execute/GetFullProfile$a; - .locals 0 - - .line 194 - invoke-super {p0, p1}, Lcom/vtosters/lite/api/execute/GetFullProfile;->a(Lorg/json/JSONObject;)Lcom/vtosters/lite/api/execute/GetFullProfile$a; - - move-result-object p1 - - return-object p1 -.end method - -.method public bridge synthetic a(Lorg/json/JSONObject;)Ljava/lang/Object; - .locals 0 - .annotation system Ldalvik/annotation/Throws; - value = { - Ljava/lang/Exception; - } - .end annotation - - .line 1 - invoke-virtual {p0, p1}, Lcom/vtosters/lite/api/execute/GetFullUserProfile;->a(Lorg/json/JSONObject;)Lcom/vtosters/lite/api/execute/GetFullProfile$a; - - move-result-object p1 - - return-object p1 -.end method - -.method public a(Lcom/vtosters/lite/api/ExtendedUserProfile;Lorg/json/JSONObject;)V - .locals 27 - .annotation system Ldalvik/annotation/Throws; - value = { - Lorg/json/JSONException; - } - .end annotation - - invoke-static/range {p2 .. p2}, Lru/vtosters/hooks/RenameHook;->injectIntoJson(Lorg/json/JSONObject;)V - - move-object/from16 v0, p1 - - move-object/from16 v1, p2 - - invoke-static {v1}, Lru/vtosters/hooks/OnlineFormatterHook;->onlineHook(Lorg/json/JSONObject;)Lorg/json/JSONObject; - - move-result-object v1 - - .line 2 - iget-object v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - const-string v3, "id" - - invoke-virtual {v1, v3}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v4 - - move-object/from16 v5, p0 - - iput v4, v5, Lcom/vtosters/lite/api/execute/GetFullProfile;->F:I - - iput v4, v2, Lcom/vk/dto/user/UserProfile;->b:I - - invoke-static {v0, v1}, Lru/vtosters/hooks/ssfs/ProfileHook;->fetchInfo(Lcom/vtosters/lite/api/ExtendedUserProfile;Lorg/json/JSONObject;)V - - .line 3 - iget-object v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - const-string v4, "first_name" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v2, Lcom/vk/dto/user/UserProfile;->c:Ljava/lang/String; - - .line 4 - iget-object v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - const-string v4, "last_name" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v2, Lcom/vk/dto/user/UserProfile;->e:Ljava/lang/String; - - .line 5 - iget-object v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - new-instance v4, Ljava/lang/StringBuilder; - - invoke-direct {v4}, Ljava/lang/StringBuilder;->()V - - iget-object v6, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iget-object v6, v6, Lcom/vk/dto/user/UserProfile;->c:Ljava/lang/String; - - invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; - - const-string v6, " " - - invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; - - iget-object v6, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iget-object v6, v6, Lcom/vk/dto/user/UserProfile;->e:Ljava/lang/String; - - invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; - - invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v2, Lcom/vk/dto/user/UserProfile;->d:Ljava/lang/String; - - .line 6 - iget-object v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - invoke-static {}, Lcom/vk/core/util/Screen;->a()F - - move-result v4 - - const/high16 v6, 0x3f800000 # 1.0f - - cmpl-float v4, v4, v6 - - if-lez v4, :cond_0 - - const-string v4, "photo_medium_rec" - - goto :goto_0 - - :cond_0 - const-string v4, "photo_rec" - - :goto_0 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v2, Lcom/vk/dto/user/UserProfile;->f:Ljava/lang/String; - - .line 7 - iget-object v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - const-string v4, "friend_status" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v4 - - const/4 v6, 0x3 - - const/4 v7, 0x0 - - const/4 v8, 0x1 - - if-ne v4, v6, :cond_1 - - const/4 v4, 0x1 - - goto :goto_1 - - :cond_1 - const/4 v4, 0x0 - - :goto_1 - iput-boolean v4, v2, Lcom/vk/dto/user/UserProfile;->h:Z - - const-string v2, "photo_medium_rec" - - .line 8 - invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v2 - - const-string v4, "photo_max" - - invoke-virtual {v1, v4, v2}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v2 - - iput-object v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->j:Ljava/lang/String; - - const-string v2, "activity" - - const-string v4, "" - - .line 9 - invoke-virtual {v1, v2, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v2 - - iput-object v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->m:Ljava/lang/String; - - .line 10 - iget-object v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - const-string v4, "sex" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v4 - - if-ne v4, v8, :cond_2 - - const/4 v4, 0x1 - - goto :goto_2 - - :cond_2 - const/4 v4, 0x0 - - :goto_2 - iput-boolean v4, v2, Lcom/vk/dto/user/UserProfile;->g:Z - - .line 11 - iget-object v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - invoke-static/range {p2 .. p2}, Lcom/vk/dto/user/UserProfile;->d(Lorg/json/JSONObject;)Lcom/vk/dto/user/OnlineInfo; - - move-result-object v4 - - iput-object v4, v2, Lcom/vk/dto/user/UserProfile;->E:Lcom/vk/dto/user/OnlineInfo; - - const-string v2, "crop_photo" - - .line 12 - invoke-virtual {v1, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - if-eqz v4, :cond_3 - - .line 13 - new-instance v4, Lcom/vk/dto/photo/Photo; - - invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v9 - - const-string v10, "photo" - - invoke-virtual {v9, v10}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v9 - - invoke-direct {v4, v9}, Lcom/vk/dto/photo/Photo;->(Lorg/json/JSONObject;)V - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->k:Lcom/vk/dto/photo/Photo; - - .line 14 - invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v4 - - const-string v9, "rect" - - invoke-virtual {v4, v9}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v4 - - .line 15 - invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v2 - - const-string v9, "crop" - - invoke-virtual {v2, v9}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v2 - - const-string v9, "x" - - .line 16 - invoke-virtual {v2, v9}, Lorg/json/JSONObject;->getDouble(Ljava/lang/String;)D - - move-result-wide v9 - - const-string v11, "x2" - - invoke-virtual {v2, v11}, Lorg/json/JSONObject;->getDouble(Ljava/lang/String;)D - - move-result-wide v11 - - const-string v13, "y" - - invoke-virtual {v2, v13}, Lorg/json/JSONObject;->getDouble(Ljava/lang/String;)D - - move-result-wide v13 - - const-string v15, "y2" - - invoke-virtual {v2, v15}, Lorg/json/JSONObject;->getDouble(Ljava/lang/String;)D - - move-result-wide v15 - - const-string v2, "x" - - .line 17 - invoke-virtual {v4, v2}, Lorg/json/JSONObject;->getDouble(Ljava/lang/String;)D - - move-result-wide v17 - - const-string v2, "x2" - - invoke-virtual {v4, v2}, Lorg/json/JSONObject;->getDouble(Ljava/lang/String;)D - - move-result-wide v19 - - const-string v2, "y" - - invoke-virtual {v4, v2}, Lorg/json/JSONObject;->getDouble(Ljava/lang/String;)D - - move-result-wide v21 - - const-string v2, "y2" - - invoke-virtual {v4, v2}, Lorg/json/JSONObject;->getDouble(Ljava/lang/String;)D - - move-result-wide v23 - - sub-double/2addr v11, v9 - - const-wide/high16 v25, 0x4059000000000000L # 100.0 - - div-double v11, v11, v25 - - sub-double/2addr v15, v13 - - div-double v15, v15, v25 - - sub-double v19, v19, v17 - - div-double v19, v19, v25 - - sub-double v23, v23, v21 - - div-double v23, v23, v25 - - mul-double v19, v19, v11 - - mul-double v23, v23, v15 - - .line 18 - new-instance v2, Landroid/graphics/RectF; - - div-double v9, v9, v25 - - div-double v17, v17, v25 - - mul-double v17, v17, v11 - - add-double v9, v9, v17 - - double-to-float v4, v9 - - div-double v13, v13, v25 - - div-double v21, v21, v25 - - mul-double v21, v21, v15 - - add-double v13, v13, v21 - - double-to-float v11, v13 - - add-double v9, v9, v19 - - double-to-float v9, v9 - - add-double v13, v13, v23 - - double-to-float v10, v13 - - invoke-direct {v2, v4, v11, v9, v10}, Landroid/graphics/RectF;->(FFFF)V - - iput-object v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->l:Landroid/graphics/RectF; - - .line 19 - :cond_3 - new-instance v2, Landroid/util/SparseArray; - - invoke-direct {v2}, Landroid/util/SparseArray;->()V - - const-string v4, "cities" - - .line 20 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; - - move-result-object v4 - - const/4 v9, 0x0 - - .line 21 - :goto_3 - invoke-virtual {v4}, Lorg/json/JSONArray;->length()I - - move-result v10 - - const-string v11, "title" - - if-ge v9, v10, :cond_4 - - .line 22 - invoke-virtual {v4, v9}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; - - move-result-object v10 - - .line 23 - invoke-virtual {v10, v3}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v12 - - invoke-virtual {v10, v11}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v10 - - invoke-virtual {v2, v12, v10}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V - - add-int/lit8 v9, v9, 0x1 - - goto :goto_3 - - .line 24 - :cond_4 - new-instance v4, Landroid/util/SparseArray; - - invoke-direct {v4}, Landroid/util/SparseArray;->()V - - const-string v9, "cities" - - .line 25 - invoke-virtual {v1, v9}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; - - move-result-object v9 - - const/4 v10, 0x0 - - .line 26 - :goto_4 - invoke-virtual {v9}, Lorg/json/JSONArray;->length()I - - move-result v12 - - if-ge v10, v12, :cond_5 - - .line 27 - invoke-virtual {v9, v10}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; - - move-result-object v12 - - .line 28 - invoke-virtual {v12, v3}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v13 - - invoke-virtual {v12, v11}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v12 - - invoke-virtual {v4, v13, v12}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V - - add-int/lit8 v10, v10, 0x1 - - goto :goto_4 - - :cond_5 - const-string v4, "can_write_private_message" - - .line 29 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v4 - - if-ne v4, v8, :cond_6 - - const/4 v4, 0x1 - - goto :goto_5 - - :cond_6 - const/4 v4, 0x0 - - :goto_5 - iput-boolean v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->U:Z - - const-string v4, "can_post" - - .line 30 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v4 - - if-ne v4, v8, :cond_7 - - const/4 v4, 0x1 - - goto :goto_6 - - :cond_7 - const/4 v4, 0x0 - - :goto_6 - iput-boolean v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->X:Z - - const-string v4, "can_suggest" - - .line 31 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v4 - - if-ne v4, v8, :cond_8 - - const/4 v4, 0x1 - - goto :goto_7 - - :cond_8 - const/4 v4, 0x0 - - :goto_7 - iput-boolean v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->Y:Z - - const-string v4, "can_see_all_posts" - - .line 32 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v4 - - if-ne v4, v8, :cond_9 - - const/4 v4, 0x1 - - goto :goto_8 - - :cond_9 - const/4 v4, 0x0 - - :goto_8 - iput-boolean v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->V:Z - - const-string v4, "can_see_archived_posts" - - .line 33 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v4 - - if-ne v4, v8, :cond_a - - const/4 v4, 0x1 - - goto :goto_9 - - :cond_a - const/4 v4, 0x0 - - :goto_9 - iput-boolean v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->f0:Z - - const-string v4, "wall_default" - - .line 34 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - const-string v9, "all" - - invoke-virtual {v9, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z - - move-result v4 - - iput-boolean v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a0:Z - - const-string v4, "can_call" - - .line 35 - invoke-virtual {v1, v4, v7}, Lorg/json/JSONObject;->optBoolean(Ljava/lang/String;Z)Z - - move-result v4 - - iput-boolean v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->W:Z - - const-string v4, "blacklisted_by_me" - - .line 36 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v4 - - if-ne v4, v8, :cond_b - - const/4 v4, 0x1 - - goto :goto_a - - :cond_b - const/4 v4, 0x0 - - :goto_a - iput-boolean v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->Z:Z - - const-string v4, "blacklisted" - - .line 37 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v4 - - if-ne v4, v8, :cond_c - - .line 38 - new-instance v4, Lcom/vtosters/lite/api/ExtendedUserProfile$c; - - invoke-direct {v4}, Lcom/vtosters/lite/api/ExtendedUserProfile$c;->()V - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->Y0:Lcom/vtosters/lite/api/ExtendedUserProfile$c; - - :cond_c - const-string v4, "relation" - - .line 39 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v4 - - iput v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->u:I - - const-string v4, "relation_partner" - - .line 40 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v9 - - if-eqz v9, :cond_d - - .line 41 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v9 - - invoke-virtual {v9, v3}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v9 - - iput v9, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->v:I - - .line 42 - new-instance v9, Ljava/lang/StringBuilder; - - invoke-direct {v9}, Ljava/lang/StringBuilder;->()V - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v10 - - const-string v12, "first_name" - - invoke-virtual {v10, v12}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v10 - - invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; - - const-string v10, " " - - invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v4 - - const-string v10, "last_name" - - invoke-virtual {v4, v10}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - invoke-virtual {v9, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; - - invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->w:Ljava/lang/String; - - :cond_d - const-string v4, "bdate" - - .line 43 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - const/4 v9, 0x2 - - if-eqz v4, :cond_e - - const-string v4, "bdate" - - .line 44 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - .line 45 - iget-object v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iput-object v4, v10, Lcom/vk/dto/user/UserProfile;->I:Ljava/lang/String; - - const-string v10, "\\." - - .line 46 - invoke-virtual {v4, v10}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; - - move-result-object v4 - - .line 47 - aget-object v10, v4, v7 - - invoke-static {v10}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I - - move-result v10 - - iput v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->s:I - - .line 48 - aget-object v10, v4, v8 - - invoke-static {v10}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I - - move-result v10 - - iput v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->t:I - - .line 49 - array-length v10, v4 - - if-le v10, v9, :cond_e - - .line 50 - aget-object v4, v4, v9 - - invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I - - move-result v4 - - iput v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->r:I - - .line 51 - :cond_e - iget-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iget-object v4, v4, Lcom/vk/dto/user/UserProfile;->c:Ljava/lang/String; - - const-string v10, "first_name_dat" - - invoke-virtual {v1, v10, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->d:Ljava/lang/String; - - .line 52 - iget-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iget-object v4, v4, Lcom/vk/dto/user/UserProfile;->c:Ljava/lang/String; - - const-string v10, "first_name_gen" - - invoke-virtual {v1, v10, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->b:Ljava/lang/String; - - .line 53 - iget-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iget-object v4, v4, Lcom/vk/dto/user/UserProfile;->c:Ljava/lang/String; - - const-string v10, "first_name_ins" - - invoke-virtual {v1, v10, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->c:Ljava/lang/String; - - .line 54 - iget-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iget-object v4, v4, Lcom/vk/dto/user/UserProfile;->c:Ljava/lang/String; - - const-string v10, "first_name_acc" - - invoke-virtual {v1, v10, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->h:Ljava/lang/String; - - .line 55 - iget-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iget-object v4, v4, Lcom/vk/dto/user/UserProfile;->e:Ljava/lang/String; - - const-string v10, "last_name_dat" - - invoke-virtual {v1, v10, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->g:Ljava/lang/String; - - .line 56 - iget-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iget-object v4, v4, Lcom/vk/dto/user/UserProfile;->e:Ljava/lang/String; - - const-string v10, "last_name_gen" - - invoke-virtual {v1, v10, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->e:Ljava/lang/String; - - .line 57 - iget-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iget-object v4, v4, Lcom/vk/dto/user/UserProfile;->e:Ljava/lang/String; - - const-string v10, "last_name_ins" - - invoke-virtual {v1, v10, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->f:Ljava/lang/String; - - .line 58 - iget-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iget-object v4, v4, Lcom/vk/dto/user/UserProfile;->e:Ljava/lang/String; - - const-string v10, "last_name_acc" - - invoke-virtual {v1, v10, v4}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->i:Ljava/lang/String; - - const-string v4, "city" - - .line 59 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v10 - - if-eqz v10, :cond_f - - const-string v10, "country" - - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v10 - - if-eqz v10, :cond_f - - .line 60 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v10 - - invoke-virtual {v10, v11}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v10 - - iput-object v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->i0:Ljava/lang/String; - - const-string v10, "country" - - .line 61 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v10 - - invoke-virtual {v10, v11}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v10 - - iput-object v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->j0:Ljava/lang/String; - - :cond_f - const-string v10, "mobile_phone" - - .line 62 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v11 - - if-eqz v11, :cond_10 - - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v11 - - invoke-virtual {v11}, Ljava/lang/String;->length()I - - move-result v11 - - if-lez v11, :cond_10 - - .line 63 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v10 - - iput-object v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->l0:Ljava/lang/String; - - :cond_10 - const-string v10, "home_phone" - - .line 64 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v11 - - if-eqz v11, :cond_11 - - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v11 - - invoke-virtual {v11}, Ljava/lang/String;->length()I - - move-result v11 - - if-lez v11, :cond_11 - - .line 65 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v10 - - iput-object v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->m0:Ljava/lang/String; - - :cond_11 - const-string v10, "skype" - - .line 66 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v10 - - if-eqz v10, :cond_12 - - const-string v10, "skype" - - .line 67 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v10 - - iput-object v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->n0:Ljava/lang/String; - - :cond_12 - const-string v10, "twitter" - - .line 68 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v10 - - if-eqz v10, :cond_13 - - const-string v10, "twitter" - - .line 69 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v10 - - iput-object v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->o0:Ljava/lang/String; - - :cond_13 - const-string v10, "livejournal" - - .line 70 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v10 - - if-eqz v10, :cond_14 - - const-string v10, "livejournal" - - .line 71 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v10 - - iput-object v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->r0:Ljava/lang/String; - - :cond_14 - const-string v10, "facebook" - - .line 72 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v11 - - if-eqz v11, :cond_15 - - const-wide/16 v11, -0x1 - - invoke-virtual {v1, v10, v11, v12}, Lorg/json/JSONObject;->optLong(Ljava/lang/String;J)J - - move-result-wide v11 - - const-wide/16 v13, -0x1 - - cmp-long v15, v11, v13 - - if-eqz v15, :cond_15 - - .line 73 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getLong(Ljava/lang/String;)J - - move-result-wide v10 - - iput-wide v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->q0:J - - const-string v10, "facebook_name" - - .line 74 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v10 - - iput-object v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->p0:Ljava/lang/String; - - :cond_15 - const-string v10, "instagram" - - .line 75 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v10 - - if-eqz v10, :cond_16 - - const-string v10, "instagram" - - .line 76 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v10 - - iput-object v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->u0:Ljava/lang/String; - - :cond_16 - const-string v10, "friend_status" - - .line 77 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v10 - - iput v10, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->R0:I - - const-string v10, "schools" - - .line 78 - invoke-virtual {v1, v10}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; - - move-result-object v10 - - .line 79 - new-instance v11, Ljava/util/ArrayList; - - invoke-direct {v11}, Ljava/util/ArrayList;->()V - - iput-object v11, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->v0:Ljava/util/ArrayList; - - const/4 v11, 0x0 - - if-eqz v10, :cond_17 - - const/4 v12, 0x0 - - .line 80 - :goto_b - invoke-virtual {v10}, Lorg/json/JSONArray;->length()I - - move-result v13 - - if-ge v12, v13, :cond_17 - - .line 81 - new-instance v13, Lcom/vtosters/lite/api/ExtendedUserProfile$f; - - invoke-direct {v13}, Lcom/vtosters/lite/api/ExtendedUserProfile$f;->()V - - .line 82 - invoke-virtual {v10, v12}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; - - move-result-object v14 - - .line 83 - invoke-virtual {v14, v4}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v15 - - invoke-virtual {v2, v15}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object; - - move-result-object v15 - - check-cast v15, Ljava/lang/String; - - iput-object v15, v13, Lcom/vtosters/lite/api/ExtendedUserProfile$f;->c:Ljava/lang/String; - - const-string v15, "name" - - const-string v7, "???" - - .line 84 - invoke-virtual {v14, v15, v7}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v7 - - iput-object v7, v13, Lcom/vtosters/lite/api/ExtendedUserProfile$f;->a:Ljava/lang/String; - - const-string v7, "year_from" - - .line 85 - invoke-virtual {v14, v7}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v7 - - iput v7, v13, Lcom/vtosters/lite/api/ExtendedUserProfile$f;->g:I - - const-string v7, "year_to" - - .line 86 - invoke-virtual {v14, v7}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v7 - - iput v7, v13, Lcom/vtosters/lite/api/ExtendedUserProfile$f;->f:I - - const-string v7, "year_graduated" - - .line 87 - invoke-virtual {v14, v7}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v7 - - iput v7, v13, Lcom/vtosters/lite/api/ExtendedUserProfile$f;->h:I - - const-string v7, "class" - - .line 88 - invoke-virtual {v14, v7, v11}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v7 - - iput-object v7, v13, Lcom/vtosters/lite/api/ExtendedUserProfile$f;->b:Ljava/lang/String; - - const-string v7, "speciality" - - .line 89 - invoke-virtual {v14, v7, v11}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v7 - - iput-object v7, v13, Lcom/vtosters/lite/api/ExtendedUserProfile$f;->d:Ljava/lang/String; - - .line 90 - sget-object v7, Lcom/vk/core/util/AppContextHolder;->a:Landroid/content/Context; - - invoke-virtual {v7}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; - - move-result-object v7 - - const v15, 0x7f120bdd - - invoke-virtual {v7, v15}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; - - move-result-object v7 - - const-string v15, "type_str" - - invoke-virtual {v14, v15, v7}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; - - move-result-object v7 - - iput-object v7, v13, Lcom/vtosters/lite/api/ExtendedUserProfile$f;->e:Ljava/lang/String; - - .line 91 - iget-object v7, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->v0:Ljava/util/ArrayList; - - invoke-virtual {v7, v13}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z - - add-int/lit8 v12, v12, 0x1 - - const/4 v7, 0x0 - - goto :goto_b - - .line 92 - :cond_17 - new-instance v7, Ljava/util/ArrayList; - - invoke-direct {v7}, Ljava/util/ArrayList;->()V - - iput-object v7, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->w0:Ljava/util/ArrayList; - - const-string v7, "universities" - - .line 93 - invoke-virtual {v1, v7}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; - - move-result-object v7 - - if-eqz v7, :cond_1a - - const/4 v10, 0x0 - - .line 94 - :goto_c - invoke-virtual {v7}, Lorg/json/JSONArray;->length()I - - move-result v12 - - if-ge v10, v12, :cond_1a - - .line 95 - new-instance v12, Lcom/vtosters/lite/api/ExtendedUserProfile$g; - - invoke-direct {v12}, Lcom/vtosters/lite/api/ExtendedUserProfile$g;->()V - - .line 96 - invoke-virtual {v7, v10}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; - - move-result-object v13 - - .line 97 - invoke-virtual {v13, v4}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v14 - - invoke-virtual {v2, v14}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object; - - move-result-object v14 - - check-cast v14, Ljava/lang/String; - - const-string v14, "name" - - .line 98 - invoke-virtual {v13, v14}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v14 - - invoke-virtual {v14}, Ljava/lang/String;->trim()Ljava/lang/String; - - move-result-object v14 - - iput-object v14, v12, Lcom/vtosters/lite/api/ExtendedUserProfile$g;->a:Ljava/lang/String; - - const-string v14, "faculty_name" - - .line 99 - invoke-virtual {v13, v14}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v14 - - if-eqz v14, :cond_18 - - const-string v14, "faculty_name" - - .line 100 - invoke-virtual {v13, v14}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v14 - - invoke-virtual {v14}, Ljava/lang/String;->trim()Ljava/lang/String; - - move-result-object v14 - - iput-object v14, v12, Lcom/vtosters/lite/api/ExtendedUserProfile$g;->b:Ljava/lang/String; - - :cond_18 - const-string v14, "chair_name" - - .line 101 - invoke-virtual {v13, v14}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v14 - - if-eqz v14, :cond_19 - - const-string v14, "chair_name" - - .line 102 - invoke-virtual {v13, v14}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v14 - - invoke-virtual {v14}, Ljava/lang/String;->trim()Ljava/lang/String; - - move-result-object v14 - - iput-object v14, v12, Lcom/vtosters/lite/api/ExtendedUserProfile$g;->c:Ljava/lang/String; - - :cond_19 - const-string v14, "graduation" - - .line 103 - invoke-virtual {v13, v14}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v13 - - iput v13, v12, Lcom/vtosters/lite/api/ExtendedUserProfile$g;->d:I - - .line 104 - iget-object v13, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->w0:Ljava/util/ArrayList; - - invoke-virtual {v13, v12}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z - - add-int/lit8 v10, v10, 0x1 - - goto :goto_c - - :cond_1a - const-string v4, "interests" - - .line 105 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v7 - - if-eqz v7, :cond_1b - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v7 - - invoke-virtual {v7}, Ljava/lang/String;->length()I - - move-result v7 - - if-lez v7, :cond_1b - - .line 106 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->y0:Ljava/lang/String; - - :cond_1b - const-string v4, "movies" - - .line 107 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - if-eqz v4, :cond_1c - - const-string v4, "movies" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - invoke-virtual {v4}, Ljava/lang/String;->length()I - - move-result v4 - - if-lez v4, :cond_1c - - const-string v4, "movies" - - .line 108 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->A0:Ljava/lang/String; - - :cond_1c - const-string v4, "music" - - .line 109 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - if-eqz v4, :cond_1d - - const-string v4, "music" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - invoke-virtual {v4}, Ljava/lang/String;->length()I - - move-result v4 - - if-lez v4, :cond_1d - - const-string v4, "music" - - .line 110 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->z0:Ljava/lang/String; - - :cond_1d - const-string v4, "tv" - - .line 111 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - if-eqz v4, :cond_1e - - const-string v4, "tv" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - invoke-virtual {v4}, Ljava/lang/String;->length()I - - move-result v4 - - if-lez v4, :cond_1e - - const-string v4, "tv" - - .line 112 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->B0:Ljava/lang/String; - - :cond_1e - const-string v4, "books" - - .line 113 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - if-eqz v4, :cond_1f - - const-string v4, "books" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - invoke-virtual {v4}, Ljava/lang/String;->length()I - - move-result v4 - - if-lez v4, :cond_1f - - const-string v4, "books" - - .line 114 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->C0:Ljava/lang/String; - - :cond_1f - const-string v4, "games" - - .line 115 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - if-eqz v4, :cond_20 - - const-string v4, "games" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - invoke-virtual {v4}, Ljava/lang/String;->length()I - - move-result v4 - - if-lez v4, :cond_20 - - const-string v4, "games" - - .line 116 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->D0:Ljava/lang/String; - - :cond_20 - const-string v4, "about" - - .line 117 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - if-eqz v4, :cond_21 - - const-string v4, "about" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - invoke-virtual {v4}, Ljava/lang/String;->length()I - - move-result v4 - - if-lez v4, :cond_21 - - const-string v4, "about" - - .line 118 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->F0:Ljava/lang/String; - - :cond_21 - const-string v4, "quotes" - - .line 119 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - if-eqz v4, :cond_22 - - const-string v4, "quotes" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - invoke-virtual {v4}, Ljava/lang/String;->length()I - - move-result v4 - - if-lez v4, :cond_22 - - const-string v4, "quotes" - - .line 120 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->E0:Ljava/lang/String; - - :cond_22 - const-string v4, "activities" - - .line 121 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - if-eqz v4, :cond_23 - - const-string v4, "activities" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - invoke-virtual {v4}, Ljava/lang/String;->length()I - - move-result v4 - - if-lez v4, :cond_23 - - const-string v4, "activities" - - .line 122 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->x0:Ljava/lang/String; - - :cond_23 - const-string v4, "home_town" - - .line 123 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - if-eqz v4, :cond_24 - - const-string v4, "home_town" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - invoke-virtual {v4}, Ljava/lang/String;->length()I - - move-result v4 - - if-lez v4, :cond_24 - - const-string v4, "home_town" - - .line 124 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->g0:Ljava/lang/String; - - :cond_24 - const-string v4, "site" - - .line 125 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v4 - - if-eqz v4, :cond_25 - - const-string v4, "site" - - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - invoke-virtual {v4}, Ljava/lang/String;->length()I - - move-result v4 - - if-lez v4, :cond_25 - - const-string v4, "site" - - .line 126 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v4 - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->M:Ljava/lang/String; - - .line 127 - :cond_25 - iget-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->a:Lcom/vk/dto/user/UserProfile; - - iget-object v4, v4, Lcom/vk/dto/user/UserProfile;->Q:Lcom/vk/dto/common/VerifyInfo; - - invoke-virtual {v4, v1}, Lcom/vk/dto/common/VerifyInfo;->b(Lorg/json/JSONObject;)Lcom/vk/dto/common/VerifyInfo; - - const-string v4, "personal" - - .line 128 - invoke-virtual {v1, v4}, Lorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v4 - - if-eqz v4, :cond_28 - - const-string v7, "langs" - - .line 129 - invoke-virtual {v4, v7}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; - - move-result-object v7 - - if-eqz v7, :cond_27 - - .line 130 - new-instance v10, Ljava/util/ArrayList; - - invoke-direct {v10}, Ljava/util/ArrayList;->()V - - const/4 v12, 0x0 - - .line 131 - :goto_d - invoke-virtual {v7}, Lorg/json/JSONArray;->length()I - - move-result v13 - - if-ge v12, v13, :cond_26 - - .line 132 - invoke-virtual {v7, v12}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String; - - move-result-object v13 - - invoke-virtual {v10, v13}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z - - add-int/lit8 v12, v12, 0x1 - - goto :goto_d - - :cond_26 - const-string v7, ", " - - .line 133 - invoke-static {v7, v10}, Landroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String; - - move-result-object v7 - - iput-object v7, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->G0:Ljava/lang/String; - - :cond_27 - const-string v7, "political" - - .line 134 - invoke-virtual {v4, v7}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v7 - - iput v7, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->J0:I - - const-string v7, "religion" - - .line 135 - invoke-virtual {v4, v7}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v7 - - iput-object v7, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->H0:Ljava/lang/String; - - const-string v7, "life_main" - - .line 136 - invoke-virtual {v4, v7}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v7 - - iput v7, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->K0:I - - const-string v7, "people_main" - - .line 137 - invoke-virtual {v4, v7}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v7 - - iput v7, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->L0:I - - const-string v7, "inspired_by" - - .line 138 - invoke-virtual {v4, v7}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v7 - - iput-object v7, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->I0:Ljava/lang/String; - - const-string v7, "smoking" - - .line 139 - invoke-virtual {v4, v7}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v7 - - iput v7, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->M0:I - - const-string v7, "alcohol" - - .line 140 - invoke-virtual {v4, v7}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v4 - - iput v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->N0:I - - .line 141 - :cond_28 - new-instance v4, Landroid/util/SparseArray; - - invoke-direct {v4}, Landroid/util/SparseArray;->()V - - const-string v7, "relatives_profiles" - - .line 142 - invoke-virtual {v1, v7}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; - - move-result-object v7 - - if-eqz v7, :cond_29 - - const/4 v10, 0x0 - - .line 143 - :goto_e - invoke-virtual {v7}, Lorg/json/JSONArray;->length()I - - move-result v12 - - if-ge v10, v12, :cond_29 - - .line 144 - invoke-virtual {v7, v10}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; - - move-result-object v12 - - .line 145 - new-instance v13, Lcom/vk/dto/user/UserProfile; - - invoke-direct {v13, v12}, Lcom/vk/dto/user/UserProfile;->(Lorg/json/JSONObject;)V - - .line 146 - iget v12, v13, Lcom/vk/dto/user/UserProfile;->b:I - - invoke-virtual {v4, v12, v13}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V - - add-int/lit8 v10, v10, 0x1 - - goto :goto_e - - :cond_29 - const-string v7, "relatives" - - .line 147 - invoke-virtual {v1, v7}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; - - move-result-object v7 - - if-eqz v7, :cond_32 - - move-object v12, v11 - - move-object v13, v12 - - move-object v14, v13 - - move-object v15, v14 - - const/4 v10, 0x0 - - .line 148 - :goto_f - invoke-virtual {v7}, Lorg/json/JSONArray;->length()I - - move-result v6 - - if-ge v10, v6, :cond_31 - - .line 149 - invoke-virtual {v7, v10}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; - - move-result-object v6 - - .line 150 - invoke-virtual {v6, v3}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v9 - - .line 151 - invoke-static {v4, v9}, Lcom/vk/api/base/utils/ApiUtils;->a(Landroid/util/SparseArray;I)Z - - move-result v19 - - if-nez v19, :cond_2a - - goto/16 :goto_12 - - :cond_2a - const-string v8, "type" - - .line 152 - invoke-virtual {v6, v8}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v6 - - invoke-static {v6}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; - - move-result-object v6 - - invoke-virtual {v6}, Ljava/lang/String;->hashCode()I - - move-result v20 - - sparse-switch v20, :sswitch_data_0 - - goto :goto_10 - - :sswitch_0 - const-string v8, "sibling" - - invoke-virtual {v6, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z - - move-result v6 - - if-eqz v6, :cond_2b - - const/4 v6, 0x3 - - goto :goto_11 - - :sswitch_1 - const-string v8, "grandchild" - - invoke-virtual {v6, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z - - move-result v6 - - if-eqz v6, :cond_2b - - const/4 v6, 0x0 - - goto :goto_11 - - :sswitch_2 - const-string v8, "child" - - invoke-virtual {v6, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z - - move-result v6 - - if-eqz v6, :cond_2b - - const/4 v6, 0x2 - - goto :goto_11 - - :sswitch_3 - const-string v8, "grandparent" - - invoke-virtual {v6, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z - - move-result v6 - - if-eqz v6, :cond_2b - - const/4 v6, 0x1 - - goto :goto_11 - - :sswitch_4 - const-string v8, "parent" - - invoke-virtual {v6, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z - - move-result v6 - - if-eqz v6, :cond_2b - - const/4 v6, 0x4 - - goto :goto_11 - - :cond_2b - :goto_10 - const/4 v6, -0x1 - - :goto_11 - if-eqz v6, :cond_30 - - const/4 v8, 0x1 - - if-eq v6, v8, :cond_2f - - const/4 v8, 0x2 - - if-eq v6, v8, :cond_2e - - const/4 v8, 0x3 - - if-eq v6, v8, :cond_2d - - const/4 v8, 0x4 - - if-eq v6, v8, :cond_2c - - goto :goto_12 - - .line 153 - :cond_2c - invoke-virtual {v4, v9}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object; - - move-result-object v6 - - invoke-static {v11, v6}, Lcom/vtosters/lite/utils/Utils;->a(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList; - - move-result-object v6 - - move-object v11, v6 - - goto :goto_12 - - .line 154 - :cond_2d - invoke-virtual {v4, v9}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object; - - move-result-object v6 - - invoke-static {v12, v6}, Lcom/vtosters/lite/utils/Utils;->a(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList; - - move-result-object v6 - - move-object v12, v6 - - goto :goto_12 - - .line 155 - :cond_2e - invoke-virtual {v4, v9}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object; - - move-result-object v6 - - invoke-static {v13, v6}, Lcom/vtosters/lite/utils/Utils;->a(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList; - - move-result-object v6 - - move-object v13, v6 - - goto :goto_12 - - .line 156 - :cond_2f - invoke-virtual {v4, v9}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object; - - move-result-object v6 - - invoke-static {v14, v6}, Lcom/vtosters/lite/utils/Utils;->a(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList; - - move-result-object v6 - - move-object v14, v6 - - goto :goto_12 - - .line 157 - :cond_30 - invoke-virtual {v4, v9}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object; - - move-result-object v6 - - invoke-static {v15, v6}, Lcom/vtosters/lite/utils/Utils;->a(Ljava/util/ArrayList;Ljava/lang/Object;)Ljava/util/ArrayList; - - move-result-object v6 - - move-object v15, v6 - - :goto_12 - add-int/lit8 v10, v10, 0x1 - - const/4 v8, 0x1 - - const/4 v9, 0x2 - - goto/16 :goto_f - - .line 158 - :cond_31 - sget-object v3, Lcom/vk/dto/user/UserProfile;->CREATOR:Lcom/vk/core/serialize/Serializer$c; - - invoke-static {v11, v3}, Lcom/vtosters/lite/utils/Utils;->a(Ljava/util/ArrayList;Landroid/os/Parcelable$Creator;)[Ljava/lang/Object; - - move-result-object v3 - - check-cast v3, [Lcom/vk/dto/user/UserProfile; - - iput-object v3, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->A:[Lcom/vk/dto/user/UserProfile; - - .line 159 - sget-object v3, Lcom/vk/dto/user/UserProfile;->CREATOR:Lcom/vk/core/serialize/Serializer$c; - - invoke-static {v12, v3}, Lcom/vtosters/lite/utils/Utils;->a(Ljava/util/ArrayList;Landroid/os/Parcelable$Creator;)[Ljava/lang/Object; - - move-result-object v3 - - check-cast v3, [Lcom/vk/dto/user/UserProfile; - - iput-object v3, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->B:[Lcom/vk/dto/user/UserProfile; - - .line 160 - sget-object v3, Lcom/vk/dto/user/UserProfile;->CREATOR:Lcom/vk/core/serialize/Serializer$c; - - invoke-static {v13, v3}, Lcom/vtosters/lite/utils/Utils;->a(Ljava/util/ArrayList;Landroid/os/Parcelable$Creator;)[Ljava/lang/Object; - - move-result-object v3 - - check-cast v3, [Lcom/vk/dto/user/UserProfile; - - iput-object v3, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->C:[Lcom/vk/dto/user/UserProfile; - - .line 161 - sget-object v3, Lcom/vk/dto/user/UserProfile;->CREATOR:Lcom/vk/core/serialize/Serializer$c; - - invoke-static {v14, v3}, Lcom/vtosters/lite/utils/Utils;->a(Ljava/util/ArrayList;Landroid/os/Parcelable$Creator;)[Ljava/lang/Object; - - move-result-object v3 - - check-cast v3, [Lcom/vk/dto/user/UserProfile; - - iput-object v3, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->D:[Lcom/vk/dto/user/UserProfile; - - .line 162 - sget-object v3, Lcom/vk/dto/user/UserProfile;->CREATOR:Lcom/vk/core/serialize/Serializer$c; - - invoke-static {v15, v3}, Lcom/vtosters/lite/utils/Utils;->a(Ljava/util/ArrayList;Landroid/os/Parcelable$Creator;)[Ljava/lang/Object; - - move-result-object v3 - - check-cast v3, [Lcom/vk/dto/user/UserProfile; - - iput-object v3, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->E:[Lcom/vk/dto/user/UserProfile; - - :cond_32 - const-string v3, "owner_state" - - .line 163 - invoke-virtual {v1, v3}, Lorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v3 - - if-eqz v3, :cond_33 - - .line 164 - sget-object v4, Lcom/vk/dto/user/deactivation/UserDeactivation;->CREATOR:Lcom/vk/dto/user/deactivation/UserDeactivation$a; - - invoke-virtual {v4, v3}, Lcom/vk/dto/user/deactivation/UserDeactivation$a;->a(Lorg/json/JSONObject;)Lcom/vk/dto/user/deactivation/UserDeactivation; - - move-result-object v3 - - iput-object v3, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->q:Lcom/vk/dto/user/deactivation/Deactivation; - - :cond_33 - const-string v3, "gifts" - - .line 165 - invoke-virtual {v1, v3}, Lorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v3 - - if-eqz v3, :cond_34 - - .line 166 - new-instance v4, Lcom/vk/dto/common/data/VKList; - - sget-object v6, Lcom/vk/dto/gift/GiftItem;->C:Lcom/vk/dto/common/data/JsonParser; - - invoke-direct {v4, v3, v6}, Lcom/vk/dto/common/data/VKList;->(Lorg/json/JSONObject;Lcom/vk/dto/common/data/JsonParser;)V - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->y1:Lcom/vk/dto/common/data/VKList; - - :cond_34 - const-string v3, "friends" - - .line 167 - invoke-virtual {v1, v3}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; - - move-result-object v3 - - if-eqz v3, :cond_35 - - .line 168 - new-instance v4, Ljava/util/ArrayList; - - invoke-direct {v4}, Ljava/util/ArrayList;->()V - - iput-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->H:Ljava/util/ArrayList; - - const/4 v4, 0x0 - - .line 169 - :goto_13 - invoke-virtual {v3}, Lorg/json/JSONArray;->length()I - - move-result v6 - - if-ge v4, v6, :cond_35 - - .line 170 - iget-object v6, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->H:Ljava/util/ArrayList; - - new-instance v7, Lcom/vk/dto/user/UserProfile; - - invoke-virtual {v3, v4}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; - - move-result-object v8 - - invoke-direct {v7, v8}, Lcom/vk/dto/user/UserProfile;->(Lorg/json/JSONObject;)V - - invoke-virtual {v6, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z - - add-int/lit8 v4, v4, 0x1 - - goto :goto_13 - - :cond_35 - const-string v3, "career" - - .line 171 - invoke-virtual {v1, v3}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v3 - - if-eqz v3, :cond_38 - - .line 172 - new-instance v3, Ljava/util/ArrayList; - - invoke-direct {v3}, Ljava/util/ArrayList;->()V - - iput-object v3, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->I:Ljava/util/ArrayList; - - const-string v3, "career" - - .line 173 - invoke-virtual {v1, v3}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; - - move-result-object v3 - - const/4 v4, 0x0 - - .line 174 - :goto_14 - invoke-virtual {v3}, Lorg/json/JSONArray;->length()I - - move-result v6 - - if-ge v4, v6, :cond_38 - - .line 175 - invoke-virtual {v3, v4}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject; - - move-result-object v6 - - .line 176 - new-instance v7, Lcom/vtosters/lite/api/ExtendedUserProfile$e; - - invoke-direct {v7}, Lcom/vtosters/lite/api/ExtendedUserProfile$e;->()V - - const-string v8, "group" - - .line 177 - invoke-virtual {v6, v8}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v8 - - if-eqz v8, :cond_36 - - .line 178 - new-instance v8, Lcom/vk/dto/group/Group; - - const-string v9, "group" - - invoke-virtual {v6, v9}, Lorg/json/JSONObject;->getJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v9 - - invoke-direct {v8, v9}, Lcom/vk/dto/group/Group;->(Lorg/json/JSONObject;)V - - iput-object v8, v7, Lcom/vtosters/lite/api/ExtendedUserProfile$e;->a:Lcom/vk/dto/group/Group; - - goto :goto_15 - - :cond_36 - const-string v8, "company" - - .line 179 - invoke-virtual {v6, v8}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v8 - - iput-object v8, v7, Lcom/vtosters/lite/api/ExtendedUserProfile$e;->c:Ljava/lang/String; - - :goto_15 - const-string v8, "from" - - .line 180 - invoke-virtual {v6, v8}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v8 - - iput v8, v7, Lcom/vtosters/lite/api/ExtendedUserProfile$e;->e:I - - const-string v8, "until" - - .line 181 - invoke-virtual {v6, v8}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I - - move-result v8 - - iput v8, v7, Lcom/vtosters/lite/api/ExtendedUserProfile$e;->f:I - - const-string v8, "position" - - .line 182 - invoke-virtual {v6, v8}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String; - - move-result-object v8 - - iput-object v8, v7, Lcom/vtosters/lite/api/ExtendedUserProfile$e;->d:Ljava/lang/String; - - const-string v8, "city_id" - - .line 183 - invoke-virtual {v6, v8}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v8 - - if-eqz v8, :cond_37 - - const-string v8, "city_id" - - .line 184 - invoke-virtual {v6, v8}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I - - move-result v6 - - invoke-virtual {v2, v6}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object; - - move-result-object v6 - - check-cast v6, Ljava/lang/String; - - iput-object v6, v7, Lcom/vtosters/lite/api/ExtendedUserProfile$e;->b:Ljava/lang/String; - - .line 185 - :cond_37 - iget-object v6, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->I:Ljava/util/ArrayList; - - invoke-virtual {v6, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z - - add-int/lit8 v4, v4, 0x1 - - goto :goto_14 - - :cond_38 - const-string v2, "display_fields" - - .line 186 - invoke-virtual {v1, v2}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z - - move-result v2 - - if-eqz v2, :cond_39 - - const-string v2, "display_fields" - - .line 187 - invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getJSONArray(Ljava/lang/String;)Lorg/json/JSONArray; - - move-result-object v2 - - .line 188 - new-instance v3, Ljava/util/ArrayList; - - invoke-direct {v3}, Ljava/util/ArrayList;->()V - - iput-object v3, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->j1:Ljava/util/ArrayList; - - const/4 v3, 0x0 - - .line 189 - :goto_16 - invoke-virtual {v2}, Lorg/json/JSONArray;->length()I - - move-result v4 - - if-ge v3, v4, :cond_39 - - .line 190 - iget-object v4, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->j1:Ljava/util/ArrayList; - - invoke-virtual {v2, v3}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String; - - move-result-object v6 - - invoke-virtual {v4, v6}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z - - add-int/lit8 v3, v3, 0x1 - - goto :goto_16 - - :cond_39 - const-string v2, "all_photos_are_hidden" - - .line 191 - invoke-virtual {v1, v2}, Lorg/json/JSONObject;->getBoolean(Ljava/lang/String;)Z - - move-result v2 - - iput-boolean v2, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->u1:Z - - const-string v2, "friends_recommendations" - - .line 192 - invoke-virtual {v1, v2}, Lorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject; - - move-result-object v1 - - if-eqz v1, :cond_3a - - .line 193 - invoke-static {v1}, Lcom/vk/dto/newsfeed/entries/ProfilesRecommendations;->b(Lorg/json/JSONObject;)Lcom/vk/dto/newsfeed/entries/ProfilesRecommendations; - - move-result-object v1 - - iput-object v1, v0, Lcom/vtosters/lite/api/ExtendedUserProfile;->J:Lcom/vk/dto/newsfeed/entries/ProfilesRecommendations; - - :cond_3a - return-void - - :sswitch_data_0 - .sparse-switch - -0x3b54f756 -> :sswitch_4 - -0xffe2f4a -> :sswitch_3 - 0x5a3f51c -> :sswitch_2 - 0x178dfb90 -> :sswitch_1 - 0x7c3126c2 -> :sswitch_0 - .end sparse-switch -.end method - -.method protected o()Lcom/vtosters/lite/api/ExtendedUserProfile; - .locals 1 - - .line 1 - new-instance v0, Lcom/vtosters/lite/api/ExtendedUserProfile; - - invoke-direct {v0}, Lcom/vtosters/lite/api/ExtendedUserProfile;->()V - - return-object v0 -.end method From adc06426ac2eb9fe6e7c318b9d8901d6c33095dd Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Wed, 13 Dec 2023 20:44:17 +0300 Subject: [PATCH 2/4] fixed issue with country and city in profiles --- .../lite/api/execute/GetFullUserProfile.java | 111 ++++++++++++++++-- 1 file changed, 99 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java b/app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java index 5bc604afd..912ec28d6 100644 --- a/app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java +++ b/app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java @@ -3,30 +3,42 @@ import android.annotation.SuppressLint; import android.graphics.RectF; import android.text.TextUtils; +import android.util.Log; +import android.util.Pair; import android.util.SparseArray; import com.vk.api.base.utils.ApiUtils; +import com.vk.core.network.Network; import com.vk.core.util.AppContextHolder; import com.vk.core.util.Screen; import com.vk.dto.common.data.VKList; import com.vk.dto.gift.GiftItem; import com.vk.dto.group.Group; -import com.vk.dto.newsfeed.entries.ProfilesRecommendations; import com.vk.dto.photo.Photo; import com.vk.dto.user.UserProfile; import com.vk.dto.user.deactivation.UserDeactivation; import com.vtosters.lite.api.ExtendedUserProfile; import com.vtosters.lite.auth.VKAccountManager; import com.vtosters.lite.utils.Utils; +import okhttp3.Headers; +import okhttp3.OkHttpClient; +import okhttp3.Request; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import ru.vtosters.hooks.OnlineFormatterHook; import ru.vtosters.hooks.RenameHook; import ru.vtosters.hooks.ssfs.ProfileHook; +import ru.vtosters.lite.di.singleton.VtOkHttpClient; +import ru.vtosters.lite.proxy.ProxyUtils; +import ru.vtosters.lite.utils.AccountManagerUtils; +import java.io.IOException; import java.util.ArrayList; +import java.util.List; public class GetFullUserProfile extends GetFullProfile { + private static final OkHttpClient mClient = VtOkHttpClient.getInstance(); + public GetFullUserProfile(int i, String str, String str2) { super(i, "execute.getFullProfileNewNew"); i = i == 0 ? VKAccountManager.d().D0() : i; @@ -44,6 +56,45 @@ public GetFullUserProfile(int i, String str, String str2) { c("access_keys", str); } + public JSONArray getCitiesNames(String ids) { + var request = new Request.a() + .b("https://" + ProxyUtils.getApi() + "/method/" + "database.getCitiesById" + + "?v=5.119" + + "&city_ids=" + + ids + + "&access_token=" + + AccountManagerUtils.getUserToken()) + .a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")).a(); + + try { + return new JSONObject(mClient.a(request).execute().a().g()).getJSONArray("response"); + } catch (JSONException | IOException e) { + Log.d(this.getClass().getSimpleName(), e.toString()); + } + + return new JSONArray(); + } + + public JSONArray getCountriesNames(String ids) { + var request = new Request.a() + .b("https://" + ProxyUtils.getApi() + "/method/" + "database.getCountriesById" + + "?v=5.119" + + "&country_ids=" + + ids + + "&access_token=" + + AccountManagerUtils.getUserToken()) + .a(Headers.a("User-Agent", Network.l.c().a(), "Content-Type", "application/x-www-form-urlencoded; charset=utf-8")).a(); + + try { + return new JSONObject(mClient.a(request).execute().a().g()).getJSONArray("response"); + } catch (JSONException | IOException e) { + Log.d(this.getClass().getSimpleName(), e.toString()); + } + + return new JSONArray(); + } + + protected ExtendedUserProfile o() { return new ExtendedUserProfile(); } @@ -87,11 +138,52 @@ public void a(ExtendedUserProfile extendedUserProfile, JSONObject jSONObject) th extendedUserProfile.l = new RectF((float) d10, (float) d11, (float) (d10 + (((d6 - d5) / 100.0d) * d8)), (float) (d11 + (((jSONObject2.getDouble("y2") - d7) / 100.0d) * d9))); } - SparseArray sparseArray = new SparseArray(); - JSONArray jSONArray = onlineHook.getJSONArray("cities"); - for (int i2 = 0; i2 < jSONArray.length(); i2++) { - JSONObject jSONObject4 = jSONArray.getJSONObject(i2); - sparseArray.put(jSONObject4.getInt("id"), jSONObject4.getString("title")); + SparseArray sparseArray = new SparseArray<>(); + SparseArray sparseArray2 = new SparseArray<>(); + + if (onlineHook.has("cities") && onlineHook.getJSONArray("cities").length() > 0) { + List cityNames = new ArrayList<>(); + + JSONArray cities = onlineHook.getJSONArray("cities"); + + for (int i21 = 0; i21 < cities.length(); i21++) { + cityNames.add(cities.getString(i21)); + } + + JSONArray citiesNamesJSONArray = getCitiesNames(String.join(", ", cityNames)); + + Log.d(this.getClass().getSimpleName(), citiesNamesJSONArray.toString()); + + for (int i22 = 0; i22 < citiesNamesJSONArray.length(); i22++) { + JSONObject cityJSONObject = citiesNamesJSONArray.getJSONObject(i22); + int cityid = cityJSONObject.getInt("id"); + String cityTitle = cityJSONObject.getString("title"); + sparseArray.put(cityid, cityTitle); + } + + extendedUserProfile.i0 = sparseArray.get(cities.getInt(0)); + } + + if (onlineHook.has("countries") && onlineHook.getJSONArray("countries").length() > 0) { + JSONArray countries = onlineHook.getJSONArray("countries"); + List countryList = new ArrayList<>(); + + for (int i23 = 0; i23 < countries.length(); i23++) { + countryList.add(countries.getString(i23)); + } + + JSONArray countryInfo = getCountriesNames(String.join(", ", countryList)); + + Log.d(this.getClass().getSimpleName(), countryInfo.toString()); + + for (int i24 = 0; i24 < countryInfo.length(); i24++) { + JSONObject country = countryInfo.getJSONObject(i24); + int countryid = country.getInt("id"); + String countryTitle = country.getString("title"); + sparseArray2.put(countryid, countryTitle); + } + + extendedUserProfile.j0 = sparseArray2.get(countries.getInt(0)); } extendedUserProfile.U = onlineHook.getInt("can_write_private_message") == 1; @@ -134,11 +226,6 @@ public void a(ExtendedUserProfile extendedUserProfile, JSONObject jSONObject) th String optString = onlineHook.optString("last_name_acc", extendedUserProfile.a.e); extendedUserProfile.i = optString; - - if (onlineHook.has("city") && onlineHook.has("country")) { - extendedUserProfile.i0 = onlineHook.getJSONObject("city").getString("title"); - extendedUserProfile.j0 = onlineHook.getJSONObject("country").getString("title"); - } if (onlineHook.has("mobile_phone") && !onlineHook.getString("mobile_phone").isEmpty()) { extendedUserProfile.l0 = onlineHook.getString("mobile_phone"); @@ -178,7 +265,7 @@ public void a(ExtendedUserProfile extendedUserProfile, JSONObject jSONObject) th for (int i4 = 0; i4 < optJSONArray.length(); i4++) { ExtendedUserProfile.f fVar = new ExtendedUserProfile.f(); JSONObject jSONObject6 = optJSONArray.getJSONObject(i4); - fVar.c = (String) sparseArray.get(jSONObject6.optInt(optString)); + fVar.c = sparseArray.get(jSONObject6.optInt(optString)); fVar.a = jSONObject6.optString("name", "???"); fVar.g = jSONObject6.optInt("year_from"); fVar.f = jSONObject6.optInt("year_to"); From 886ddd60c1412e0d77f1ba8f7a215158df15436e Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Wed, 13 Dec 2023 21:00:02 +0300 Subject: [PATCH 3/4] fix community --- .../com/vtosters/lite/api/execute/GetFullCommunity.smali | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali b/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali index b69f9cf53..e164d35c3 100644 --- a/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali +++ b/smali/smali_classes4/com/vtosters/lite/api/execute/GetFullCommunity.smali @@ -35,7 +35,7 @@ const-string v0, "func_v" - const/16 v1, 0x1b + const/16 v1, 0x25 .line 3 invoke-virtual {p0, v0, v1}, Lcom/vk/api/base/ApiRequest;->b(Ljava/lang/String;I)Lcom/vk/api/base/ApiRequest; From 45f7cc44841017d439b1ffab1659d5692b06a5a5 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Wed, 13 Dec 2023 21:23:31 +0300 Subject: [PATCH 4/4] fixed friends recomms issue --- .../lite/api/execute/GetFullUserProfile.java | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java b/app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java index 912ec28d6..a99ef2ba5 100644 --- a/app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java +++ b/app/src/main/java/com/vtosters/lite/api/execute/GetFullUserProfile.java @@ -4,7 +4,6 @@ import android.graphics.RectF; import android.text.TextUtils; import android.util.Log; -import android.util.Pair; import android.util.SparseArray; import com.vk.api.base.utils.ApiUtils; import com.vk.core.network.Network; @@ -13,6 +12,7 @@ import com.vk.dto.common.data.VKList; import com.vk.dto.gift.GiftItem; import com.vk.dto.group.Group; +import com.vk.dto.newsfeed.entries.ProfilesRecommendations; import com.vk.dto.photo.Photo; import com.vk.dto.user.UserProfile; import com.vk.dto.user.deactivation.UserDeactivation; @@ -33,6 +33,7 @@ import ru.vtosters.lite.utils.AccountManagerUtils; import java.io.IOException; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; @@ -482,10 +483,20 @@ public void a(ExtendedUserProfile extendedUserProfile, JSONObject jSONObject) th } extendedUserProfile.u1 = onlineHook.getBoolean("all_photos_are_hidden"); -// JSONObject optJSONObject4 = onlineHook.optJSONObject("friends_recommendations"); -// if (optJSONObject4 != null) { -// extendedUserProfile.J = ProfilesRecommendations.b(optJSONObject4); -// } + JSONObject optJSONObject4 = onlineHook.optJSONObject("friends_recommendations"); + if (optJSONObject4 != null) { + extendedUserProfile.J = getFriendsRecomms(optJSONObject4); + } + } + + public ProfilesRecommendations getFriendsRecomms(JSONObject json) { + try { + Method method = ProfilesRecommendations.class.getDeclaredMethod("b", JSONObject.class); + return (ProfilesRecommendations) method.invoke(null, json); + } catch (Exception e) { + Log.d(this.getClass().getSimpleName(), e.toString()); + return null; + } } public GetFullProfile.a a(JSONObject jSONObject) {