[Android Apps and Games] Tsjoklat:
Thanks for this. Could you perhaps post a diff showing the necessary changes for this mod? Could you also give us a brief description of what these changes do?

Regards

Edit: I have examined the code changes from Chelpus and it appears that this patch is making the market "spoof" another user account. I would make sure this is safe before using it. Maybe someone else that understands this code better can explain what its doing.

diff -ru com.android.vending-4.1.6/smali/com/google/android/finsky/activities/DetailsSummaryAppsViewBinder.smali GoogleMarket.by.Chelpus.TrueLicenseMod.4.1.6/smali/com/google/android/finsky/activities/DetailsSummaryAppsViewBinder.smali
--- com.android.vending-4.1.6/smali/com/google/android/finsky/activities/DetailsSummaryAppsViewBinder.smali	2013-05-18 23:54:46.720276176 +0200
+++ GoogleMarket.by.Chelpus.TrueLicenseMod.4.1.6/smali/com/google/android/finsky/activities/DetailsSummaryAppsViewBinder.smali	2013-05-18 23:55:02.316276164 +0200
@@ -218,6 +218,8 @@
.line 442
const-string v3, "try_uninstall"

+ const/4 p3, 0x0
+
invoke-virtual {v1, v3, p3}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V

.line 443
diff -ru com.android.vending-4.1.6/smali/com/google/android/finsky/services/LicensingService$1$2.smali GoogleMarket.by.Chelpus.TrueLicenseMod.4.1.6/smali/com/google/android/finsky/services/LicensingService$1$2.smali
--- com.android.vending-4.1.6/smali/com/google/android/finsky/services/LicensingService$1$2.smali	2013-05-18 23:54:47.792276175 +0200
+++ GoogleMarket.by.Chelpus.TrueLicenseMod.4.1.6/smali/com/google/android/finsky/services/LicensingService$1$2.smali	2013-05-18 23:55:03.788276163 +0200
@@ -40,22 +40,240 @@
return-void
.end method

+.method private static constractSignedData(Ljava/lang/String;IJ)Ljava/lang/String;
+ .locals 16
+ .parameter "packageName"
+ .parameter "version"
+ .parameter "nonce"
+
+ .prologue
+ .line 143
+ :try_start_0
+ const-string v14, "31536000000"
+
+ invoke-static {v14}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long;
+
+ move-result-object v14
+
+ invoke-virtual {v14}, Ljava/lang/Long;->longValue()J
+
+ move-result-wide v2
+
+ .line 144
+ .local v2, MILLIS_PER_GOD:J
+ const-string v14, "31622400000"
+
+ invoke-static {v14}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long;
+
+ move-result-object v14
+
+ invoke-virtual {v14}, Ljava/lang/Long;->longValue()J
+
+ move-result-wide v4
+
+ .line 145
+ .local v4, MILLIS_PER_GOD_den:J
+ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
+
+ move-result-wide v14
+
+ add-long v10, v14, v2
+
+ .line 146
+ .local v10, vt:J
+ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
+
+ move-result-wide v14
+
+ add-long v12, v14, v4
+
+ .line 147
+ .local v12, vtt:J
+ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
+
+ move-result-wide v14
+
+ add-long/2addr v14, v2
+
+ add-long v7, v14, v2
+
+ .line 149
+ .local v7, gt:J
+ new-instance v14, Ljava/lang/StringBuilder;
+
+ const-string v15, "0|"
+
+ invoke-direct {v14, v15}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
+
+ move-wide/from16 v0, p2
+
+ invoke-virtual {v14, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ const-string v15, "|"
+
+ invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ move-object/from16 v0, p0
+
+ invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ const-string v15, "|"
+
+ invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ move/from16 v0, p1
+
+ invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ const-string v15, "|"
+
+ invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ const-string v15, "ANlOHQOShF3uJUwv3Ql+fbsgEG9FD35Hag=="
+
+ invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ const-string v15, "|"
+
+ invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ invoke-static {v10, v11}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
+
+ move-result-object v15
+
+ invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ const-string v15, ":GR=10&VT="
+
+ invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ invoke-static {v12, v13}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
+
+ move-result-object v15
+
+ invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ const-string v15, "&"
+
+ invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ const-string v15, "GT="
+
+ invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ invoke-static {v7, v8}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
+
+ move-result-object v15
+
+ invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v14
+
+ invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v9
+
+ .line 151
+ .local v9, result:Ljava/lang/String;
+ new-instance v14, Ljava/io/File;
+
+ const-string v15, "/mnt/sdcard/debug.on"
+
+ invoke-direct {v14, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
+
+ invoke-virtual {v14}, Ljava/io/File;->exists()Z
+
+ move-result v14
+
+ if-eqz v14, :cond_0
+
+ sget-object v14, Ljava/lang/System;->out:Ljava/io/PrintStream;
+
+ invoke-virtual {v14, v9}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
+ :try_end_0
+ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
+
+ .line 155
+ .end local v2 #MILLIS_PER_GOD:J
+ .end local v4 #MILLIS_PER_GOD_den:J
+ .end local v7 #gt:J
+ .end local v9 #result:Ljava/lang/String;
+ .end local v10 #vt:J
+ .end local v12 #vtt:J
+ :cond_0
+ :goto_0
+ return-object v9
+
+ .line 153
+ :catch_0
+ move-exception v6
+
+ .line 154
+ .local v6, e:Ljava/lang/Exception;
+ sget-object v14, Ljava/lang/System;->out:Ljava/io/PrintStream;
+
+ const-string v15, "Exception: in modded GooglePlay offline!"
+
+ invoke-virtual {v14, v15}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
+
+ .line 155
+ const/4 v9, 0x0
+
+ goto :goto_0
+.end method
+

# virtual methods
.method public onErrorResponse(Lcom/android/volley/VolleyError;)V
- .locals 3
+ .locals 4
.parameter "error"

.prologue
- const/4 v2, 0x0
+ sget-object v0, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto;->packageNameR_:Ljava/lang/String;
+
+ sget v1, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto;->versionCodeR_:I
+
+ sget-wide v2, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto;->nonceR_:J
+
+ invoke-static {v0, v1, v2, v3}, Lcom/google/android/finsky/services/LicensingService$1$2;->constractSignedData(Ljava/lang/String;IJ)Ljava/lang/String;
+
+ move-result-object v2
+
+ const/4 v1, 0x0
+
+ const-string v3, "hL9GqWwZL35OoLxZQN1EYmyylu3zmf8umnXW4P0EPqGjV0QcRYjD+NtiqoDEmxnnocvrqA7Z/0v+i0O4cwgOsD7/Tg3B1QI/ukA7ZUcibvFQUNoq7KjUWSg1Qn5MauaFFhAhZbuP840wn****xVDUkVJ6GDymDXLqhFG1LbZmNoPl6QjkschEBLVth1YtBxE4GnbVVI8Cq5LY7/F0N8d6EGLIISD6ekoD4lkhxq3nORsibX7kjmotyhLpO7THNMXvOeXeKhVp6dNSblOHp9tcL6l/NJY7sHPw/DBSxteW2hZ9y7yyaMxMAz+nTIN/V8gJXzeaRlmIXntJpQDEMz5pQ=="

.line 140
iget-object v0, p0, Lcom/google/android/finsky/services/LicensingService$1$2;->val$listener:Lcom/android/vending/licensing/ILicenseResultListener;

- const/16 v1, 0x101
-
#calls: Lcom/google/android/finsky/services/LicensingService;->notifyListener(Lcom/android/vending/licensing/ILicenseResultListener;ILjava/lang/String;Ljava/lang/String;)V
- invoke-static {v0, v1, v2, v2}, Lcom/google/android/finsky/services/LicensingService;->access$000(Lcom/android/vending/licensing/ILicenseResultListener;ILjava/lang/String;Ljava/lang/String;)V
+ invoke-static {v0, v1, v2, v3}, Lcom/google/android/finsky/services/LicensingService;->access$000(Lcom/android/vending/licensing/ILicenseResultListener;ILjava/lang/String;Ljava/lang/String;)V

.line 141
return-void
diff -ru com.android.vending-4.1.6/smali/com/google/android/finsky/services/LicensingService$1.smali GoogleMarket.by.Chelpus.TrueLicenseMod.4.1.6/smali/com/google/android/finsky/services/LicensingService$1.smali
--- com.android.vending-4.1.6/smali/com/google/android/finsky/services/LicensingService$1.smali	2013-05-18 23:54:47.792276175 +0200
+++ GoogleMarket.by.Chelpus.TrueLicenseMod.4.1.6/smali/com/google/android/finsky/services/LicensingService$1.smali	2013-05-18 23:55:03.788276163 +0200
@@ -50,12 +50,18 @@
.local v0, licenseRequest:Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseRequestProto;
invoke-virtual {v0, p3}, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseRequestProto;->setPackageName(Ljava/lang/String;)Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseRequestProto;

+ sput-object p3, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto;->packageNameR_:Ljava/lang/String;
+
.line 124
invoke-virtual {v0, p5}, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseRequestProto;->setVersionCode(I)Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseRequestProto;

+ sput p5, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto;->versionCodeR_:I
+
.line 125
invoke-virtual {v0, p1, p2}, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseRequestProto;->setNonce(J)Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseRequestProto;

+ sput-wide p1, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto;->nonceR_:J
+
.line 127
invoke-static {}, Lcom/google/android/finsky/FinskyApp;->get()Lcom/google/android/finsky/FinskyApp;

diff -ru com.android.vending-4.1.6/smali/com/google/android/finsky/utils/SelfUpdateScheduler.smali GoogleMarket.by.Chelpus.TrueLicenseMod.4.1.6/smali/com/google/android/finsky/utils/SelfUpdateScheduler.smali
--- com.android.vending-4.1.6/smali/com/google/android/finsky/utils/SelfUpdateScheduler.smali	2013-05-18 23:54:47.848276175 +0200
+++ GoogleMarket.by.Chelpus.TrueLicenseMod.4.1.6/smali/com/google/android/finsky/utils/SelfUpdateScheduler.smali	2013-05-18 23:55:03.840276164 +0200
@@ -196,8 +196,6 @@
.line 85
iget-boolean v0, p0, Lcom/google/android/finsky/utils/SelfUpdateScheduler;->mUpdateInProgress:Z

- if-eqz v0, :cond_0
-
.line 86
const-string v0, "Skipping DFE self-update check as there is an update already queued."

@@ -210,7 +208,6 @@
return-void

.line 92
- :cond_0
const/4 v13, -0x1

.line 93
@@ -219,7 +216,7 @@

move-result v0

- if-eqz v0, :cond_1
+ if-eqz v0, :cond_0

.line 94
invoke-virtual {p1}, Lcom/google/android/finsky/protos/Toc$TocResponse;->getSelfUpdateConfig()Lcom/google/android/finsky/protos/Toc$SelfUpdateConfig;
@@ -232,7 +229,7 @@

move-result v0

- if-eqz v0, :cond_1
+ if-eqz v0, :cond_0

.line 96
invoke-virtual {v11}, Lcom/google/android/finsky/protos/Toc$SelfUpdateConfig;->getLatestClientVersionCode()I
@@ -241,10 +238,10 @@

.line 99
.end local v11 #config:Lcom/google/android/finsky/protos/Toc$SelfUpdateConfig;
- :cond_1
+ :cond_0
iget v0, p0, Lcom/google/android/finsky/utils/SelfUpdateScheduler;->mMarketVersion:I

- if-lt v0, v13, :cond_2
+ if-lt v0, v13, :cond_1

.line 100
const-string v0, "Skipping DFE self-update. Local Version [%d] >= Server Version [%d]"
@@ -270,7 +267,7 @@
goto :goto_0

.line 105
- :cond_2
+ :cond_1
const-string v0, "Starting DFE self-update from local version [%d] to server version [%d]"

new-array v4, v4, [Ljava/lang/Object;
diff -ru com.android.vending-4.1.6/smali/com/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto.smali GoogleMarket.by.Chelpus.TrueLicenseMod.4.1.6/smali/com/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto.smali
--- com.android.vending-4.1.6/smali/com/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto.smali	2013-05-18 23:54:48.084276175 +0200
+++ GoogleMarket.by.Chelpus.TrueLicenseMod.4.1.6/smali/com/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto.smali	2013-05-18 23:55:04.096276164 +0200
@@ -14,6 +14,14 @@
.end annotation

+# static fields
+.field public static nonceR_:J
+
+.field public static packageNameR_:Ljava/lang/String;
+
+.field public static versionCodeR_:I
+
+
# instance fields
.field private cachedSize:I

@@ -62,6 +70,346 @@
return-void
.end method

+.method private static reworkRequestCode(Ljava/lang/String;)Ljava/lang/String;
+ .locals 20
+ .parameter "signedData"
+
+ .prologue
+ .line 99
+ :try_start_0
+ const-string v17, "\\|"
+
+ move-object/from16 v0, p0
+
+ move-object/from16 v1, v17
+
+ invoke-virtual {v0, v1}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
+
+ move-result-object v6
+
+ .line 100
+ .local v6, array:[Ljava/lang/String;
+ const-string v11, ""
+
+ .line 101
+ .local v11, result:Ljava/lang/String;
+ const/4 v12, 0x0
+
+ .line 102
+ .local v12, rework:Z
+ const/4 v10, 0x0
+
+ .local v10, i:I
+ :goto_0
+ array-length v0, v6
+
+ move/from16 v17, v0
+
+ move/from16 v0, v17
+
+ if-lt v10, v0, :cond_1
+
+ .line 132
+ new-instance v17, Ljava/io/File;
+
+ const-string v18, "/mnt/sdcard/debug.on"
+
+ invoke-direct/range {v17 .. v18}, Ljava/io/File;-><init>(Ljava/lang/String;)V
+
+ invoke-virtual/range {v17 .. v17}, Ljava/io/File;->exists()Z
+
+ move-result v17
+
+ if-eqz v17, :cond_0
+
+ sget-object v17, Ljava/lang/System;->out:Ljava/io/PrintStream;
+
+ move-object/from16 v0, v17
+
+ invoke-virtual {v0, v11}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
+
+ .line 136
+ .end local v6 #array:[Ljava/lang/String;
+ .end local v10 #i:I
+ .end local v11 #result:Ljava/lang/String;
+ .end local v12 #rework:Z
+ :cond_0
+ :goto_1
+ return-object v11
+
+ .line 103
+ .restart local v6 #array:[Ljava/lang/String;
+ .restart local v10 #i:I
+ .restart local v11 #result:Ljava/lang/String;
+ .restart local v12 #rework:Z
+ :cond_1
+ if-nez v10, :cond_2
+
+ .line 104
+ aget-object v17, v6, v10
+
+ const-string v18, "1"
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
+
+ move-result v17
+
+ if-eqz v17, :cond_6
+
+ .line 105
+ const-string v11, "0"
+
+ .line 106
+ const/4 v12, 0x1
+
+ .line 109
+ :cond_2
+ :goto_2
+ const/16 v17, 0x5
+
+ move/from16 v0, v17
+
+ if-ne v10, v0, :cond_3
+
+ if-eqz v12, :cond_3
+
+ .line 110
+ const-string v17, "31536000000"
+
+ invoke-static/range {v17 .. v17}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long;
+
+ move-result-object v17
+
+ invoke-virtual/range {v17 .. v17}, Ljava/lang/Long;->longValue()J
+
+ move-result-wide v2
+
+ .line 111
+ .local v2, MILLIS_PER_GOD:J
+ const-string v17, "31622400000"
+
+ invoke-static/range {v17 .. v17}, Ljava/lang/Long;->valueOf(Ljava/lang/String;)Ljava/lang/Long;
+
+ move-result-object v17
+
+ invoke-virtual/range {v17 .. v17}, Ljava/lang/Long;->longValue()J
+
+ move-result-wide v4
+
+ .line 112
+ .local v4, MILLIS_PER_GOD_den:J
+ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
+
+ move-result-wide v17
+
+ add-long v13, v17, v2
+
+ .line 113
+ .local v13, vt:J
+ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
+
+ move-result-wide v17
+
+ add-long v15, v17, v4
+
+ .line 114
+ .local v15, vtt:J
+ invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
+
+ move-result-wide v17
+
+ add-long v17, v17, v2
+
+ add-long v8, v17, v2
+
+ .line 123
+ .local v8, gt:J
+ new-instance v17, Ljava/lang/StringBuilder;
+
+ invoke-static {v11}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v18
+
+ invoke-direct/range {v17 .. v18}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
+
+ const-string v18, "|"
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v17
+
+ invoke-static {v13, v14}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
+
+ move-result-object v18
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v17
+
+ const-string v18, ":GR=10&VT="
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v17
+
+ invoke-static/range {v15 .. v16}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
+
+ move-result-object v18
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v17
+
+ const-string v18, "&"
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v17
+
+ const-string v18, "GT="
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v17
+
+ invoke-static {v8, v9}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
+
+ move-result-object v18
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v17
+
+ invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v11
+
+ .line 126
+ .end local v2 #MILLIS_PER_GOD:J
+ .end local v4 #MILLIS_PER_GOD_den:J
+ .end local v8 #gt:J
+ .end local v13 #vt:J
+ .end local v15 #vtt:J
+ :cond_3
+ const/16 v17, 0x5
+
+ move/from16 v0, v17
+
+ if-ne v10, v0, :cond_4
+
+ if-nez v12, :cond_4
+
+ .line 127
+ new-instance v17, Ljava/lang/StringBuilder;
+
+ invoke-static {v11}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v18
+
+ invoke-direct/range {v17 .. v18}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
+
+ const-string v18, "|"
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v17
+
+ aget-object v18, v6, v10
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v17
+
+ invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v11
+
+ .line 130
+ :cond_4
+ if-eqz v10, :cond_5
+
+ const/16 v17, 0x5
+
+ move/from16 v0, v17
+
+ if-eq v10, v0, :cond_5
+
+ new-instance v17, Ljava/lang/StringBuilder;
+
+ invoke-static {v11}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
+
+ move-result-object v18
+
+ invoke-direct/range {v17 .. v18}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
+
+ const-string v18, "|"
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v17
+
+ aget-object v18, v6, v10
+
+ invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v17
+
+ invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v11
+
+ .line 102
+ :cond_5
+ add-int/lit8 v10, v10, 0x1
+
+ goto/16 :goto_0
+
+ .line 108
+ :cond_6
+ aget-object v11, v6, v10
+ :try_end_0
+ .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
+
+ goto/16 :goto_2
+
+ .line 134
+ .end local v6 #array:[Ljava/lang/String;
+ .end local v10 #i:I
+ .end local v11 #result:Ljava/lang/String;
+ .end local v12 #rework:Z
+ :catch_0
+ move-exception v7
+
+ .line 135
+ .local v7, e:Ljava/lang/Exception;
+ sget-object v17, Ljava/lang/System;->out:Ljava/io/PrintStream;
+
+ new-instance v18, Ljava/lang/StringBuilder;
+
+ const-string v19, "Exception: "
+
+ invoke-direct/range {v18 .. v19}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
+
+ move-object/from16 v0, v18
+
+ move-object/from16 v1, p0
+
+ invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
+
+ move-result-object v18
+
+ invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
+
+ move-result-object v18
+
+ invoke-virtual/range {v17 .. v18}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
+
+ move-object/from16 v11, p0
+
+ .line 136
+ goto/16 :goto_1
+.end method
+

# virtual methods
.method public getCachedSize()I
@@ -90,6 +438,14 @@
.line 15039
iget v0, p0, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto;->responseCode_:I

+ const/4 p0, 0x1
+
+ if-ne v0, p0, :cond_0
+
+ const/4 v0, 0x0
+
+ .line 33
+ :cond_0
return v0
.end method

@@ -188,6 +544,10 @@
.line 15056
iget-object v0, p0, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto;->signedData_:Ljava/lang/String;

+ invoke-static {v0}, Lcom/google/android/vending/remoting/protos/VendingProtos$CheckLicenseResponseProto;->reworkRequestCode(Ljava/lang/String;)Ljava/lang/String;
+
+ move-result-object v0
+
return-object v0
.end method