Add decompiled APK source code (JADX)

- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-02-18 14:52:23 -08:00
parent cc210a65ea
commit f9d20bb3fc
26991 changed files with 2541449 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
package com.amazon.device.iap;
import com.amazon.device.iap.model.ProductDataResponse;
import com.amazon.device.iap.model.PurchaseResponse;
import com.amazon.device.iap.model.PurchaseUpdatesResponse;
import com.amazon.device.iap.model.UserDataResponse;
/* loaded from: classes.dex */
public interface PurchasingListener {
void onProductDataResponse(ProductDataResponse productDataResponse);
void onPurchaseResponse(PurchaseResponse purchaseResponse);
void onPurchaseUpdatesResponse(PurchaseUpdatesResponse purchaseUpdatesResponse);
void onUserDataResponse(UserDataResponse userDataResponse);
}

View File

@@ -0,0 +1,45 @@
package com.amazon.device.iap;
import android.content.Context;
import com.amazon.device.iap.internal.d;
import com.amazon.device.iap.internal.e;
import com.amazon.device.iap.model.FulfillmentResult;
import com.amazon.device.iap.model.RequestId;
import java.util.Set;
/* loaded from: classes.dex */
public final class PurchasingService {
public static final boolean IS_SANDBOX_MODE = e.a();
public static final String SDK_VERSION = "2.0.61.0";
private static final String TAG = "PurchasingService";
private PurchasingService() {
StringBuilder sb = new StringBuilder();
sb.append("In-App Purchasing SDK initializing. SDK Version 2.0.61.0, IS_SANDBOX_MODE: ");
sb.append(IS_SANDBOX_MODE);
}
public static void registerListener(Context context, PurchasingListener purchasingListener) {
d.d().a(context, purchasingListener);
}
public static RequestId getUserData() {
return d.d().c();
}
public static RequestId purchase(String str) {
return d.d().a(str);
}
public static RequestId getProductData(Set<String> set) {
return d.d().a(set);
}
public static RequestId getPurchaseUpdates(boolean z) {
return d.d().a(z);
}
public static void notifyFulfillment(String str, FulfillmentResult fulfillmentResult) {
d.d().a(str, fulfillmentResult);
}
}

View File

@@ -0,0 +1,21 @@
package com.amazon.device.iap;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.amazon.device.iap.internal.d;
import com.amazon.device.iap.internal.util.e;
/* loaded from: classes.dex */
public final class ResponseReceiver extends BroadcastReceiver {
private static final String TAG = "ResponseReceiver";
@Override // android.content.BroadcastReceiver
public void onReceive(Context context, Intent intent) {
try {
d.d().a(context, intent);
} catch (Exception e) {
e.b(TAG, "Error in onReceive: " + e);
}
}
}

View File

@@ -0,0 +1,12 @@
package com.amazon.device.iap.internal;
/* loaded from: classes.dex */
public interface a {
void a(String str, String str2);
boolean a();
void b(String str, String str2);
boolean b();
}

View File

@@ -0,0 +1,30 @@
package com.amazon.device.iap.internal.a;
import android.util.Log;
/* loaded from: classes.dex */
public class a implements com.amazon.device.iap.internal.a {
@Override // com.amazon.device.iap.internal.a
public boolean a() {
return true;
}
@Override // com.amazon.device.iap.internal.a
public boolean b() {
return true;
}
@Override // com.amazon.device.iap.internal.a
public void a(String str, String str2) {
a(str2);
}
@Override // com.amazon.device.iap.internal.a
public void b(String str, String str2) {
Log.e(str, a(str2));
}
private static String a(String str) {
return "In App Purchasing SDK - Sandbox Mode: " + str;
}
}

View File

@@ -0,0 +1,9 @@
package com.amazon.device.iap.internal.a;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
/* loaded from: classes.dex */
public final class b {
static final DateFormat a = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
}

View File

@@ -0,0 +1,516 @@
package com.amazon.device.iap.internal.a;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import com.amazon.device.iap.PurchasingListener;
import com.amazon.device.iap.PurchasingService;
import com.amazon.device.iap.internal.model.ProductBuilder;
import com.amazon.device.iap.internal.model.ProductDataResponseBuilder;
import com.amazon.device.iap.internal.model.PurchaseResponseBuilder;
import com.amazon.device.iap.internal.model.PurchaseUpdatesResponseBuilder;
import com.amazon.device.iap.internal.model.ReceiptBuilder;
import com.amazon.device.iap.internal.model.UserDataBuilder;
import com.amazon.device.iap.internal.model.UserDataResponseBuilder;
import com.amazon.device.iap.internal.util.e;
import com.amazon.device.iap.model.FulfillmentResult;
import com.amazon.device.iap.model.Product;
import com.amazon.device.iap.model.ProductDataResponse;
import com.amazon.device.iap.model.ProductType;
import com.amazon.device.iap.model.PurchaseResponse;
import com.amazon.device.iap.model.PurchaseUpdatesResponse;
import com.amazon.device.iap.model.Receipt;
import com.amazon.device.iap.model.RequestId;
import com.amazon.device.iap.model.UserData;
import com.amazon.device.iap.model.UserDataResponse;
import com.applovin.sdk.AppLovinEventParameters;
import com.google.android.gms.drive.DriveFile;
import com.ironsource.cr;
import com.unity3d.ads.core.domain.HandleInvocationsFromAdViewer;
import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Currency;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class c implements com.amazon.device.iap.internal.c {
private static final String a = "c";
@Override // com.amazon.device.iap.internal.c
public void a(RequestId requestId) {
e.a(a, "sendGetUserDataRequest");
a(requestId.toString(), false, false);
}
private void a(String str, boolean z, boolean z2) {
try {
Context b = com.amazon.device.iap.internal.d.d().b();
Bundle bundle = new Bundle();
JSONObject jSONObject = new JSONObject();
jSONObject.put("requestId", str);
jSONObject.put(HandleInvocationsFromAdViewer.KEY_PACKAGE_NAME, b.getPackageName());
jSONObject.put("sdkVersion", PurchasingService.SDK_VERSION);
jSONObject.put("isPurchaseUpdates", z);
jSONObject.put("reset", z2);
bundle.putString("userInput", jSONObject.toString());
Intent a2 = a("com.amazon.testclient.iap.appUserId");
a2.addFlags(DriveFile.MODE_READ_ONLY);
a2.putExtras(bundle);
b.startService(a2);
} catch (JSONException unused) {
e.b(a, "Error in sendGetUserDataRequest.");
}
}
@Override // com.amazon.device.iap.internal.c
public void a(RequestId requestId, String str) {
e.a(a, "sendPurchaseRequest");
try {
Context b = com.amazon.device.iap.internal.d.d().b();
Bundle bundle = new Bundle();
JSONObject jSONObject = new JSONObject();
jSONObject.put(AppLovinEventParameters.PRODUCT_IDENTIFIER, str);
jSONObject.put("requestId", requestId.toString());
jSONObject.put(HandleInvocationsFromAdViewer.KEY_PACKAGE_NAME, b.getPackageName());
jSONObject.put("sdkVersion", PurchasingService.SDK_VERSION);
bundle.putString("purchaseInput", jSONObject.toString());
Intent a2 = a("com.amazon.testclient.iap.purchase");
a2.addFlags(DriveFile.MODE_READ_ONLY);
a2.putExtras(bundle);
b.startService(a2);
} catch (JSONException unused) {
e.b(a, "Error in sendPurchaseRequest.");
}
}
@Override // com.amazon.device.iap.internal.c
public void a(RequestId requestId, Set<String> set) {
e.a(a, "sendItemDataRequest");
try {
Context b = com.amazon.device.iap.internal.d.d().b();
Bundle bundle = new Bundle();
JSONObject jSONObject = new JSONObject();
JSONArray jSONArray = new JSONArray((Collection) set);
jSONObject.put("requestId", requestId.toString());
jSONObject.put(HandleInvocationsFromAdViewer.KEY_PACKAGE_NAME, b.getPackageName());
jSONObject.put("skus", jSONArray);
jSONObject.put("sdkVersion", PurchasingService.SDK_VERSION);
bundle.putString("itemDataInput", jSONObject.toString());
Intent a2 = a("com.amazon.testclient.iap.itemData");
a2.addFlags(DriveFile.MODE_READ_ONLY);
a2.putExtras(bundle);
b.startService(a2);
} catch (JSONException unused) {
e.b(a, "Error in sendItemDataRequest.");
}
}
@Override // com.amazon.device.iap.internal.c
public void a(RequestId requestId, boolean z) {
if (requestId == null) {
requestId = new RequestId();
}
e.a(a, "sendPurchaseUpdatesRequest/sendGetUserData first:" + requestId);
a(requestId.toString(), true, z);
}
@Override // com.amazon.device.iap.internal.c
public void a(RequestId requestId, String str, FulfillmentResult fulfillmentResult) {
e.a(a, "sendNotifyPurchaseFulfilled");
try {
Context b = com.amazon.device.iap.internal.d.d().b();
Bundle bundle = new Bundle();
JSONObject jSONObject = new JSONObject();
jSONObject.put("requestId", requestId.toString());
jSONObject.put(HandleInvocationsFromAdViewer.KEY_PACKAGE_NAME, b.getPackageName());
jSONObject.put("receiptId", str);
jSONObject.put("fulfillmentResult", fulfillmentResult);
jSONObject.put("sdkVersion", PurchasingService.SDK_VERSION);
bundle.putString("purchaseFulfilledInput", jSONObject.toString());
Intent a2 = a("com.amazon.testclient.iap.purchaseFulfilled");
a2.addFlags(DriveFile.MODE_READ_ONLY);
a2.putExtras(bundle);
b.startService(a2);
} catch (JSONException unused) {
e.b(a, "Error in sendNotifyPurchaseFulfilled.");
}
}
@Override // com.amazon.device.iap.internal.c
public void a(Context context, Intent intent) {
e.a(a, "handleResponse");
intent.setComponent(new ComponentName("com.amazon.sdktestclient", "com.amazon.sdktestclient.command.CommandBroker"));
try {
String string = intent.getExtras().getString("responseType");
if (string.equalsIgnoreCase("com.amazon.testclient.iap.purchase")) {
g(intent);
} else if (string.equalsIgnoreCase("com.amazon.testclient.iap.appUserId")) {
e(intent);
} else if (string.equalsIgnoreCase("com.amazon.testclient.iap.itemData")) {
c(intent);
} else if (string.equalsIgnoreCase("com.amazon.testclient.iap.purchaseUpdates")) {
a(intent);
}
} catch (Exception e) {
Log.e(a, "Error handling response.", e);
}
}
private Intent a(String str) {
Intent intent = new Intent(str);
intent.setComponent(new ComponentName("com.amazon.sdktestclient", "com.amazon.sdktestclient.command.CommandBroker"));
return intent;
}
public void a(final Object obj) {
com.amazon.device.iap.internal.util.d.a(obj, cr.n);
Context b = com.amazon.device.iap.internal.d.d().b();
final PurchasingListener a2 = com.amazon.device.iap.internal.d.d().a();
if (b == null || a2 == null) {
e.a(a, "PurchasingListener is not set. Dropping response: " + obj);
return;
}
new Handler(b.getMainLooper()).post(new Runnable() { // from class: com.amazon.device.iap.internal.a.c.1
@Override // java.lang.Runnable
public void run() {
try {
Object obj2 = obj;
if (obj2 instanceof ProductDataResponse) {
a2.onProductDataResponse((ProductDataResponse) obj2);
} else if (obj2 instanceof UserDataResponse) {
a2.onUserDataResponse((UserDataResponse) obj2);
} else if (obj2 instanceof PurchaseUpdatesResponse) {
a2.onPurchaseUpdatesResponse((PurchaseUpdatesResponse) obj2);
} else if (obj2 instanceof PurchaseResponse) {
a2.onPurchaseResponse((PurchaseResponse) obj2);
} else {
e.b(c.a, "Unknown response type:" + obj.getClass().getName());
}
} catch (Exception e) {
e.b(c.a, "Error in sendResponse: " + e);
}
}
});
}
private void a(Intent intent) throws JSONException {
PurchaseUpdatesResponse b = b(intent);
if (b.getRequestStatus() == PurchaseUpdatesResponse.RequestStatus.SUCCESSFUL) {
String optString = new JSONObject(intent.getStringExtra("purchaseUpdatesOutput")).optString("offset");
StringBuilder sb = new StringBuilder();
sb.append("Offset for PurchaseUpdatesResponse:");
sb.append(optString);
com.amazon.device.iap.internal.util.b.a(b.getUserData().getUserId(), optString);
}
a(b);
}
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Type inference failed for: r4v3 */
private PurchaseUpdatesResponse b(Intent intent) {
UserData userData;
ArrayList arrayList;
Exception e;
RequestId requestId;
boolean z;
boolean z2;
JSONObject jSONObject;
PurchaseUpdatesResponse.RequestStatus requestStatus = PurchaseUpdatesResponse.RequestStatus.FAILED;
ArrayList arrayList2 = null;
int i = 0;
try {
jSONObject = new JSONObject(intent.getStringExtra("purchaseUpdatesOutput"));
requestId = RequestId.fromString(jSONObject.optString("requestId"));
try {
requestStatus = PurchaseUpdatesResponse.RequestStatus.valueOf(jSONObject.optString("status"));
z2 = jSONObject.optBoolean("isMore");
try {
userData = new UserDataBuilder().setUserId(jSONObject.optString("userId")).setMarketplace(jSONObject.optString("marketplace")).build();
} catch (Exception e2) {
e = e2;
userData = null;
arrayList = null;
}
} catch (Exception e3) {
userData = null;
arrayList = null;
e = e3;
}
try {
z = z2;
} catch (Exception e4) {
e = e4;
arrayList = null;
e = e;
i = z2 ? 1 : 0;
Log.e(a, "Error parsing purchase updates output", e);
z2 = i;
arrayList2 = arrayList;
z = z2;
return new PurchaseUpdatesResponseBuilder().setRequestId(requestId).setRequestStatus(requestStatus).setUserData(userData).setReceipts(arrayList2).setHasMore(z).build();
}
} catch (Exception e5) {
userData = null;
arrayList = null;
e = e5;
requestId = null;
}
if (requestStatus == PurchaseUpdatesResponse.RequestStatus.SUCCESSFUL) {
arrayList = new ArrayList();
try {
JSONArray optJSONArray = jSONObject.optJSONArray("receipts");
if (optJSONArray != null) {
while (i < optJSONArray.length()) {
JSONObject optJSONObject = optJSONArray.optJSONObject(i);
try {
arrayList.add(a(optJSONObject));
} catch (Exception unused) {
Log.e(a, "Failed to parse receipt from json:" + optJSONObject);
}
i++;
}
}
} catch (Exception e6) {
e = e6;
i = z2 ? 1 : 0;
Log.e(a, "Error parsing purchase updates output", e);
z2 = i;
arrayList2 = arrayList;
z = z2;
return new PurchaseUpdatesResponseBuilder().setRequestId(requestId).setRequestStatus(requestStatus).setUserData(userData).setReceipts(arrayList2).setHasMore(z).build();
}
arrayList2 = arrayList;
z = z2;
}
return new PurchaseUpdatesResponseBuilder().setRequestId(requestId).setRequestStatus(requestStatus).setUserData(userData).setReceipts(arrayList2).setHasMore(z).build();
}
private void c(Intent intent) {
a(d(intent));
}
private ProductDataResponse d(Intent intent) {
LinkedHashSet linkedHashSet;
HashMap hashMap;
Exception e;
RequestId requestId;
ProductDataResponse.RequestStatus requestStatus;
ProductDataResponse.RequestStatus requestStatus2 = ProductDataResponse.RequestStatus.FAILED;
LinkedHashSet linkedHashSet2 = null;
try {
JSONObject jSONObject = new JSONObject(intent.getStringExtra("itemDataOutput"));
requestId = RequestId.fromString(jSONObject.optString("requestId"));
try {
requestStatus = ProductDataResponse.RequestStatus.valueOf(jSONObject.optString("status"));
if (requestStatus != requestStatus2) {
try {
LinkedHashSet linkedHashSet3 = new LinkedHashSet();
try {
hashMap = new HashMap();
try {
JSONArray optJSONArray = jSONObject.optJSONArray("unavailableSkus");
if (optJSONArray != null) {
for (int i = 0; i < optJSONArray.length(); i++) {
linkedHashSet3.add(optJSONArray.getString(i));
}
}
JSONObject optJSONObject = jSONObject.optJSONObject("items");
if (optJSONObject != null) {
Iterator<String> keys = optJSONObject.keys();
while (keys.hasNext()) {
String next = keys.next();
hashMap.put(next, a(next, optJSONObject.optJSONObject(next)));
}
}
linkedHashSet2 = linkedHashSet3;
} catch (Exception e2) {
e = e2;
linkedHashSet = linkedHashSet3;
requestStatus2 = requestStatus;
Log.e(a, "Error parsing item data output", e);
requestStatus = requestStatus2;
linkedHashSet2 = linkedHashSet;
return new ProductDataResponseBuilder().setRequestId(requestId).setRequestStatus(requestStatus).setProductData(hashMap).setUnavailableSkus(linkedHashSet2).build();
}
} catch (Exception e3) {
hashMap = null;
e = e3;
}
} catch (Exception e4) {
linkedHashSet = null;
hashMap = null;
e = e4;
}
} else {
hashMap = null;
}
} catch (Exception e5) {
hashMap = null;
e = e5;
linkedHashSet = null;
}
} catch (Exception e6) {
linkedHashSet = null;
hashMap = null;
e = e6;
requestId = null;
}
return new ProductDataResponseBuilder().setRequestId(requestId).setRequestStatus(requestStatus).setProductData(hashMap).setUnavailableSkus(linkedHashSet2).build();
}
private Product a(String str, JSONObject jSONObject) throws JSONException {
ProductType valueOf = ProductType.valueOf(jSONObject.optString("itemType"));
JSONObject jSONObject2 = jSONObject.getJSONObject("priceJson");
Currency currency = Currency.getInstance(jSONObject2.optString("currency"));
String str2 = currency.getSymbol() + new BigDecimal(jSONObject2.optString("value"));
return new ProductBuilder().setSku(str).setProductType(valueOf).setDescription(jSONObject.optString("description")).setPrice(str2).setSmallIconUrl(jSONObject.optString("smallIconUrl")).setTitle(jSONObject.optString("title")).build();
}
private void e(Intent intent) {
JSONObject jSONObject;
UserDataResponse f = f(intent);
RequestId requestId = f.getRequestId();
String stringExtra = intent.getStringExtra("userInput");
try {
jSONObject = new JSONObject(stringExtra);
} catch (JSONException e) {
Log.e(a, "Unable to parse request data: " + stringExtra, e);
jSONObject = null;
}
if (requestId == null || jSONObject == null) {
a(f);
return;
}
if (!jSONObject.optBoolean("isPurchaseUpdates", false)) {
a(f);
return;
}
if (f.getUserData() == null || com.amazon.device.iap.internal.util.d.a(f.getUserData().getUserId())) {
Log.e(a, "No Userid found in userDataResponse" + f);
a(new PurchaseUpdatesResponseBuilder().setRequestId(requestId).setRequestStatus(PurchaseUpdatesResponse.RequestStatus.FAILED).setUserData(f.getUserData()).setReceipts(new ArrayList()).setHasMore(false).build());
return;
}
StringBuilder sb = new StringBuilder();
sb.append("sendGetPurchaseUpdates with user id");
sb.append(f.getUserData().getUserId());
a(requestId.toString(), f.getUserData().getUserId(), jSONObject.optBoolean("reset", true));
}
private void a(String str, String str2, boolean z) {
try {
Context b = com.amazon.device.iap.internal.d.d().b();
String a2 = com.amazon.device.iap.internal.util.b.a(str2);
StringBuilder sb = new StringBuilder();
sb.append("send PurchaseUpdates with user id:");
sb.append(str2);
sb.append(";reset flag:");
sb.append(z);
sb.append(", local cursor:");
sb.append(a2);
sb.append(", parsed from old requestId:");
sb.append(str);
Bundle bundle = new Bundle();
JSONObject jSONObject = new JSONObject();
jSONObject.put("requestId", str.toString());
if (z) {
a2 = null;
}
jSONObject.put("offset", a2);
jSONObject.put("sdkVersion", PurchasingService.SDK_VERSION);
jSONObject.put(HandleInvocationsFromAdViewer.KEY_PACKAGE_NAME, b.getPackageName());
bundle.putString("purchaseUpdatesInput", jSONObject.toString());
Intent a3 = a("com.amazon.testclient.iap.purchaseUpdates");
a3.addFlags(DriveFile.MODE_READ_ONLY);
a3.putExtras(bundle);
b.startService(a3);
} catch (JSONException unused) {
e.b(a, "Error in sendPurchaseUpdatesRequest.");
}
}
private UserDataResponse f(Intent intent) {
RequestId requestId;
JSONObject jSONObject;
UserDataResponse.RequestStatus requestStatus = UserDataResponse.RequestStatus.FAILED;
UserData userData = null;
try {
jSONObject = new JSONObject(intent.getStringExtra("userOutput"));
requestId = RequestId.fromString(jSONObject.optString("requestId"));
} catch (Exception e) {
e = e;
requestId = null;
}
try {
requestStatus = UserDataResponse.RequestStatus.valueOf(jSONObject.optString("status"));
if (requestStatus == UserDataResponse.RequestStatus.SUCCESSFUL) {
userData = new UserDataBuilder().setUserId(jSONObject.optString("userId")).setMarketplace(jSONObject.optString("marketplace")).build();
}
} catch (Exception e2) {
e = e2;
Log.e(a, "Error parsing userid output", e);
return new UserDataResponseBuilder().setRequestId(requestId).setRequestStatus(requestStatus).setUserData(userData).build();
}
return new UserDataResponseBuilder().setRequestId(requestId).setRequestStatus(requestStatus).setUserData(userData).build();
}
private void g(Intent intent) {
a(h(intent));
}
private PurchaseResponse h(Intent intent) {
RequestId requestId;
UserData userData;
PurchaseResponse.RequestStatus requestStatus = PurchaseResponse.RequestStatus.FAILED;
Receipt receipt = null;
try {
JSONObject jSONObject = new JSONObject(intent.getStringExtra("purchaseOutput"));
requestId = RequestId.fromString(jSONObject.optString("requestId"));
try {
userData = new UserDataBuilder().setUserId(jSONObject.optString("userId")).setMarketplace(jSONObject.optString("marketplace")).build();
} catch (Exception e) {
e = e;
userData = null;
}
try {
requestStatus = PurchaseResponse.RequestStatus.safeValueOf(jSONObject.optString("purchaseStatus"));
JSONObject optJSONObject = jSONObject.optJSONObject("receipt");
if (optJSONObject != null) {
receipt = a(optJSONObject);
}
} catch (Exception e2) {
e = e2;
Log.e(a, "Error parsing purchase output", e);
return new PurchaseResponseBuilder().setRequestId(requestId).setRequestStatus(requestStatus).setUserData(userData).setReceipt(receipt).build();
}
} catch (Exception e3) {
e = e3;
requestId = null;
userData = null;
}
return new PurchaseResponseBuilder().setRequestId(requestId).setRequestStatus(requestStatus).setUserData(userData).setReceipt(receipt).build();
}
private Receipt a(JSONObject jSONObject) throws ParseException {
String optString = jSONObject.optString("receiptId");
String optString2 = jSONObject.optString(AppLovinEventParameters.PRODUCT_IDENTIFIER);
ProductType valueOf = ProductType.valueOf(jSONObject.optString("itemType"));
String optString3 = jSONObject.optString("purchaseDate");
DateFormat dateFormat = b.a;
Date parse = dateFormat.parse(optString3);
String optString4 = jSONObject.optString("cancelDate");
return new ReceiptBuilder().setReceiptId(optString).setSku(optString2).setProductType(valueOf).setPurchaseDate(parse).setCancelDate((optString4 == null || optString4.length() == 0) ? null : dateFormat.parse(optString4)).build();
}
}

View File

@@ -0,0 +1,21 @@
package com.amazon.device.iap.internal.a;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes.dex */
public final class d implements com.amazon.device.iap.internal.b {
private static final Map<Class, Class> a;
static {
HashMap hashMap = new HashMap();
a = hashMap;
hashMap.put(com.amazon.device.iap.internal.c.class, c.class);
hashMap.put(com.amazon.device.iap.internal.a.class, a.class);
}
@Override // com.amazon.device.iap.internal.b
public <T> Class<T> a(Class<T> cls) {
return a.get(cls);
}
}

View File

@@ -0,0 +1,6 @@
package com.amazon.device.iap.internal;
/* loaded from: classes.dex */
public interface b {
<T> Class<T> a(Class<T> cls);
}

View File

@@ -0,0 +1,17 @@
package com.amazon.device.iap.internal.b;
/* loaded from: classes.dex */
public class a extends RuntimeException {
private final String a;
private final String b;
public String a() {
return this.a;
}
public a(String str, String str2, Throwable th) {
super(th);
this.a = str;
this.b = str2;
}
}

View File

@@ -0,0 +1,49 @@
package com.amazon.device.iap.internal.b.a;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.model.PurchaseResponseBuilder;
import com.amazon.device.iap.internal.model.UserDataBuilder;
import com.amazon.device.iap.model.PurchaseResponse;
import com.amazon.device.iap.model.Receipt;
import com.amazon.venezia.command.SuccessResult;
import java.util.Map;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class a extends c {
private static final String a = a.class.getSimpleName();
public a(e eVar) {
super(eVar, "2.0");
}
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws Exception {
Receipt a2;
Map data = successResult.getData();
com.amazon.device.iap.internal.util.e.a(a, "data: " + data);
String str = (String) getCommandData().get("requestId");
String str2 = (String) data.get("userId");
String str3 = (String) data.get("marketplace");
String str4 = (String) data.get("receipt");
if (com.amazon.device.iap.internal.util.d.a(str4)) {
a(str2, str3, str, PurchaseResponse.RequestStatus.FAILED);
return false;
}
JSONObject jSONObject = new JSONObject(str4);
PurchaseResponse.RequestStatus safeValueOf = PurchaseResponse.RequestStatus.safeValueOf(jSONObject.getString("orderStatus"));
if (safeValueOf == PurchaseResponse.RequestStatus.SUCCESSFUL) {
try {
a2 = com.amazon.device.iap.internal.util.a.a(jSONObject, str2, str);
} catch (Throwable unused) {
a(str2, str3, str, PurchaseResponse.RequestStatus.FAILED);
return false;
}
} else {
a2 = null;
}
e b = b();
b.d().a(new PurchaseResponseBuilder().setRequestId(b.c()).setRequestStatus(safeValueOf).setUserData(new UserDataBuilder().setUserId(str2).setMarketplace(str3).build()).setReceipt(a2).build());
return true;
}
}

View File

@@ -0,0 +1,71 @@
package com.amazon.device.iap.internal.b.a;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.model.PurchaseResponseBuilder;
import com.amazon.device.iap.internal.model.UserDataBuilder;
import com.amazon.device.iap.model.ProductType;
import com.amazon.device.iap.model.PurchaseResponse;
import com.amazon.device.iap.model.Receipt;
import com.amazon.venezia.command.SuccessResult;
import java.util.Map;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class b extends c {
private static final String a = b.class.getSimpleName();
public b(e eVar) {
super(eVar, "1.0");
}
private void a(String str, String str2, String str3) {
if (str == null || str2 == null || str3 == null) {
return;
}
try {
JSONObject jSONObject = new JSONObject(str3);
if (PurchaseResponse.RequestStatus.safeValueOf(jSONObject.getString("orderStatus")) == PurchaseResponse.RequestStatus.SUCCESSFUL) {
com.amazon.device.iap.internal.c.a.a().a(str, str2, com.amazon.device.iap.internal.util.a.a(jSONObject, str2, str).getReceiptId(), str3);
}
} catch (Throwable th) {
com.amazon.device.iap.internal.util.e.b(a, "Error in savePendingReceipt: " + th);
}
}
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws Exception {
Receipt a2;
Map data = successResult.getData();
com.amazon.device.iap.internal.util.e.a(a, "data: " + data);
String str = (String) getCommandData().get("requestId");
String str2 = (String) data.get("userId");
String str3 = (String) data.get("marketplace");
String str4 = (String) data.get("receipt");
if (str == null || !com.amazon.device.iap.internal.c.b.a().a(str)) {
b().d().b();
return true;
}
if (com.amazon.device.iap.internal.util.d.a(str4)) {
a(str2, str3, str, PurchaseResponse.RequestStatus.FAILED);
return false;
}
JSONObject jSONObject = new JSONObject(str4);
PurchaseResponse.RequestStatus safeValueOf = PurchaseResponse.RequestStatus.safeValueOf(jSONObject.getString("orderStatus"));
if (safeValueOf == PurchaseResponse.RequestStatus.SUCCESSFUL) {
try {
a2 = com.amazon.device.iap.internal.util.a.a(jSONObject, str2, str);
if (ProductType.CONSUMABLE == a2.getProductType()) {
a(str, str2, str4);
}
} catch (Throwable unused) {
a(str2, str3, str, PurchaseResponse.RequestStatus.FAILED);
return false;
}
} else {
a2 = null;
}
e b = b();
b.d().a(new PurchaseResponseBuilder().setRequestId(b.c()).setRequestStatus(safeValueOf).setUserData(new UserDataBuilder().setUserId(str2).setMarketplace(str3).build()).setReceipt(a2).build());
return true;
}
}

View File

@@ -0,0 +1,19 @@
package com.amazon.device.iap.internal.b.a;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import com.amazon.device.iap.internal.model.PurchaseResponseBuilder;
import com.amazon.device.iap.internal.model.UserDataBuilder;
import com.amazon.device.iap.model.PurchaseResponse;
/* loaded from: classes.dex */
abstract class c extends i {
public c(e eVar, String str) {
super(eVar, "purchase_response", str);
}
public void a(String str, String str2, String str3, PurchaseResponse.RequestStatus requestStatus) {
e b = b();
b.d().a(new PurchaseResponseBuilder().setRequestId(b.c()).setRequestStatus(requestStatus).setUserData(new UserDataBuilder().setUserId(str).setMarketplace(str2).build()).setReceipt(null).build());
}
}

View File

@@ -0,0 +1,43 @@
package com.amazon.device.iap.internal.b.a;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import com.amazon.device.iap.internal.model.PurchaseResponseBuilder;
import com.amazon.device.iap.model.ProductType;
import com.amazon.device.iap.model.PurchaseResponse;
import com.amazon.device.iap.model.Receipt;
import com.amazon.device.iap.model.RequestId;
/* loaded from: classes.dex */
public final class d extends e {
public d(RequestId requestId) {
super(requestId);
a aVar = new a(this);
aVar.b(new b(this));
a((i) aVar);
}
@Override // com.amazon.device.iap.internal.b.e
public void a() {
PurchaseResponse purchaseResponse = (PurchaseResponse) d().a();
if (purchaseResponse == null) {
return;
}
Receipt receipt = purchaseResponse.getReceipt();
boolean z = receipt != null;
i cVar = new com.amazon.device.iap.internal.b.f.c(this, z);
if (z && (ProductType.ENTITLED == receipt.getProductType() || ProductType.SUBSCRIPTION == receipt.getProductType())) {
cVar.b(new com.amazon.device.iap.internal.b.f.b(this, c().toString()));
}
a(purchaseResponse, cVar);
}
@Override // com.amazon.device.iap.internal.b.e
public void b() {
PurchaseResponse purchaseResponse = (PurchaseResponse) d().a();
if (purchaseResponse == null) {
purchaseResponse = new PurchaseResponseBuilder().setRequestId(c()).setRequestStatus(PurchaseResponse.RequestStatus.FAILED).build();
}
a(purchaseResponse, new com.amazon.device.iap.internal.b.f.c(this, false));
}
}

View File

@@ -0,0 +1,46 @@
package com.amazon.device.iap.internal.b;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import com.amazon.android.framework.context.ContextManager;
import com.amazon.android.framework.prompt.PromptContent;
import com.amazon.android.framework.prompt.SimplePrompt;
import com.amazon.android.framework.resource.Resource;
/* loaded from: classes.dex */
public class b extends SimplePrompt {
private static final String a = b.class.getSimpleName();
@Resource
private ContextManager b;
private final PromptContent c;
public long getExpirationDurationInSeconds() {
return 31536000L;
}
public String toString() {
return a;
}
public b(PromptContent promptContent) {
super(promptContent);
this.c = promptContent;
}
public void doAction() {
com.amazon.device.iap.internal.util.e.a(a, "doAction");
if ("Amazon Appstore required".equalsIgnoreCase(this.c.getTitle()) || "Amazon Appstore Update Required".equalsIgnoreCase(this.c.getTitle())) {
try {
Activity visible = this.b.getVisible();
if (visible == null) {
visible = this.b.getRoot();
}
visible.startActivity(new Intent("android.intent.action.VIEW", Uri.parse("http://www.amazon.com/gp/mas/get-appstore/android/ref=mas_mx_mba_iap_dl")));
} catch (Exception e) {
com.amazon.device.iap.internal.util.e.b(a, "Exception in PurchaseItemCommandTask.OnSuccess: " + e);
}
}
}
}

View File

@@ -0,0 +1,64 @@
package com.amazon.device.iap.internal.b.b;
import android.app.Activity;
import android.content.Intent;
import android.os.RemoteException;
import com.amazon.android.framework.context.ContextManager;
import com.amazon.android.framework.exception.KiwiException;
import com.amazon.android.framework.resource.Resource;
import com.amazon.android.framework.task.Task;
import com.amazon.android.framework.task.TaskManager;
import com.amazon.android.framework.task.pipeline.TaskPipelineId;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import com.amazon.device.iap.internal.util.MetricsHelper;
import com.amazon.venezia.command.SuccessResult;
import com.applovin.sdk.AppLovinEventParameters;
import java.util.Map;
/* loaded from: classes.dex */
abstract class a extends i {
private static final String d = a.class.getSimpleName();
@Resource
protected TaskManager a;
@Resource
protected ContextManager b;
protected final String c;
public a(e eVar, String str, String str2) {
super(eVar, "purchase_item", str);
this.c = str2;
a(AppLovinEventParameters.PRODUCT_IDENTIFIER, str2);
}
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws RemoteException, KiwiException {
Map data = successResult.getData();
String str = d;
com.amazon.device.iap.internal.util.e.a(str, "data: " + data);
if (!data.containsKey("purchaseItemIntent")) {
com.amazon.device.iap.internal.util.e.b(str, "did not find intent");
return false;
}
com.amazon.device.iap.internal.util.e.a(str, "found intent");
final Intent intent = (Intent) data.remove("purchaseItemIntent");
this.a.enqueueAtFront(TaskPipelineId.FOREGROUND, new Task() { // from class: com.amazon.device.iap.internal.b.b.a.1
public void execute() {
try {
Activity visible = a.this.b.getVisible();
if (visible == null) {
visible = a.this.b.getRoot();
}
com.amazon.device.iap.internal.util.e.a(a.d, "About to fire intent with activity " + visible);
visible.startActivity(intent);
} catch (Exception e) {
MetricsHelper.submitExceptionMetrics(a.this.c(), a.d + ".onResult().execute()", e);
com.amazon.device.iap.internal.util.e.b(a.d, "Exception when attempting to fire intent: " + e);
}
}
});
return true;
}
}

View File

@@ -0,0 +1,16 @@
package com.amazon.device.iap.internal.b.b;
import com.amazon.android.framework.exception.KiwiException;
import com.amazon.device.iap.internal.b.e;
/* loaded from: classes.dex */
public final class b extends a {
public b(e eVar, String str) {
super(eVar, "1.0", str);
}
public void preExecution() throws KiwiException {
super.preExecution();
com.amazon.device.iap.internal.c.b.a().b(c());
}
}

View File

@@ -0,0 +1,10 @@
package com.amazon.device.iap.internal.b.b;
import com.amazon.device.iap.internal.b.e;
/* loaded from: classes.dex */
public final class c extends a {
public c(e eVar, String str) {
super(eVar, "2.0", str);
}
}

View File

@@ -0,0 +1,30 @@
package com.amazon.device.iap.internal.b.b;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import com.amazon.device.iap.internal.model.PurchaseResponseBuilder;
import com.amazon.device.iap.model.PurchaseResponse;
import com.amazon.device.iap.model.RequestId;
/* loaded from: classes.dex */
public final class d extends e {
@Override // com.amazon.device.iap.internal.b.e
public void a() {
}
public d(RequestId requestId, String str) {
super(requestId);
c cVar = new c(this, str);
cVar.b(new b(this, str));
a((i) cVar);
}
@Override // com.amazon.device.iap.internal.b.e
public void b() {
PurchaseResponse purchaseResponse = (PurchaseResponse) d().a();
if (purchaseResponse == null) {
purchaseResponse = new PurchaseResponseBuilder().setRequestId(c()).setRequestStatus(PurchaseResponse.RequestStatus.FAILED).build();
}
a(purchaseResponse);
}
}

View File

@@ -0,0 +1,58 @@
package com.amazon.device.iap.internal.b;
import android.content.Context;
import android.content.Intent;
import com.amazon.device.iap.model.FulfillmentResult;
import com.amazon.device.iap.model.RequestId;
import com.facebook.internal.ServerProtocol;
import java.util.Set;
/* loaded from: classes.dex */
public final class c implements com.amazon.device.iap.internal.c {
private static final String a = "c";
@Override // com.amazon.device.iap.internal.c
public void a(RequestId requestId) {
com.amazon.device.iap.internal.util.e.a(a, "sendGetUserData");
new com.amazon.device.iap.internal.b.e.a(requestId).e();
}
@Override // com.amazon.device.iap.internal.c
public void a(RequestId requestId, String str) {
com.amazon.device.iap.internal.util.e.a(a, "sendPurchaseRequest");
new com.amazon.device.iap.internal.b.b.d(requestId, str).e();
}
@Override // com.amazon.device.iap.internal.c
public void a(RequestId requestId, Set<String> set) {
com.amazon.device.iap.internal.util.e.a(a, "sendGetProductDataRequest");
new com.amazon.device.iap.internal.b.c.d(requestId, set).e();
}
@Override // com.amazon.device.iap.internal.c
public void a(RequestId requestId, boolean z) {
com.amazon.device.iap.internal.util.e.a(a, "sendGetPurchaseUpdates");
new com.amazon.device.iap.internal.b.d.a(requestId, z).e();
}
@Override // com.amazon.device.iap.internal.c
public void a(RequestId requestId, String str, FulfillmentResult fulfillmentResult) {
com.amazon.device.iap.internal.util.e.a(a, "sendNotifyFulfillment");
new com.amazon.device.iap.internal.b.g.b(requestId, str, fulfillmentResult).e();
}
@Override // com.amazon.device.iap.internal.c
public void a(Context context, Intent intent) {
String str = a;
com.amazon.device.iap.internal.util.e.a(str, "handleResponse");
String stringExtra = intent.getStringExtra(ServerProtocol.DIALOG_PARAM_RESPONSE_TYPE);
if (stringExtra == null) {
com.amazon.device.iap.internal.util.e.a(str, "Invalid response type: null");
return;
}
com.amazon.device.iap.internal.util.e.a(str, "Found response type: " + stringExtra);
if ("purchase_response".equals(stringExtra)) {
new com.amazon.device.iap.internal.b.a.d(RequestId.fromString(intent.getStringExtra("requestId"))).e();
}
}
}

View File

@@ -0,0 +1,77 @@
package com.amazon.device.iap.internal.b.c;
import android.os.RemoteException;
import com.amazon.android.framework.exception.KiwiException;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.model.ProductBuilder;
import com.amazon.device.iap.internal.model.ProductDataResponseBuilder;
import com.amazon.device.iap.internal.util.MetricsHelper;
import com.amazon.device.iap.model.Product;
import com.amazon.device.iap.model.ProductDataResponse;
import com.amazon.device.iap.model.ProductType;
import com.amazon.venezia.command.SuccessResult;
import java.math.BigDecimal;
import java.util.Currency;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class a extends c {
private static final String b = a.class.getSimpleName();
public a(e eVar, Set<String> set) {
super(eVar, "2.0", set);
}
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws RemoteException, KiwiException {
Map data = successResult.getData();
com.amazon.device.iap.internal.util.e.a(b, "data: " + data);
LinkedHashSet linkedHashSet = new LinkedHashSet();
HashMap hashMap = new HashMap();
for (String str : this.a) {
if (!data.containsKey(str)) {
linkedHashSet.add(str);
} else {
try {
hashMap.put(str, a(str, data));
} catch (IllegalArgumentException e) {
linkedHashSet.add(str);
String str2 = (String) data.get(str);
String c = c();
StringBuilder sb = new StringBuilder();
String str3 = b;
sb.append(str3);
sb.append(".onResult()");
MetricsHelper.submitJsonParsingExceptionMetrics(c, str2, sb.toString());
com.amazon.device.iap.internal.util.e.b(str3, "Error parsing JSON for SKU " + str + ": " + e.getMessage());
}
}
}
e b2 = b();
b2.d().a(new ProductDataResponseBuilder().setRequestId(b2.c()).setRequestStatus(ProductDataResponse.RequestStatus.SUCCESSFUL).setUnavailableSkus(linkedHashSet).setProductData(hashMap).build());
return true;
}
private Product a(String str, Map map) throws IllegalArgumentException {
JSONObject optJSONObject;
String str2 = (String) map.get(str);
try {
JSONObject jSONObject = new JSONObject(str2);
ProductType valueOf = ProductType.valueOf(jSONObject.getString("itemType").toUpperCase());
String string = jSONObject.getString("description");
String optString = jSONObject.optString("price", null);
if (com.amazon.device.iap.internal.util.d.a(optString) && (optJSONObject = jSONObject.optJSONObject("priceJson")) != null) {
Currency currency = Currency.getInstance(optJSONObject.getString("currency"));
optString = currency.getSymbol() + new BigDecimal(optJSONObject.getString("value"));
}
return new ProductBuilder().setSku(str).setProductType(valueOf).setDescription(string).setPrice(optString).setSmallIconUrl(jSONObject.getString("iconUrl")).setTitle(jSONObject.getString("title")).build();
} catch (JSONException unused) {
throw new IllegalArgumentException("error in parsing json string" + str2);
}
}
}

View File

@@ -0,0 +1,61 @@
package com.amazon.device.iap.internal.b.c;
import android.os.RemoteException;
import com.amazon.android.framework.exception.KiwiException;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.model.ProductBuilder;
import com.amazon.device.iap.internal.model.ProductDataResponseBuilder;
import com.amazon.device.iap.model.Product;
import com.amazon.device.iap.model.ProductDataResponse;
import com.amazon.device.iap.model.ProductType;
import com.amazon.venezia.command.SuccessResult;
import java.util.HashMap;
import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class b extends c {
private static final String b = b.class.getSimpleName();
public b(e eVar, Set<String> set) {
super(eVar, "1.0", set);
}
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws RemoteException, KiwiException {
Map data = successResult.getData();
com.amazon.device.iap.internal.util.e.a(b, "data: " + data);
LinkedHashSet linkedHashSet = new LinkedHashSet();
HashMap hashMap = new HashMap();
for (String str : this.a) {
if (!data.containsKey(str)) {
linkedHashSet.add(str);
} else {
try {
hashMap.put(str, a(str, data));
} catch (IllegalArgumentException e) {
linkedHashSet.add(str);
com.amazon.device.iap.internal.util.e.b(b, "Error parsing JSON for SKU " + str + ": " + e.getMessage());
}
}
}
e b2 = b();
b2.d().a(new ProductDataResponseBuilder().setRequestId(b2.c()).setRequestStatus(ProductDataResponse.RequestStatus.SUCCESSFUL).setUnavailableSkus(linkedHashSet).setProductData(hashMap).build());
return true;
}
private Product a(String str, Map map) throws IllegalArgumentException {
String str2 = (String) map.get(str);
try {
JSONObject jSONObject = new JSONObject(str2);
ProductType valueOf = ProductType.valueOf(jSONObject.getString("itemType").toUpperCase());
String string = jSONObject.getString("description");
return new ProductBuilder().setSku(str).setProductType(valueOf).setDescription(string).setPrice(jSONObject.optString("price")).setSmallIconUrl(jSONObject.getString("iconUrl")).setTitle(jSONObject.getString("title")).build();
} catch (JSONException unused) {
throw new IllegalArgumentException("error in parsing json string" + str2);
}
}
}

View File

@@ -0,0 +1,16 @@
package com.amazon.device.iap.internal.b.c;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import java.util.Set;
/* loaded from: classes.dex */
abstract class c extends i {
protected final Set<String> a;
public c(e eVar, String str, Set<String> set) {
super(eVar, "getItem_data", str);
this.a = set;
a("skus", set);
}
}

View File

@@ -0,0 +1,32 @@
package com.amazon.device.iap.internal.b.c;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import com.amazon.device.iap.internal.model.ProductDataResponseBuilder;
import com.amazon.device.iap.model.ProductDataResponse;
import com.amazon.device.iap.model.RequestId;
import java.util.Set;
/* loaded from: classes.dex */
public final class d extends e {
public d(RequestId requestId, Set<String> set) {
super(requestId);
a aVar = new a(this, set);
aVar.b(new b(this, set));
a((i) aVar);
}
@Override // com.amazon.device.iap.internal.b.e
public void a() {
a((ProductDataResponse) d().a());
}
@Override // com.amazon.device.iap.internal.b.e
public void b() {
ProductDataResponse productDataResponse = (ProductDataResponse) d().a();
if (productDataResponse == null) {
productDataResponse = new ProductDataResponseBuilder().setRequestId(c()).setRequestStatus(ProductDataResponse.RequestStatus.FAILED).build();
}
a(productDataResponse);
}
}

View File

@@ -0,0 +1,18 @@
package com.amazon.device.iap.internal.b;
/* loaded from: classes.dex */
public class d extends RuntimeException {
private final String a;
private final String b;
private final String c;
public String a() {
return this.a;
}
public d(String str, String str2, String str3) {
this.a = str;
this.b = str2;
this.c = str3;
}
}

View File

@@ -0,0 +1,52 @@
package com.amazon.device.iap.internal.b.d;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import com.amazon.device.iap.internal.model.PurchaseUpdatesResponseBuilder;
import com.amazon.device.iap.model.PurchaseUpdatesResponse;
import com.amazon.device.iap.model.Receipt;
import com.amazon.device.iap.model.RequestId;
import java.util.HashSet;
/* loaded from: classes.dex */
public final class a extends e {
public a(RequestId requestId, boolean z) {
super(requestId);
com.amazon.device.iap.internal.b.e.c cVar = new com.amazon.device.iap.internal.b.e.c(this);
cVar.a(new c(this, z));
com.amazon.device.iap.internal.b.e.d dVar = new com.amazon.device.iap.internal.b.e.d(this);
dVar.a(new d(this));
cVar.b(dVar);
a((i) cVar);
}
@Override // com.amazon.device.iap.internal.b.e
public void a() {
i iVar;
PurchaseUpdatesResponse purchaseUpdatesResponse = (PurchaseUpdatesResponse) d().a();
if (purchaseUpdatesResponse.getReceipts() == null || purchaseUpdatesResponse.getReceipts().size() <= 0) {
iVar = null;
} else {
HashSet hashSet = new HashSet();
for (Receipt receipt : purchaseUpdatesResponse.getReceipts()) {
if (!com.amazon.device.iap.internal.util.d.a(receipt.getReceiptId())) {
hashSet.add(receipt.getReceiptId());
}
}
iVar = new com.amazon.device.iap.internal.b.g.a(this, hashSet, com.amazon.device.iap.internal.model.a.DELIVERED.toString());
}
a(purchaseUpdatesResponse, iVar);
}
@Override // com.amazon.device.iap.internal.b.e
public void b() {
PurchaseUpdatesResponse build;
Object a = d().a();
if (a == null || !(a instanceof PurchaseUpdatesResponse)) {
build = new PurchaseUpdatesResponseBuilder().setRequestId(c()).setRequestStatus(PurchaseUpdatesResponse.RequestStatus.FAILED).build();
} else {
build = (PurchaseUpdatesResponse) a;
}
a(build);
}
}

View File

@@ -0,0 +1,20 @@
package com.amazon.device.iap.internal.b.d;
import com.amazon.android.framework.exception.KiwiException;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
/* loaded from: classes.dex */
abstract class b extends i {
protected final boolean a;
public b(e eVar, String str, boolean z) {
super(eVar, "purchase_updates", str);
this.a = z;
}
public void preExecution() throws KiwiException {
super.preExecution();
a("cursor", this.a ? null : com.amazon.device.iap.internal.util.b.a((String) b().d().a("userId")));
}
}

View File

@@ -0,0 +1,55 @@
package com.amazon.device.iap.internal.b.d;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.model.PurchaseUpdatesResponseBuilder;
import com.amazon.device.iap.internal.model.UserDataBuilder;
import com.amazon.device.iap.model.PurchaseUpdatesResponse;
import com.amazon.device.iap.model.Receipt;
import com.amazon.venezia.command.SuccessResult;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
/* loaded from: classes.dex */
public final class c extends b {
private static final String b = c.class.getSimpleName();
public c(e eVar, boolean z) {
super(eVar, "2.0", z);
}
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws Exception {
Map data = successResult.getData();
com.amazon.device.iap.internal.util.e.a(b, "data: " + data);
String str = (String) data.get("userId");
String str2 = (String) data.get("marketplace");
List<Receipt> a = a(str, (String) data.get("receipts"), (String) data.get("requestId"));
String str3 = (String) data.get("cursor");
boolean booleanValue = Boolean.valueOf((String) data.get("hasMore")).booleanValue();
e b2 = b();
PurchaseUpdatesResponse build = new PurchaseUpdatesResponseBuilder().setRequestId(b2.c()).setRequestStatus(PurchaseUpdatesResponse.RequestStatus.SUCCESSFUL).setUserData(new UserDataBuilder().setUserId(str).setMarketplace(str2).build()).setReceipts(a).setHasMore(booleanValue).build();
b2.d().a("newCursor", str3);
b2.d().a(build);
return true;
}
private List<Receipt> a(String str, String str2, String str3) throws JSONException {
ArrayList arrayList = new ArrayList();
JSONArray jSONArray = new JSONArray(str2);
for (int i = 0; i < jSONArray.length(); i++) {
try {
arrayList.add(com.amazon.device.iap.internal.util.a.a(jSONArray.getJSONObject(i), str, str3));
} catch (com.amazon.device.iap.internal.b.a e) {
com.amazon.device.iap.internal.util.e.b(b, "fail to parse receipt, requestId:" + e.a());
} catch (com.amazon.device.iap.internal.b.d e2) {
com.amazon.device.iap.internal.util.e.b(b, "fail to verify receipt, requestId:" + e2.a());
} catch (Throwable th) {
com.amazon.device.iap.internal.util.e.b(b, "fail to verify receipt, requestId:" + th.getMessage());
}
}
return arrayList;
}
}

View File

@@ -0,0 +1,67 @@
package com.amazon.device.iap.internal.b.d;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.model.PurchaseUpdatesResponseBuilder;
import com.amazon.device.iap.internal.model.ReceiptBuilder;
import com.amazon.device.iap.internal.model.UserDataBuilder;
import com.amazon.device.iap.model.ProductType;
import com.amazon.device.iap.model.PurchaseUpdatesResponse;
import com.amazon.device.iap.model.Receipt;
import com.amazon.venezia.command.SuccessResult;
import java.util.ArrayList;
import java.util.Date;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONException;
/* loaded from: classes.dex */
public final class d extends b {
private static final String b = d.class.getSimpleName();
private static final Date c = new Date(0);
public d(e eVar) {
super(eVar, "1.0", true);
}
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws Exception {
Map data = successResult.getData();
com.amazon.device.iap.internal.util.e.a(b, "data: " + data);
String str = (String) data.get("userId");
String str2 = (String) data.get("marketplace");
ArrayList arrayList = new ArrayList();
JSONArray jSONArray = new JSONArray((String) data.get("receipts"));
for (int i = 0; i < jSONArray.length(); i++) {
try {
Receipt a = com.amazon.device.iap.internal.util.a.a(jSONArray.getJSONObject(i), str, null);
arrayList.add(a);
if (ProductType.ENTITLED == a.getProductType()) {
com.amazon.device.iap.internal.c.c.a().a(str, a.getReceiptId(), a.getSku());
}
} catch (com.amazon.device.iap.internal.b.a e) {
com.amazon.device.iap.internal.util.e.b(b, "fail to parse receipt, requestId:" + e.a());
} catch (com.amazon.device.iap.internal.b.d e2) {
com.amazon.device.iap.internal.util.e.b(b, "fail to verify receipt, requestId:" + e2.a());
} catch (Throwable th) {
com.amazon.device.iap.internal.util.e.b(b, "fail to verify receipt, requestId:" + th.getMessage());
}
}
JSONArray jSONArray2 = new JSONArray((String) data.get("revocations"));
for (int i2 = 0; i2 < jSONArray2.length(); i2++) {
try {
String string = jSONArray2.getString(i2);
arrayList.add(new ReceiptBuilder().setSku(string).setProductType(ProductType.ENTITLED).setPurchaseDate(null).setCancelDate(c).setReceiptId(com.amazon.device.iap.internal.c.c.a().a(str, string)).build());
} catch (JSONException unused) {
com.amazon.device.iap.internal.util.e.b(b, "fail to parse JSON[" + i2 + "] in \"" + jSONArray2 + "\"");
}
}
String str3 = (String) data.get("cursor");
boolean equalsIgnoreCase = "true".equalsIgnoreCase((String) data.get("hasMore"));
e b2 = b();
PurchaseUpdatesResponse build = new PurchaseUpdatesResponseBuilder().setRequestId(b2.c()).setRequestStatus(PurchaseUpdatesResponse.RequestStatus.SUCCESSFUL).setUserData(new UserDataBuilder().setUserId(str).setMarketplace(str2).build()).setReceipts(arrayList).setHasMore(equalsIgnoreCase).build();
build.getReceipts().addAll(com.amazon.device.iap.internal.c.a.a().b(build.getUserData().getUserId()));
b2.d().a(build);
b2.d().a("newCursor", str3);
return true;
}
}

View File

@@ -0,0 +1,97 @@
package com.amazon.device.iap.internal.b;
import android.content.Context;
import android.os.Handler;
import com.amazon.device.iap.PurchasingListener;
import com.amazon.device.iap.model.ProductDataResponse;
import com.amazon.device.iap.model.PurchaseResponse;
import com.amazon.device.iap.model.PurchaseUpdatesResponse;
import com.amazon.device.iap.model.RequestId;
import com.amazon.device.iap.model.UserDataResponse;
import com.ironsource.cr;
/* loaded from: classes.dex */
public class e {
private static final String a = "e";
private final RequestId b;
private final h c = new h();
private i d = null;
public void a() {
}
public void a(i iVar) {
this.d = iVar;
}
public void b() {
}
public RequestId c() {
return this.b;
}
public h d() {
return this.c;
}
public e(RequestId requestId) {
this.b = requestId;
}
public void a(Object obj) {
a(obj, null);
}
public void a(final Object obj, final i iVar) {
com.amazon.device.iap.internal.util.d.a(obj, cr.n);
Context b = com.amazon.device.iap.internal.d.d().b();
final PurchasingListener a2 = com.amazon.device.iap.internal.d.d().a();
if (b == null || a2 == null) {
com.amazon.device.iap.internal.util.e.a(a, "PurchasingListener is not set. Dropping response: " + obj);
return;
}
new Handler(b.getMainLooper()).post(new Runnable() { // from class: com.amazon.device.iap.internal.b.e.1
@Override // java.lang.Runnable
public void run() {
e.this.d().a("notifyListenerResult", Boolean.FALSE);
try {
Object obj2 = obj;
if (obj2 instanceof ProductDataResponse) {
a2.onProductDataResponse((ProductDataResponse) obj2);
} else if (obj2 instanceof UserDataResponse) {
a2.onUserDataResponse((UserDataResponse) obj2);
} else if (obj2 instanceof PurchaseUpdatesResponse) {
PurchaseUpdatesResponse purchaseUpdatesResponse = (PurchaseUpdatesResponse) obj2;
a2.onPurchaseUpdatesResponse(purchaseUpdatesResponse);
Object a3 = e.this.d().a("newCursor");
if (a3 != null && (a3 instanceof String)) {
com.amazon.device.iap.internal.util.b.a(purchaseUpdatesResponse.getUserData().getUserId(), a3.toString());
}
} else if (obj2 instanceof PurchaseResponse) {
a2.onPurchaseResponse((PurchaseResponse) obj2);
} else {
com.amazon.device.iap.internal.util.e.b(e.a, "Unknown response type:" + obj.getClass().getName());
}
e.this.d().a("notifyListenerResult", Boolean.TRUE);
} catch (Throwable th) {
com.amazon.device.iap.internal.util.e.b(e.a, "Error in sendResponse: " + th);
}
i iVar2 = iVar;
if (iVar2 != null) {
iVar2.a(true);
iVar.a_();
}
}
});
}
public void e() {
i iVar = this.d;
if (iVar != null) {
iVar.a_();
} else {
a();
}
}
}

View File

@@ -0,0 +1,31 @@
package com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import com.amazon.device.iap.internal.model.UserDataResponseBuilder;
import com.amazon.device.iap.model.RequestId;
import com.amazon.device.iap.model.UserDataResponse;
/* loaded from: classes.dex */
public final class a extends e {
public a(RequestId requestId) {
super(requestId);
c cVar = new c(this);
cVar.b(new d(this));
a((i) cVar);
}
@Override // com.amazon.device.iap.internal.b.e
public void a() {
a((UserDataResponse) d().a());
}
@Override // com.amazon.device.iap.internal.b.e
public void b() {
UserDataResponse userDataResponse = (UserDataResponse) d().a();
if (userDataResponse == null) {
userDataResponse = new UserDataResponseBuilder().setRequestId(c()).setRequestStatus(UserDataResponse.RequestStatus.FAILED).build();
}
a(userDataResponse);
}
}

View File

@@ -0,0 +1,13 @@
package com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
/* loaded from: classes.dex */
abstract class b extends i {
protected static final String a = null;
public b(e eVar, String str) {
super(eVar, "get_userId", str);
}
}

View File

@@ -0,0 +1,40 @@
package com.amazon.device.iap.internal.b.e;
import android.os.RemoteException;
import com.amazon.android.framework.exception.KiwiException;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.model.UserDataBuilder;
import com.amazon.device.iap.internal.model.UserDataResponseBuilder;
import com.amazon.device.iap.model.UserData;
import com.amazon.device.iap.model.UserDataResponse;
import com.amazon.venezia.command.SuccessResult;
import java.util.Map;
/* loaded from: classes.dex */
public final class c extends b {
private static final String b = c.class.getSimpleName();
public c(e eVar) {
super(eVar, "2.0");
}
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws RemoteException, KiwiException {
String str = b;
com.amazon.device.iap.internal.util.e.a(str, "onResult: result = " + successResult);
Map data = successResult.getData();
com.amazon.device.iap.internal.util.e.a(str, "data: " + data);
String str2 = (String) data.get("userId");
String str3 = (String) data.get("marketplace");
e b2 = b();
if (com.amazon.device.iap.internal.util.d.a(str2) || com.amazon.device.iap.internal.util.d.a(str3)) {
b2.d().a(new UserDataResponseBuilder().setRequestId(b2.c()).setRequestStatus(UserDataResponse.RequestStatus.FAILED).build());
return false;
}
UserData build = new UserDataBuilder().setUserId(str2).setMarketplace(str3).build();
UserDataResponse build2 = new UserDataResponseBuilder().setRequestId(b2.c()).setRequestStatus(UserDataResponse.RequestStatus.SUCCESSFUL).setUserData(build).build();
b2.d().a("userId", build.getUserId());
b2.d().a(build2);
return true;
}
}

View File

@@ -0,0 +1,39 @@
package com.amazon.device.iap.internal.b.e;
import android.os.RemoteException;
import com.amazon.android.framework.exception.KiwiException;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.model.UserDataBuilder;
import com.amazon.device.iap.internal.model.UserDataResponseBuilder;
import com.amazon.device.iap.model.UserData;
import com.amazon.device.iap.model.UserDataResponse;
import com.amazon.venezia.command.SuccessResult;
import java.util.Map;
/* loaded from: classes.dex */
public final class d extends b {
private static final String b = d.class.getSimpleName();
public d(e eVar) {
super(eVar, "1.0");
}
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws RemoteException, KiwiException {
String str = b;
com.amazon.device.iap.internal.util.e.a(str, "onSuccessInternal: result = " + successResult);
Map data = successResult.getData();
com.amazon.device.iap.internal.util.e.a(str, "data: " + data);
String str2 = (String) data.get("userId");
e b2 = b();
if (com.amazon.device.iap.internal.util.d.a(str2)) {
b2.d().a(new UserDataResponseBuilder().setRequestId(b2.c()).setRequestStatus(UserDataResponse.RequestStatus.FAILED).build());
return false;
}
UserData build = new UserDataBuilder().setUserId(str2).setMarketplace(b.a).build();
UserDataResponse build2 = new UserDataResponseBuilder().setRequestId(b2.c()).setRequestStatus(UserDataResponse.RequestStatus.SUCCESSFUL).setUserData(build).build();
b2.d().a("userId", build.getUserId());
b2.d().a(build2);
return true;
}
}

View File

@@ -0,0 +1,32 @@
package com.amazon.device.iap.internal.b;
import com.amazon.android.framework.util.KiwiLogger;
/* loaded from: classes.dex */
public class f implements com.amazon.device.iap.internal.a {
private static KiwiLogger a = new KiwiLogger("In App Purchasing SDK - Production Mode");
@Override // com.amazon.device.iap.internal.a
public boolean a() {
return KiwiLogger.TRACE_ON;
}
@Override // com.amazon.device.iap.internal.a
public boolean b() {
return KiwiLogger.ERROR_ON;
}
@Override // com.amazon.device.iap.internal.a
public void a(String str, String str2) {
a.trace(c(str, str2));
}
@Override // com.amazon.device.iap.internal.a
public void b(String str, String str2) {
a.error(c(str, str2));
}
private static String c(String str, String str2) {
return str + ": " + str2;
}
}

View File

@@ -0,0 +1,18 @@
package com.amazon.device.iap.internal.b.f;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import com.amazon.venezia.command.SuccessResult;
/* loaded from: classes.dex */
abstract class a extends i {
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws Exception {
return true;
}
public a(e eVar, String str) {
super(eVar, "response_received", str);
b(false);
}
}

View File

@@ -0,0 +1,11 @@
package com.amazon.device.iap.internal.b.f;
import com.amazon.device.iap.internal.b.e;
/* loaded from: classes.dex */
public final class b extends a {
public b(e eVar, String str) {
super(eVar, "1.0");
getCommandData().put("requestId", str);
}
}

View File

@@ -0,0 +1,25 @@
package com.amazon.device.iap.internal.b.f;
import com.amazon.device.iap.internal.b.e;
/* loaded from: classes.dex */
public final class c extends a {
public c(e eVar, boolean z) {
super(eVar, "2.0");
a("receiptDelivered", Boolean.valueOf(z));
}
@Override // com.amazon.device.iap.internal.b.i
public void a_() {
Object a = b().d().a("notifyListenerResult");
if (a != null) {
Boolean bool = Boolean.TRUE;
if (bool.equals(a)) {
a("notifyListenerSucceeded", bool);
super.a_();
}
}
a("notifyListenerSucceeded", Boolean.FALSE);
super.a_();
}
}

View File

@@ -0,0 +1,21 @@
package com.amazon.device.iap.internal.b;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes.dex */
public final class g implements com.amazon.device.iap.internal.b {
private static final Map<Class, Class> a;
static {
HashMap hashMap = new HashMap();
a = hashMap;
hashMap.put(com.amazon.device.iap.internal.c.class, c.class);
hashMap.put(com.amazon.device.iap.internal.a.class, f.class);
}
@Override // com.amazon.device.iap.internal.b
public <T> Class<T> a(Class<T> cls) {
return a.get(cls);
}
}

View File

@@ -0,0 +1,37 @@
package com.amazon.device.iap.internal.b.g;
import android.os.RemoteException;
import com.amazon.android.framework.exception.KiwiException;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import com.amazon.venezia.command.SuccessResult;
import java.util.Set;
/* loaded from: classes.dex */
public final class a extends i {
protected final Set<String> a;
protected final String b;
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws RemoteException, KiwiException {
return true;
}
public a(e eVar, Set<String> set, String str) {
super(eVar, "purchase_fulfilled", "2.0");
this.a = set;
this.b = str;
b(false);
a("receiptIds", set);
a("fulfillmentStatus", str);
}
@Override // com.amazon.device.iap.internal.b.i
public void a_() {
Object a = b().d().a("notifyListenerResult");
if (a != null && Boolean.FALSE.equals(a)) {
a("fulfillmentStatus", com.amazon.device.iap.internal.model.a.DELIVERY_ATTEMPTED.toString());
}
super.a_();
}
}

View File

@@ -0,0 +1,37 @@
package com.amazon.device.iap.internal.b.g;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import com.amazon.device.iap.model.FulfillmentResult;
import com.amazon.device.iap.model.RequestId;
import java.util.HashSet;
/* loaded from: classes.dex */
public final class b extends e {
private final String a;
private final FulfillmentResult b;
@Override // com.amazon.device.iap.internal.b.e
public void a() {
}
public b(RequestId requestId, String str, FulfillmentResult fulfillmentResult) {
super(requestId);
HashSet hashSet = new HashSet();
hashSet.add(str);
this.a = str;
this.b = fulfillmentResult;
a((i) new a(this, hashSet, fulfillmentResult.toString()));
}
@Override // com.amazon.device.iap.internal.b.e
public void b() {
String c;
FulfillmentResult fulfillmentResult = FulfillmentResult.FULFILLED;
FulfillmentResult fulfillmentResult2 = this.b;
if ((fulfillmentResult == fulfillmentResult2 || FulfillmentResult.UNAVAILABLE == fulfillmentResult2) && (c = com.amazon.device.iap.internal.c.a.a().c(this.a)) != null) {
new com.amazon.device.iap.internal.b.f.b(this, c).a_();
com.amazon.device.iap.internal.c.a.a().a(this.a);
}
}
}

View File

@@ -0,0 +1,33 @@
package com.amazon.device.iap.internal.b;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes.dex */
public class h {
static final /* synthetic */ boolean b = true;
public final Map<String, Object> a = new HashMap();
public Object a(String str) {
return this.a.get(str);
}
public void a(String str, Object obj) {
this.a.put(str, obj);
}
public void a(Object obj) {
if (!b && obj == null) {
throw new AssertionError();
}
this.a.put("RESPONSE", obj);
}
public Object a() {
return this.a.get("RESPONSE");
}
public void b() {
this.a.remove("RESPONSE");
}
}

View File

@@ -0,0 +1,22 @@
package com.amazon.device.iap.internal.b.h;
import android.os.RemoteException;
import com.amazon.android.framework.exception.KiwiException;
import com.amazon.device.iap.internal.b.e;
import com.amazon.device.iap.internal.b.i;
import com.amazon.venezia.command.SuccessResult;
/* loaded from: classes.dex */
public class a extends i {
@Override // com.amazon.device.iap.internal.b.i
public boolean a(SuccessResult successResult) throws RemoteException, KiwiException {
return true;
}
public a(e eVar, String str, String str2) {
super(eVar, "submit_metric", "1.0");
a("metricName", str);
a("metricAttributes", str2);
b(false);
}
}

View File

@@ -0,0 +1,168 @@
package com.amazon.device.iap.internal.b;
import android.os.RemoteException;
import com.amazon.android.Kiwi;
import com.amazon.android.framework.exception.KiwiException;
import com.amazon.android.framework.prompt.PromptContent;
import com.amazon.android.framework.task.command.AbstractCommandTask;
import com.amazon.android.licensing.LicenseFailurePromptContentMapper;
import com.amazon.device.iap.PurchasingService;
import com.amazon.venezia.command.FailureResult;
import com.amazon.venezia.command.SuccessResult;
import java.util.HashMap;
import java.util.Map;
/* loaded from: classes.dex */
public abstract class i extends AbstractCommandTask {
private static final String a = i.class.getSimpleName();
private final e b;
private final String c;
private final String d;
private final String e;
private final Map<String, Object> f;
private boolean h;
private i i;
private i j;
private final LicenseFailurePromptContentMapper g = new LicenseFailurePromptContentMapper();
private boolean k = false;
public i a(boolean z) {
this.k = z;
return this;
}
public void a(i iVar) {
this.i = iVar;
}
public abstract boolean a(SuccessResult successResult) throws Exception;
public e b() {
return this.b;
}
public void b(i iVar) {
this.j = iVar;
}
public void b(boolean z) {
this.h = z;
}
public String c() {
return this.c;
}
public Map<String, Object> getCommandData() {
return this.f;
}
public String getCommandName() {
return this.d;
}
public String getCommandVersion() {
return this.e;
}
public boolean isExecutionNeeded() {
return true;
}
public i(e eVar, String str, String str2) {
this.b = eVar;
String requestId = eVar.c().toString();
this.c = requestId;
this.d = str;
this.e = str2;
HashMap hashMap = new HashMap();
this.f = hashMap;
hashMap.put("requestId", requestId);
hashMap.put("sdkVersion", PurchasingService.SDK_VERSION);
this.h = true;
this.i = null;
this.j = null;
}
public void a(String str, Object obj) {
this.f.put(str, obj);
}
private void a(PromptContent promptContent) {
if (promptContent == null) {
return;
}
Kiwi.getPromptManager().present(new b(promptContent));
}
public final void onSuccess(SuccessResult successResult) throws RemoteException {
boolean z;
i iVar;
String str = (String) successResult.getData().get("errorMessage");
com.amazon.device.iap.internal.util.e.a(a, "onSuccess: result = " + successResult + ", errorMessage: " + str);
if (!com.amazon.device.iap.internal.util.d.a(str)) {
if (this.k) {
return;
}
this.b.b();
return;
}
try {
z = a(successResult);
} catch (Exception e) {
com.amazon.device.iap.internal.util.e.b(a, "Error calling onResult: " + e);
z = false;
}
if (z && (iVar = this.i) != null) {
iVar.a_();
} else {
if (this.k) {
return;
}
if (z) {
this.b.a();
} else {
this.b.b();
}
}
}
public final void onFailure(FailureResult failureResult) throws RemoteException, KiwiException {
String str;
i iVar;
com.amazon.device.iap.internal.util.e.a(a, "onFailure: result = " + failureResult);
if (failureResult != null && (str = (String) failureResult.getExtensionData().get("maxVersion")) != null && str.equalsIgnoreCase("1.0") && (iVar = this.j) != null) {
iVar.a(this.k);
this.j.a_();
return;
}
if (this.h) {
a(new PromptContent(failureResult.getDisplayableName(), failureResult.getDisplayableMessage(), failureResult.getButtonLabel(), failureResult.show()));
}
if (this.k) {
return;
}
this.b.b();
}
public final void onException(KiwiException kiwiException) {
i iVar;
com.amazon.device.iap.internal.util.e.a(a, "onException: exception = " + kiwiException.getMessage());
if ("UNHANDLED_EXCEPTION".equals(kiwiException.getType()) && "2.0".equals(this.e) && (iVar = this.j) != null) {
iVar.a(this.k);
this.j.a_();
return;
}
if (this.h) {
a(this.g.map(kiwiException));
}
if (this.k) {
return;
}
this.b.b();
}
public void a_() {
Kiwi.addCommandToCommandTaskPipeline(this);
}
}

View File

@@ -0,0 +1,22 @@
package com.amazon.device.iap.internal;
import android.content.Context;
import android.content.Intent;
import com.amazon.device.iap.model.FulfillmentResult;
import com.amazon.device.iap.model.RequestId;
import java.util.Set;
/* loaded from: classes.dex */
public interface c {
void a(Context context, Intent intent);
void a(RequestId requestId);
void a(RequestId requestId, String str);
void a(RequestId requestId, String str, FulfillmentResult fulfillmentResult);
void a(RequestId requestId, Set<String> set);
void a(RequestId requestId, boolean z);
}

View File

@@ -0,0 +1,154 @@
package com.amazon.device.iap.internal.c;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Handler;
import com.amazon.device.iap.model.Receipt;
import com.facebook.internal.security.CertificateUtil;
import com.ironsource.v8;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public class a {
private static final String a = "a";
private static final String b = a.class.getName() + "_PREFS";
private static final String c = a.class.getName() + "_CLEANER_PREFS";
private static int d = 604800000;
private static final a e = new a();
public static a a() {
return e;
}
public void a(String str, String str2, String str3, String str4) {
com.amazon.device.iap.internal.util.e.a(a, "enter saveReceipt for receipt [" + str4 + v8.i.e);
try {
com.amazon.device.iap.internal.util.d.a(str2, "userId");
com.amazon.device.iap.internal.util.d.a(str3, "receiptId");
com.amazon.device.iap.internal.util.d.a(str4, "receiptString");
Context b2 = com.amazon.device.iap.internal.d.d().b();
com.amazon.device.iap.internal.util.d.a(b2, "context");
d dVar = new d(str2, str4, str, System.currentTimeMillis());
SharedPreferences.Editor edit = b2.getSharedPreferences(b, 0).edit();
edit.putString(str3, dVar.d());
edit.commit();
} catch (Throwable th) {
com.amazon.device.iap.internal.util.e.a(a, "error in saving pending receipt:" + str + "/" + str4 + CertificateUtil.DELIMITER + th.getMessage());
}
com.amazon.device.iap.internal.util.e.a(a, "leaving saveReceipt for receipt id [" + str3 + v8.i.e);
}
private void e() {
com.amazon.device.iap.internal.util.e.a(a, "enter old receipts cleanup! ");
final Context b2 = com.amazon.device.iap.internal.d.d().b();
com.amazon.device.iap.internal.util.d.a(b2, "context");
a(System.currentTimeMillis());
new Handler().post(new Runnable() { // from class: com.amazon.device.iap.internal.c.a.1
@Override // java.lang.Runnable
public void run() {
try {
com.amazon.device.iap.internal.util.e.a(a.a, "perform house keeping! ");
SharedPreferences sharedPreferences = b2.getSharedPreferences(a.b, 0);
for (String str : sharedPreferences.getAll().keySet()) {
try {
if (System.currentTimeMillis() - d.a(sharedPreferences.getString(str, null)).c() > a.d) {
com.amazon.device.iap.internal.util.e.a(a.a, "house keeping - try remove Receipt:" + str + " since it's too old");
a.this.a(str);
}
} catch (e unused) {
com.amazon.device.iap.internal.util.e.a(a.a, "house keeping - try remove Receipt:" + str + " since it's invalid ");
a.this.a(str);
}
}
} catch (Throwable th) {
com.amazon.device.iap.internal.util.e.a(a.a, "Error in running cleaning job:" + th);
}
}
});
}
public void a(String str) {
String str2 = a;
com.amazon.device.iap.internal.util.e.a(str2, "enter removeReceipt for receipt[" + str + v8.i.e);
Context b2 = com.amazon.device.iap.internal.d.d().b();
com.amazon.device.iap.internal.util.d.a(b2, "context");
SharedPreferences.Editor edit = b2.getSharedPreferences(b, 0).edit();
edit.remove(str);
edit.commit();
com.amazon.device.iap.internal.util.e.a(str2, "leave removeReceipt for receipt[" + str + v8.i.e);
}
private long f() {
Context b2 = com.amazon.device.iap.internal.d.d().b();
com.amazon.device.iap.internal.util.d.a(b2, "context");
long currentTimeMillis = System.currentTimeMillis();
long j = b2.getSharedPreferences(c, 0).getLong("LAST_CLEANING_TIME", 0L);
if (j != 0) {
return j;
}
a(currentTimeMillis);
return currentTimeMillis;
}
private void a(long j) {
Context b2 = com.amazon.device.iap.internal.d.d().b();
com.amazon.device.iap.internal.util.d.a(b2, "context");
SharedPreferences.Editor edit = b2.getSharedPreferences(c, 0).edit();
edit.putLong("LAST_CLEANING_TIME", j);
edit.commit();
}
public Set<Receipt> b(String str) {
Context b2 = com.amazon.device.iap.internal.d.d().b();
com.amazon.device.iap.internal.util.d.a(b2, "context");
String str2 = a;
com.amazon.device.iap.internal.util.e.a(str2, "enter getLocalReceipts for user[" + str + v8.i.e);
HashSet hashSet = new HashSet();
if (com.amazon.device.iap.internal.util.d.a(str)) {
com.amazon.device.iap.internal.util.e.b(str2, "empty UserId: " + str);
throw new RuntimeException("Invalid UserId:" + str);
}
Map<String, ?> all = b2.getSharedPreferences(b, 0).getAll();
for (String str3 : all.keySet()) {
String str4 = (String) all.get(str3);
try {
d a2 = d.a(str4);
hashSet.add(com.amazon.device.iap.internal.util.a.a(new JSONObject(a2.b()), str, a2.a()));
} catch (com.amazon.device.iap.internal.b.d unused) {
a(str3);
com.amazon.device.iap.internal.util.e.b(a, "failed to verify signature:[" + str4 + v8.i.e);
} catch (JSONException unused2) {
a(str3);
com.amazon.device.iap.internal.util.e.b(a, "failed to convert string to JSON object:[" + str4 + v8.i.e);
} catch (Throwable unused3) {
com.amazon.device.iap.internal.util.e.b(a, "failed to load the receipt from SharedPreference:[" + str4 + v8.i.e);
}
}
com.amazon.device.iap.internal.util.e.a(a, "leaving getLocalReceipts for user[" + str + "], " + hashSet.size() + " local receipts found.");
if (System.currentTimeMillis() - f() > d) {
e();
}
return hashSet;
}
public String c(String str) {
Context b2 = com.amazon.device.iap.internal.d.d().b();
com.amazon.device.iap.internal.util.d.a(b2, "context");
if (com.amazon.device.iap.internal.util.d.a(str)) {
com.amazon.device.iap.internal.util.e.b(a, "empty receiptId: " + str);
throw new RuntimeException("Invalid ReceiptId:" + str);
}
String string = b2.getSharedPreferences(b, 0).getString(str, null);
if (string != null) {
try {
return d.a(string).a();
} catch (e unused) {
}
}
return null;
}
}

View File

@@ -0,0 +1,28 @@
package com.amazon.device.iap.internal.c;
import java.util.Set;
import java.util.concurrent.ConcurrentSkipListSet;
/* loaded from: classes.dex */
public class b {
private static final b b = new b();
private final Set<String> a = new ConcurrentSkipListSet();
public static b a() {
return b;
}
public boolean a(String str) {
if (com.amazon.device.iap.internal.util.d.a(str)) {
return false;
}
return this.a.remove(str);
}
public void b(String str) {
if (com.amazon.device.iap.internal.util.d.a(str)) {
return;
}
this.a.add(str);
}
}

View File

@@ -0,0 +1,51 @@
package com.amazon.device.iap.internal.c;
import android.content.Context;
import android.content.SharedPreferences;
import com.applovin.sdk.AppLovinEventParameters;
import com.facebook.internal.security.CertificateUtil;
import com.ironsource.v8;
/* loaded from: classes.dex */
public class c {
private static c a = new c();
private static final String b = c.class.getSimpleName();
private static final String c = c.class.getName() + "_PREFS_";
public static c a() {
return a;
}
public void a(String str, String str2, String str3) {
com.amazon.device.iap.internal.util.e.a(b, "enter saveEntitlementRecord for v1 Entitlement [" + str2 + "/" + str3 + "], user [" + str + v8.i.e);
try {
com.amazon.device.iap.internal.util.d.a(str, "userId");
com.amazon.device.iap.internal.util.d.a(str2, "receiptId");
com.amazon.device.iap.internal.util.d.a(str3, AppLovinEventParameters.PRODUCT_IDENTIFIER);
Context b2 = com.amazon.device.iap.internal.d.d().b();
com.amazon.device.iap.internal.util.d.a(b2, "context");
SharedPreferences.Editor edit = b2.getSharedPreferences(c + str, 0).edit();
edit.putString(str3, str2);
edit.commit();
} catch (Throwable th) {
com.amazon.device.iap.internal.util.e.a(b, "error in saving v1 Entitlement:" + str2 + "/" + str3 + CertificateUtil.DELIMITER + th.getMessage());
}
com.amazon.device.iap.internal.util.e.a(b, "leaving saveEntitlementRecord for v1 Entitlement [" + str2 + "/" + str3 + "], user [" + str + v8.i.e);
}
public String a(String str, String str2) {
com.amazon.device.iap.internal.util.e.a(b, "enter getReceiptIdFromSku for sku [" + str2 + "], user [" + str + v8.i.e);
String str3 = null;
try {
com.amazon.device.iap.internal.util.d.a(str, "userId");
com.amazon.device.iap.internal.util.d.a(str2, AppLovinEventParameters.PRODUCT_IDENTIFIER);
Context b2 = com.amazon.device.iap.internal.d.d().b();
com.amazon.device.iap.internal.util.d.a(b2, "context");
str3 = b2.getSharedPreferences(c + str, 0).getString(str2, null);
} catch (Throwable th) {
com.amazon.device.iap.internal.util.e.a(b, "error in saving v1 Entitlement:" + str2 + CertificateUtil.DELIMITER + th.getMessage());
}
com.amazon.device.iap.internal.util.e.a(b, "leaving saveEntitlementRecord for sku [" + str2 + "], user [" + str + v8.i.e);
return str3;
}
}

View File

@@ -0,0 +1,49 @@
package com.amazon.device.iap.internal.c;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
class d {
private final String a;
private final String b;
private final long c;
private final String d;
public String a() {
return this.d;
}
public String b() {
return this.b;
}
public long c() {
return this.c;
}
public d(String str, String str2, String str3, long j) {
this.a = str;
this.b = str2;
this.d = str3;
this.c = j;
}
public static d a(String str) throws e {
try {
JSONObject jSONObject = new JSONObject(str);
return new d(jSONObject.getString("KEY_USER_ID"), jSONObject.getString("KEY_RECEIPT_STRING"), jSONObject.getString("KEY_REQUEST_ID"), jSONObject.getLong("KEY_TIMESTAMP"));
} catch (Throwable th) {
throw new e("Input invalid for PendingReceipt Object:" + str, th);
}
}
public String d() throws JSONException {
JSONObject jSONObject = new JSONObject();
jSONObject.put("KEY_USER_ID", this.a);
jSONObject.put("KEY_RECEIPT_STRING", this.b);
jSONObject.put("KEY_REQUEST_ID", this.d);
jSONObject.put("KEY_TIMESTAMP", this.c);
return jSONObject.toString();
}
}

View File

@@ -0,0 +1,16 @@
package com.amazon.device.iap.internal.c;
/* loaded from: classes.dex */
class e extends Exception {
public e(Throwable th) {
super(th);
}
public e(String str) {
super(str);
}
public e(String str, Throwable th) {
super(str, th);
}
}

View File

@@ -0,0 +1,109 @@
package com.amazon.device.iap.internal;
import android.content.Context;
import android.content.Intent;
import com.amazon.device.iap.PurchasingListener;
import com.amazon.device.iap.model.FulfillmentResult;
import com.amazon.device.iap.model.RequestId;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
/* loaded from: classes.dex */
public class d {
private static String a = "d";
private static String b = "sku";
private static d c = new d();
private final c d = e.b();
private Context e;
private PurchasingListener f;
public static d d() {
return c;
}
public PurchasingListener a() {
return this.f;
}
public Context b() {
return this.e;
}
private d() {
}
private void e() {
if (this.f == null) {
throw new IllegalStateException("You must register a PurchasingListener before invoking this operation");
}
}
public void a(Context context, PurchasingListener purchasingListener) {
com.amazon.device.iap.internal.util.e.a(a, "PurchasingListener registered: " + purchasingListener);
com.amazon.device.iap.internal.util.e.a(a, "PurchasingListener Context: " + context);
if (purchasingListener == null || context == null) {
throw new IllegalArgumentException("Neither PurchasingListener or its Context can be null");
}
this.e = context.getApplicationContext();
this.f = purchasingListener;
}
public RequestId c() {
e();
RequestId requestId = new RequestId();
this.d.a(requestId);
return requestId;
}
public RequestId a(String str) {
com.amazon.device.iap.internal.util.d.a((Object) str, b);
e();
RequestId requestId = new RequestId();
this.d.a(requestId, str);
return requestId;
}
public RequestId a(Set<String> set) {
com.amazon.device.iap.internal.util.d.a((Object) set, "skus");
com.amazon.device.iap.internal.util.d.a((Collection<? extends Object>) set, "skus");
Iterator<String> it = set.iterator();
while (it.hasNext()) {
if (it.next().trim().length() == 0) {
throw new IllegalArgumentException("Empty SKU values are not allowed");
}
}
if (set.size() > 100) {
throw new IllegalArgumentException(set.size() + " SKUs were provided, but no more than 100 SKUs are allowed");
}
e();
RequestId requestId = new RequestId();
this.d.a(requestId, new LinkedHashSet(set));
return requestId;
}
public RequestId a(boolean z) {
e();
RequestId requestId = new RequestId();
this.d.a(requestId, z);
return requestId;
}
public void a(String str, FulfillmentResult fulfillmentResult) {
if (com.amazon.device.iap.internal.util.d.a(str)) {
throw new IllegalArgumentException("Empty receiptId is not allowed");
}
com.amazon.device.iap.internal.util.d.a(fulfillmentResult, "fulfillmentResult");
e();
this.d.a(new RequestId(), str, fulfillmentResult);
}
public void a(Context context, Intent intent) {
try {
this.d.a(context, intent);
} catch (Exception e) {
com.amazon.device.iap.internal.util.e.b(a, "Error in onReceive: " + e);
}
}
}

View File

@@ -0,0 +1,88 @@
package com.amazon.device.iap.internal;
import android.util.Log;
import com.amazon.device.iap.internal.b.g;
/* loaded from: classes.dex */
public final class e {
private static final String a = "com.amazon.device.iap.internal.e";
private static volatile boolean b;
private static volatile boolean c;
private static volatile c d;
private static volatile a e;
private static volatile b f;
private static b d() {
if (f == null) {
synchronized (e.class) {
try {
if (f == null) {
if (a()) {
f = new com.amazon.device.iap.internal.a.d();
} else {
f = new g();
}
}
} finally {
}
}
}
return f;
}
public static boolean a() {
if (c) {
return b;
}
synchronized (e.class) {
if (c) {
return b;
}
try {
e.class.getClassLoader().loadClass("com.amazon.android.Kiwi");
b = false;
} catch (Throwable unused) {
b = true;
}
c = true;
return b;
}
}
public static c b() {
if (d == null) {
synchronized (e.class) {
try {
if (d == null) {
d = (c) a(c.class);
}
} finally {
}
}
}
return d;
}
public static a c() {
if (e == null) {
synchronized (e.class) {
try {
if (e == null) {
e = (a) a(a.class);
}
} finally {
}
}
}
return e;
}
private static <T> T a(Class<T> cls) {
try {
return d().a(cls).newInstance();
} catch (Exception e2) {
Log.e(a, "error getting instance for " + cls, e2);
return null;
}
}
}

View File

@@ -0,0 +1,72 @@
package com.amazon.device.iap.internal.model;
import com.amazon.device.iap.model.Product;
import com.amazon.device.iap.model.ProductType;
/* loaded from: classes.dex */
public class ProductBuilder {
private String description;
private String price;
private ProductType productType;
private String sku;
private String smallIconUrl;
private String title;
public String getDescription() {
return this.description;
}
public String getPrice() {
return this.price;
}
public ProductType getProductType() {
return this.productType;
}
public String getSku() {
return this.sku;
}
public String getSmallIconUrl() {
return this.smallIconUrl;
}
public String getTitle() {
return this.title;
}
public ProductBuilder setDescription(String str) {
this.description = str;
return this;
}
public ProductBuilder setPrice(String str) {
this.price = str;
return this;
}
public ProductBuilder setProductType(ProductType productType) {
this.productType = productType;
return this;
}
public ProductBuilder setSku(String str) {
this.sku = str;
return this;
}
public ProductBuilder setSmallIconUrl(String str) {
this.smallIconUrl = str;
return this;
}
public ProductBuilder setTitle(String str) {
this.title = str;
return this;
}
public Product build() {
return new Product(this);
}
}

View File

@@ -0,0 +1,55 @@
package com.amazon.device.iap.internal.model;
import com.amazon.device.iap.model.Product;
import com.amazon.device.iap.model.ProductDataResponse;
import com.amazon.device.iap.model.RequestId;
import java.util.Map;
import java.util.Set;
/* loaded from: classes.dex */
public class ProductDataResponseBuilder {
private Map<String, Product> productData;
private RequestId requestId;
private ProductDataResponse.RequestStatus requestStatus;
private Set<String> unavailableSkus;
public Map<String, Product> getProductData() {
return this.productData;
}
public RequestId getRequestId() {
return this.requestId;
}
public ProductDataResponse.RequestStatus getRequestStatus() {
return this.requestStatus;
}
public Set<String> getUnavailableSkus() {
return this.unavailableSkus;
}
public ProductDataResponseBuilder setProductData(Map<String, Product> map) {
this.productData = map;
return this;
}
public ProductDataResponseBuilder setRequestId(RequestId requestId) {
this.requestId = requestId;
return this;
}
public ProductDataResponseBuilder setRequestStatus(ProductDataResponse.RequestStatus requestStatus) {
this.requestStatus = requestStatus;
return this;
}
public ProductDataResponseBuilder setUnavailableSkus(Set<String> set) {
this.unavailableSkus = set;
return this;
}
public ProductDataResponse build() {
return new ProductDataResponse(this);
}
}

View File

@@ -0,0 +1,54 @@
package com.amazon.device.iap.internal.model;
import com.amazon.device.iap.model.PurchaseResponse;
import com.amazon.device.iap.model.Receipt;
import com.amazon.device.iap.model.RequestId;
import com.amazon.device.iap.model.UserData;
/* loaded from: classes.dex */
public class PurchaseResponseBuilder {
private Receipt receipt;
private RequestId requestId;
private PurchaseResponse.RequestStatus requestStatus;
private UserData userData;
public Receipt getReceipt() {
return this.receipt;
}
public RequestId getRequestId() {
return this.requestId;
}
public PurchaseResponse.RequestStatus getRequestStatus() {
return this.requestStatus;
}
public UserData getUserData() {
return this.userData;
}
public PurchaseResponseBuilder setReceipt(Receipt receipt) {
this.receipt = receipt;
return this;
}
public PurchaseResponseBuilder setRequestId(RequestId requestId) {
this.requestId = requestId;
return this;
}
public PurchaseResponseBuilder setRequestStatus(PurchaseResponse.RequestStatus requestStatus) {
this.requestStatus = requestStatus;
return this;
}
public PurchaseResponseBuilder setUserData(UserData userData) {
this.userData = userData;
return this;
}
public PurchaseResponse build() {
return new PurchaseResponse(this);
}
}

View File

@@ -0,0 +1,65 @@
package com.amazon.device.iap.internal.model;
import com.amazon.device.iap.model.PurchaseUpdatesResponse;
import com.amazon.device.iap.model.Receipt;
import com.amazon.device.iap.model.RequestId;
import com.amazon.device.iap.model.UserData;
import java.util.List;
/* loaded from: classes.dex */
public class PurchaseUpdatesResponseBuilder {
private boolean hasMore;
private List<Receipt> receipts;
private RequestId requestId;
private PurchaseUpdatesResponse.RequestStatus requestStatus;
private UserData userData;
public List<Receipt> getReceipts() {
return this.receipts;
}
public RequestId getRequestId() {
return this.requestId;
}
public PurchaseUpdatesResponse.RequestStatus getRequestStatus() {
return this.requestStatus;
}
public UserData getUserData() {
return this.userData;
}
public boolean hasMore() {
return this.hasMore;
}
public PurchaseUpdatesResponseBuilder setHasMore(boolean z) {
this.hasMore = z;
return this;
}
public PurchaseUpdatesResponseBuilder setReceipts(List<Receipt> list) {
this.receipts = list;
return this;
}
public PurchaseUpdatesResponseBuilder setRequestId(RequestId requestId) {
this.requestId = requestId;
return this;
}
public PurchaseUpdatesResponseBuilder setRequestStatus(PurchaseUpdatesResponse.RequestStatus requestStatus) {
this.requestStatus = requestStatus;
return this;
}
public PurchaseUpdatesResponseBuilder setUserData(UserData userData) {
this.userData = userData;
return this;
}
public PurchaseUpdatesResponse build() {
return new PurchaseUpdatesResponse(this);
}
}

View File

@@ -0,0 +1,63 @@
package com.amazon.device.iap.internal.model;
import com.amazon.device.iap.model.ProductType;
import com.amazon.device.iap.model.Receipt;
import java.util.Date;
/* loaded from: classes.dex */
public class ReceiptBuilder {
private Date cancelDate;
private ProductType productType;
private Date purchaseDate;
private String receiptId;
private String sku;
public Date getCancelDate() {
return this.cancelDate;
}
public ProductType getProductType() {
return this.productType;
}
public Date getPurchaseDate() {
return this.purchaseDate;
}
public String getReceiptId() {
return this.receiptId;
}
public String getSku() {
return this.sku;
}
public ReceiptBuilder setCancelDate(Date date) {
this.cancelDate = date;
return this;
}
public ReceiptBuilder setProductType(ProductType productType) {
this.productType = productType;
return this;
}
public ReceiptBuilder setPurchaseDate(Date date) {
this.purchaseDate = date;
return this;
}
public ReceiptBuilder setReceiptId(String str) {
this.receiptId = str;
return this;
}
public ReceiptBuilder setSku(String str) {
this.sku = str;
return this;
}
public Receipt build() {
return new Receipt(this);
}
}

View File

@@ -0,0 +1,31 @@
package com.amazon.device.iap.internal.model;
import com.amazon.device.iap.model.UserData;
/* loaded from: classes.dex */
public class UserDataBuilder {
private String marketplace;
private String userId;
public String getMarketplace() {
return this.marketplace;
}
public String getUserId() {
return this.userId;
}
public UserDataBuilder setMarketplace(String str) {
this.marketplace = str;
return this;
}
public UserDataBuilder setUserId(String str) {
this.userId = str;
return this;
}
public UserData build() {
return new UserData(this);
}
}

View File

@@ -0,0 +1,43 @@
package com.amazon.device.iap.internal.model;
import com.amazon.device.iap.model.RequestId;
import com.amazon.device.iap.model.UserData;
import com.amazon.device.iap.model.UserDataResponse;
/* loaded from: classes.dex */
public class UserDataResponseBuilder {
private RequestId requestId;
private UserDataResponse.RequestStatus requestStatus;
private UserData userData;
public RequestId getRequestId() {
return this.requestId;
}
public UserDataResponse.RequestStatus getRequestStatus() {
return this.requestStatus;
}
public UserData getUserData() {
return this.userData;
}
public UserDataResponseBuilder setRequestId(RequestId requestId) {
this.requestId = requestId;
return this;
}
public UserDataResponseBuilder setRequestStatus(UserDataResponse.RequestStatus requestStatus) {
this.requestStatus = requestStatus;
return this;
}
public UserDataResponseBuilder setUserData(UserData userData) {
this.userData = userData;
return this;
}
public UserDataResponse build() {
return new UserDataResponse(this);
}
}

View File

@@ -0,0 +1,7 @@
package com.amazon.device.iap.internal.model;
/* loaded from: classes.dex */
public enum a {
DELIVERED,
DELIVERY_ATTEMPTED
}

View File

@@ -0,0 +1,54 @@
package com.amazon.device.iap.internal.util;
import com.amazon.device.iap.model.RequestId;
import org.json.JSONObject;
/* loaded from: classes.dex */
public class MetricsHelper {
private static final String DESCRIPTION = "description";
private static final String EXCEPTION_MESSAGE = "exceptionMessage";
private static final String EXCEPTION_METRIC = "GenericException";
private static final String JSON_PARSING_EXCEPTION_METRIC = "JsonParsingFailed";
private static final String JSON_STRING = "jsonString";
private static final String RECEIPT_VERIFICATION_FAILED_METRIC = "IapReceiptVerificationFailed";
private static final String SIGNATURE = "signature";
private static final String STRING_TO_SIGN = "stringToSign";
private static final String TAG = "MetricsHelper";
public static void submitMetric(String str, String str2, JSONObject jSONObject) {
new com.amazon.device.iap.internal.b.h.a(new com.amazon.device.iap.internal.b.e(RequestId.fromString(str)), str2, jSONObject.toString()).a_();
}
public static void submitReceiptVerificationFailureMetrics(String str, String str2, String str3) {
try {
JSONObject jSONObject = new JSONObject();
jSONObject.put(STRING_TO_SIGN, str2);
jSONObject.put("signature", str3);
submitMetric(str, RECEIPT_VERIFICATION_FAILED_METRIC, jSONObject);
} catch (Exception e) {
e.b(TAG, "error calling submitMetric: " + e);
}
}
public static void submitJsonParsingExceptionMetrics(String str, String str2, String str3) {
try {
JSONObject jSONObject = new JSONObject();
jSONObject.put(JSON_STRING, str2);
jSONObject.put("description", str3);
submitMetric(str, JSON_PARSING_EXCEPTION_METRIC, jSONObject);
} catch (Exception e) {
e.b(TAG, "error calling submitMetric: " + e);
}
}
public static void submitExceptionMetrics(String str, String str2, Exception exc) {
try {
JSONObject jSONObject = new JSONObject();
jSONObject.put(EXCEPTION_MESSAGE, exc.getMessage());
jSONObject.put("description", str2);
submitMetric(str, EXCEPTION_METRIC, jSONObject);
} catch (Exception e) {
e.b(TAG, "error calling submitMetric: " + e);
}
}
}

View File

@@ -0,0 +1,176 @@
package com.amazon.device.iap.internal.util;
import com.amazon.android.Kiwi;
import com.amazon.device.iap.PurchasingService;
import com.amazon.device.iap.internal.model.ReceiptBuilder;
import com.amazon.device.iap.model.ProductType;
import com.amazon.device.iap.model.Receipt;
import com.applovin.sdk.AppLovinEventParameters;
import com.unity3d.ads.metadata.InAppPurchaseMetaData;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public class a {
private static final String a = "a";
public static Receipt a(JSONObject jSONObject, String str, String str2) throws com.amazon.device.iap.internal.b.a, com.amazon.device.iap.internal.b.d, IllegalArgumentException {
int i = AnonymousClass1.a[b(jSONObject).ordinal()];
if (i == 1) {
return c(jSONObject, str, str2);
}
if (i == 2) {
return b(jSONObject, str, str2);
}
return d(jSONObject, str, str2);
}
/* renamed from: com.amazon.device.iap.internal.util.a$1, reason: invalid class name */
public static /* synthetic */ class AnonymousClass1 {
static final /* synthetic */ int[] a;
static {
int[] iArr = new int[c.values().length];
a = iArr;
try {
iArr[c.V1.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
a[c.LEGACY.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
a[c.V2.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
}
}
private static Receipt b(JSONObject jSONObject, String str, String str2) throws com.amazon.device.iap.internal.b.a, com.amazon.device.iap.internal.b.d {
String optString = jSONObject.optString(InAppPurchaseMetaData.KEY_SIGNATURE);
if (d.a(optString)) {
e.b(a, "a signature was not found in the receipt for request ID " + str2);
MetricsHelper.submitReceiptVerificationFailureMetrics(str2, "NO Signature found", optString);
throw new com.amazon.device.iap.internal.b.d(str2, null, optString);
}
try {
Receipt a2 = a(jSONObject);
String str3 = str + "-" + a2.getReceiptId();
boolean isSignedByKiwi = Kiwi.isSignedByKiwi(str3, optString);
e.a(a, "stringToVerify/legacy:\n" + str3 + "\nsignature:\n" + optString);
if (isSignedByKiwi) {
return a2;
}
MetricsHelper.submitReceiptVerificationFailureMetrics(str2, str3, optString);
throw new com.amazon.device.iap.internal.b.d(str2, str3, optString);
} catch (JSONException e) {
throw new com.amazon.device.iap.internal.b.a(str2, jSONObject.toString(), e);
}
}
private static Receipt a(JSONObject jSONObject) throws JSONException {
String optString = jSONObject.optString("token");
String string = jSONObject.getString(AppLovinEventParameters.PRODUCT_IDENTIFIER);
ProductType valueOf = ProductType.valueOf(jSONObject.getString("itemType").toUpperCase());
String optString2 = jSONObject.optString("startDate");
Date b = a(optString2) ? null : b(optString2);
String optString3 = jSONObject.optString("endDate");
return new ReceiptBuilder().setReceiptId(optString).setSku(string).setProductType(valueOf).setPurchaseDate(b).setCancelDate(a(optString3) ? null : b(optString3)).build();
}
private static Receipt c(JSONObject jSONObject, String str, String str2) throws com.amazon.device.iap.internal.b.a, com.amazon.device.iap.internal.b.d {
String optString = jSONObject.optString("DeviceId");
String optString2 = jSONObject.optString(InAppPurchaseMetaData.KEY_SIGNATURE);
if (d.a(optString2)) {
e.b(a, "a signature was not found in the receipt for request ID " + str2);
MetricsHelper.submitReceiptVerificationFailureMetrics(str2, "NO Signature found", optString2);
throw new com.amazon.device.iap.internal.b.d(str2, null, optString2);
}
try {
Receipt a2 = a(jSONObject);
Object[] objArr = new Object[9];
objArr[0] = PurchasingService.SDK_VERSION;
objArr[1] = str;
objArr[2] = optString;
objArr[3] = a2.getProductType();
objArr[4] = a2.getSku();
objArr[5] = a2.getReceiptId();
objArr[6] = str2;
ProductType productType = ProductType.SUBSCRIPTION;
objArr[7] = productType == a2.getProductType() ? a2.getPurchaseDate() : null;
objArr[8] = productType == a2.getProductType() ? a2.getCancelDate() : null;
String format = String.format("%s|%s|%s|%s|%s|%s|%s|%tQ|%tQ", objArr);
e.a(a, "stringToVerify/v1:\n" + format + "\nsignature:\n" + optString2);
if (Kiwi.isSignedByKiwi(format, optString2)) {
return a2;
}
MetricsHelper.submitReceiptVerificationFailureMetrics(str2, format, optString2);
throw new com.amazon.device.iap.internal.b.d(str2, format, optString2);
} catch (JSONException e) {
throw new com.amazon.device.iap.internal.b.a(str2, jSONObject.toString(), e);
}
}
private static Receipt d(JSONObject jSONObject, String str, String str2) throws com.amazon.device.iap.internal.b.a, com.amazon.device.iap.internal.b.d {
String optString = jSONObject.optString("DeviceId");
String optString2 = jSONObject.optString(InAppPurchaseMetaData.KEY_SIGNATURE);
Date date = null;
if (d.a(optString2)) {
e.b(a, "a signature was not found in the receipt for request ID " + str2);
MetricsHelper.submitReceiptVerificationFailureMetrics(str2, "NO Signature found", optString2);
throw new com.amazon.device.iap.internal.b.d(str2, null, optString2);
}
try {
String string = jSONObject.getString("receiptId");
String string2 = jSONObject.getString(AppLovinEventParameters.PRODUCT_IDENTIFIER);
ProductType valueOf = ProductType.valueOf(jSONObject.getString("itemType").toUpperCase());
String optString3 = jSONObject.optString("purchaseDate");
Date b = a(optString3) ? null : b(optString3);
String optString4 = jSONObject.optString("cancelDate");
if (!a(optString4)) {
date = b(optString4);
}
Receipt build = new ReceiptBuilder().setReceiptId(string).setSku(string2).setProductType(valueOf).setPurchaseDate(b).setCancelDate(date).build();
String format = String.format("%s|%s|%s|%s|%s|%tQ|%tQ", str, optString, build.getProductType(), build.getSku(), build.getReceiptId(), build.getPurchaseDate(), build.getCancelDate());
e.a(a, "stringToVerify/v2:\n" + format + "\nsignature:\n" + optString2);
if (Kiwi.isSignedByKiwi(format, optString2)) {
return build;
}
MetricsHelper.submitReceiptVerificationFailureMetrics(str2, format, optString2);
throw new com.amazon.device.iap.internal.b.d(str2, format, optString2);
} catch (JSONException e) {
throw new com.amazon.device.iap.internal.b.a(str2, jSONObject.toString(), e);
}
}
public static boolean a(String str) {
return str == null || str.trim().length() == 0;
}
public static Date b(String str) throws JSONException {
try {
Date parse = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss").parse(str);
if (0 == parse.getTime()) {
return null;
}
return parse;
} catch (ParseException e) {
throw new JSONException(e.getMessage());
}
}
private static c b(JSONObject jSONObject) {
String optString = jSONObject.optString("DeviceId");
if (!d.a(jSONObject.optString("receiptId"))) {
return c.V2;
}
if (d.a(optString)) {
return c.LEGACY;
}
return c.V1;
}
}

View File

@@ -0,0 +1,25 @@
package com.amazon.device.iap.internal.util;
import android.content.Context;
import android.content.SharedPreferences;
/* loaded from: classes.dex */
public class b {
private static final String a = b.class.getName() + "_PREFS";
public static String a(String str) {
d.a((Object) str, "userId");
Context b = com.amazon.device.iap.internal.d.d().b();
d.a(b, "context");
return b.getSharedPreferences(a, 0).getString(str, null);
}
public static void a(String str, String str2) {
d.a((Object) str, "userId");
Context b = com.amazon.device.iap.internal.d.d().b();
d.a(b, "context");
SharedPreferences.Editor edit = b.getSharedPreferences(a, 0).edit();
edit.putString(str, str2);
edit.commit();
}
}

View File

@@ -0,0 +1,14 @@
package com.amazon.device.iap.internal.util;
/* loaded from: classes.dex */
public enum c {
LEGACY(0),
V1(1),
V2(2);
private int d;
c(int i) {
this.d = i;
}
}

View File

@@ -0,0 +1,29 @@
package com.amazon.device.iap.internal.util;
import java.util.Collection;
/* loaded from: classes.dex */
public class d {
public static void a(Object obj, String str) {
if (obj != null) {
return;
}
throw new IllegalArgumentException(str + " must not be null");
}
public static void a(String str, String str2) {
if (a(str)) {
throw new IllegalArgumentException(str2 + " must not be null or empty");
}
}
public static void a(Collection<? extends Object> collection, String str) {
if (collection.isEmpty()) {
throw new IllegalArgumentException(str + " must not be empty");
}
}
public static boolean a(String str) {
return str == null || str.trim().length() == 0;
}
}

View File

@@ -0,0 +1,24 @@
package com.amazon.device.iap.internal.util;
/* loaded from: classes.dex */
public class e {
public static boolean a() {
return com.amazon.device.iap.internal.e.c().a();
}
public static boolean b() {
return com.amazon.device.iap.internal.e.c().b();
}
public static void a(String str, String str2) {
if (a()) {
com.amazon.device.iap.internal.e.c().a(str, str2);
}
}
public static void b(String str, String str2) {
if (b()) {
com.amazon.device.iap.internal.e.c().b(str, str2);
}
}
}

View File

@@ -0,0 +1,7 @@
package com.amazon.device.iap.model;
/* loaded from: classes.dex */
public enum FulfillmentResult {
FULFILLED,
UNAVAILABLE
}

View File

@@ -0,0 +1,121 @@
package com.amazon.device.iap.model;
import android.os.Parcel;
import android.os.Parcelable;
import com.amazon.device.iap.internal.model.ProductBuilder;
import com.amazon.device.iap.internal.util.d;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class Product implements Parcelable {
public static final Parcelable.Creator<Product> CREATOR = new Parcelable.Creator<Product>() { // from class: com.amazon.device.iap.model.Product.1
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public Product createFromParcel(Parcel parcel) {
return new Product(parcel);
}
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public Product[] newArray(int i) {
return new Product[i];
}
};
private static final String DESCRIPTION = "description";
private static final String PRICE = "price";
private static final String PRODUCT_TYPE = "productType";
private static final String SKU = "sku";
private static final String SMALL_ICON_URL = "smallIconUrl";
private static final String TITLE = "title";
private final String description;
private final String price;
private final ProductType productType;
private final String sku;
private final String smallIconUrl;
private final String title;
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
public String getDescription() {
return this.description;
}
public String getPrice() {
return this.price;
}
public ProductType getProductType() {
return this.productType;
}
public String getSku() {
return this.sku;
}
public String getSmallIconUrl() {
return this.smallIconUrl;
}
public String getTitle() {
return this.title;
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(this.sku);
parcel.writeString(this.productType.toString());
parcel.writeString(this.description);
parcel.writeString(this.price);
parcel.writeString(this.smallIconUrl);
parcel.writeString(this.title);
}
private Product(Parcel parcel) {
this.sku = parcel.readString();
this.productType = ProductType.valueOf(parcel.readString());
this.description = parcel.readString();
this.price = parcel.readString();
this.smallIconUrl = parcel.readString();
this.title = parcel.readString();
}
public Product(ProductBuilder productBuilder) {
d.a((Object) productBuilder.getSku(), "sku");
d.a(productBuilder.getProductType(), "productType");
d.a((Object) productBuilder.getDescription(), "description");
d.a((Object) productBuilder.getTitle(), "title");
d.a((Object) productBuilder.getSmallIconUrl(), SMALL_ICON_URL);
if (ProductType.SUBSCRIPTION != productBuilder.getProductType()) {
d.a((Object) productBuilder.getPrice(), "price");
}
this.sku = productBuilder.getSku();
this.productType = productBuilder.getProductType();
this.description = productBuilder.getDescription();
this.price = productBuilder.getPrice();
this.smallIconUrl = productBuilder.getSmallIconUrl();
this.title = productBuilder.getTitle();
}
public JSONObject toJSON() throws JSONException {
JSONObject jSONObject = new JSONObject();
jSONObject.put("sku", this.sku);
jSONObject.put("productType", this.productType);
jSONObject.put("description", this.description);
jSONObject.put("price", this.price);
jSONObject.put(SMALL_ICON_URL, this.smallIconUrl);
jSONObject.put("title", this.title);
return jSONObject;
}
public String toString() {
try {
return toJSON().toString(4);
} catch (JSONException unused) {
return null;
}
}
}

View File

@@ -0,0 +1,88 @@
package com.amazon.device.iap.model;
import com.amazon.device.iap.internal.model.ProductDataResponseBuilder;
import com.amazon.device.iap.internal.util.d;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public class ProductDataResponse {
private static final String PRODUCT_DATA = "productData";
private static final String REQUEST_ID = "requestId";
private static final String REQUEST_STATUS = "requestStatus";
private static final String TO_STRING_FORMAT = "(%s, requestId: \"%s\", unavailableSkus: %s, requestStatus: \"%s\", productData: %s)";
private static final String UNAVAILABLE_SKUS = "UNAVAILABLE_SKUS";
private final Map<String, Product> productData;
private final RequestId requestId;
private final RequestStatus requestStatus;
private final Set<String> unavailableSkus;
public enum RequestStatus {
SUCCESSFUL,
FAILED,
NOT_SUPPORTED
}
public Map<String, Product> getProductData() {
return this.productData;
}
public RequestId getRequestId() {
return this.requestId;
}
public RequestStatus getRequestStatus() {
return this.requestStatus;
}
public Set<String> getUnavailableSkus() {
return this.unavailableSkus;
}
public ProductDataResponse(ProductDataResponseBuilder productDataResponseBuilder) {
d.a(productDataResponseBuilder.getRequestId(), REQUEST_ID);
d.a(productDataResponseBuilder.getRequestStatus(), REQUEST_STATUS);
if (productDataResponseBuilder.getUnavailableSkus() == null) {
productDataResponseBuilder.setUnavailableSkus(new HashSet());
}
if (RequestStatus.SUCCESSFUL == productDataResponseBuilder.getRequestStatus()) {
d.a(productDataResponseBuilder.getProductData(), PRODUCT_DATA);
}
this.requestId = productDataResponseBuilder.getRequestId();
this.requestStatus = productDataResponseBuilder.getRequestStatus();
this.unavailableSkus = productDataResponseBuilder.getUnavailableSkus();
this.productData = productDataResponseBuilder.getProductData();
}
public String toString() {
Object[] objArr = new Object[5];
objArr[0] = super.toString();
objArr[1] = this.requestId;
Set<String> set = this.unavailableSkus;
objArr[2] = set != null ? set.toString() : "null";
RequestStatus requestStatus = this.requestStatus;
objArr[3] = requestStatus != null ? requestStatus.toString() : "null";
Map<String, Product> map = this.productData;
objArr[4] = map != null ? map.toString() : "null";
return String.format(TO_STRING_FORMAT, objArr);
}
public JSONObject toJSON() throws JSONException {
JSONObject jSONObject = new JSONObject();
jSONObject.put(REQUEST_ID, this.requestId);
jSONObject.put(UNAVAILABLE_SKUS, this.unavailableSkus);
jSONObject.put(REQUEST_STATUS, this.requestStatus);
JSONObject jSONObject2 = new JSONObject();
Map<String, Product> map = this.productData;
if (map != null) {
for (String str : map.keySet()) {
jSONObject2.put(str, this.productData.get(str).toJSON());
}
}
jSONObject.put(PRODUCT_DATA, jSONObject2);
return jSONObject;
}
}

View File

@@ -0,0 +1,8 @@
package com.amazon.device.iap.model;
/* loaded from: classes.dex */
public enum ProductType {
CONSUMABLE,
ENTITLED,
SUBSCRIPTION
}

View File

@@ -0,0 +1,84 @@
package com.amazon.device.iap.model;
import com.amazon.device.iap.internal.model.PurchaseResponseBuilder;
import com.amazon.device.iap.internal.util.d;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class PurchaseResponse {
private static final String RECEIPT = "receipt";
private static final String REQUEST_ID = "requestId";
private static final String REQUEST_STATUS = "requestStatus";
private static final String TO_STRING_FORMAT = "(%s, requestId: \"%s\", purchaseRequestStatus: \"%s\", userId: \"%s\", receipt: %s)";
private static final String USER_DATA = "userData";
private final Receipt receipt;
private final RequestId requestId;
private final RequestStatus requestStatus;
private final UserData userData;
public Receipt getReceipt() {
return this.receipt;
}
public RequestId getRequestId() {
return this.requestId;
}
public RequestStatus getRequestStatus() {
return this.requestStatus;
}
public UserData getUserData() {
return this.userData;
}
public enum RequestStatus {
SUCCESSFUL,
FAILED,
INVALID_SKU,
ALREADY_PURCHASED,
NOT_SUPPORTED;
public static RequestStatus safeValueOf(String str) {
if (d.a(str)) {
return null;
}
return "ALREADY_ENTITLED".equalsIgnoreCase(str) ? ALREADY_PURCHASED : valueOf(str.toUpperCase());
}
}
public PurchaseResponse(PurchaseResponseBuilder purchaseResponseBuilder) {
d.a(purchaseResponseBuilder.getRequestId(), REQUEST_ID);
d.a(purchaseResponseBuilder.getRequestStatus(), REQUEST_STATUS);
if (purchaseResponseBuilder.getRequestStatus() == RequestStatus.SUCCESSFUL) {
d.a(purchaseResponseBuilder.getReceipt(), RECEIPT);
d.a(purchaseResponseBuilder.getUserData(), USER_DATA);
}
this.requestId = purchaseResponseBuilder.getRequestId();
this.userData = purchaseResponseBuilder.getUserData();
this.receipt = purchaseResponseBuilder.getReceipt();
this.requestStatus = purchaseResponseBuilder.getRequestStatus();
}
public String toString() {
Object[] objArr = new Object[5];
objArr[0] = super.toString();
objArr[1] = this.requestId;
RequestStatus requestStatus = this.requestStatus;
objArr[2] = requestStatus != null ? requestStatus.toString() : "null";
objArr[3] = this.userData;
objArr[4] = this.receipt;
return String.format(TO_STRING_FORMAT, objArr);
}
public JSONObject toJSON() throws JSONException {
JSONObject jSONObject = new JSONObject();
jSONObject.put(REQUEST_ID, this.requestId);
jSONObject.put(REQUEST_STATUS, this.requestStatus);
UserData userData = this.userData;
jSONObject.put(USER_DATA, userData != null ? userData.toJSON() : "");
jSONObject.put(RECEIPT, getReceipt() != null ? getReceipt().toJSON() : "");
return jSONObject;
}
}

View File

@@ -0,0 +1,97 @@
package com.amazon.device.iap.model;
import com.amazon.device.iap.internal.model.PurchaseUpdatesResponseBuilder;
import com.amazon.device.iap.internal.util.d;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class PurchaseUpdatesResponse {
private static final String HAS_MORE = "HAS_MORE";
private static final String RECEIPTS = "RECEIPTS";
private static final String REQUEST_ID = "REQUEST_ID";
private static final String REQUEST_STATUS = "REQUEST_STATUS";
private static final String TO_STRING_FORMAT = "(%s, requestId: \"%s\", requestStatus: \"%s\", userData: \"%s\", receipts: %s, hasMore: \"%b\")";
private static final String USER_DATA = "USER_DATA";
private final boolean hasMore;
private final List<Receipt> receipts;
private final RequestId requestId;
private final RequestStatus requestStatus;
private final UserData userData;
public enum RequestStatus {
SUCCESSFUL,
FAILED,
NOT_SUPPORTED
}
public List<Receipt> getReceipts() {
return this.receipts;
}
public RequestId getRequestId() {
return this.requestId;
}
public RequestStatus getRequestStatus() {
return this.requestStatus;
}
public UserData getUserData() {
return this.userData;
}
public boolean hasMore() {
return this.hasMore;
}
public PurchaseUpdatesResponse(PurchaseUpdatesResponseBuilder purchaseUpdatesResponseBuilder) {
d.a(purchaseUpdatesResponseBuilder.getRequestId(), "requestId");
d.a(purchaseUpdatesResponseBuilder.getRequestStatus(), "requestStatus");
if (RequestStatus.SUCCESSFUL == purchaseUpdatesResponseBuilder.getRequestStatus()) {
d.a(purchaseUpdatesResponseBuilder.getUserData(), "userData");
d.a((Object) purchaseUpdatesResponseBuilder.getReceipts(), "receipts");
}
this.requestId = purchaseUpdatesResponseBuilder.getRequestId();
this.requestStatus = purchaseUpdatesResponseBuilder.getRequestStatus();
this.userData = purchaseUpdatesResponseBuilder.getUserData();
this.receipts = purchaseUpdatesResponseBuilder.getReceipts() == null ? new ArrayList<>() : purchaseUpdatesResponseBuilder.getReceipts();
this.hasMore = purchaseUpdatesResponseBuilder.hasMore();
}
public String toString() {
Object[] objArr = new Object[6];
objArr[0] = super.toString();
objArr[1] = this.requestId;
objArr[2] = this.requestStatus;
objArr[3] = this.userData;
List<Receipt> list = this.receipts;
objArr[4] = list != null ? Arrays.toString(list.toArray()) : "null";
objArr[5] = Boolean.valueOf(this.hasMore);
return String.format(TO_STRING_FORMAT, objArr);
}
public JSONObject toJSON() throws JSONException {
JSONObject jSONObject = new JSONObject();
jSONObject.put("REQUEST_ID", this.requestId);
jSONObject.put(REQUEST_STATUS, this.requestStatus);
UserData userData = this.userData;
jSONObject.put(USER_DATA, userData != null ? userData.toJSON() : "");
JSONArray jSONArray = new JSONArray();
List<Receipt> list = this.receipts;
if (list != null) {
Iterator<Receipt> it = list.iterator();
while (it.hasNext()) {
jSONArray.put(it.next().toJSON());
}
}
jSONObject.put(RECEIPTS, jSONArray);
jSONObject.put(HAS_MORE, this.hasMore);
return jSONObject;
}
}

View File

@@ -0,0 +1,140 @@
package com.amazon.device.iap.model;
import com.amazon.device.iap.internal.model.ReceiptBuilder;
import com.amazon.device.iap.internal.util.d;
import com.ironsource.v8;
import java.util.Date;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class Receipt {
private static final String CANCEL_DATE = "endDate";
private static final Date DATE_CANCELED = new Date(1);
private static final String PRODUCT_TYPE = "itemType";
private static final String PURCHASE_DATE = "purchaseDate";
private static final String RECEIPT_ID = "receiptId";
private static final String SKU = "sku";
private final Date cancelDate;
private final ProductType productType;
private final Date purchaseDate;
private final String receiptId;
private final String sku;
public Date getCancelDate() {
return this.cancelDate;
}
public ProductType getProductType() {
return this.productType;
}
public Date getPurchaseDate() {
return this.purchaseDate;
}
public String getReceiptId() {
return this.receiptId;
}
public String getSku() {
return this.sku;
}
public boolean isCanceled() {
return this.cancelDate != null;
}
public int hashCode() {
Date date = this.cancelDate;
int hashCode = ((date == null ? 0 : date.hashCode()) + 31) * 31;
ProductType productType = this.productType;
int hashCode2 = (hashCode + (productType == null ? 0 : productType.hashCode())) * 31;
Date date2 = this.purchaseDate;
int hashCode3 = (hashCode2 + (date2 == null ? 0 : date2.hashCode())) * 31;
String str = this.receiptId;
int hashCode4 = (hashCode3 + (str == null ? 0 : str.hashCode())) * 31;
String str2 = this.sku;
return hashCode4 + (str2 != null ? str2.hashCode() : 0);
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null || Receipt.class != obj.getClass()) {
return false;
}
Receipt receipt = (Receipt) obj;
Date date = this.cancelDate;
if (date == null) {
if (receipt.cancelDate != null) {
return false;
}
} else if (!date.equals(receipt.cancelDate)) {
return false;
}
if (this.productType != receipt.productType) {
return false;
}
Date date2 = this.purchaseDate;
if (date2 == null) {
if (receipt.purchaseDate != null) {
return false;
}
} else if (!date2.equals(receipt.purchaseDate)) {
return false;
}
String str = this.receiptId;
if (str == null) {
if (receipt.receiptId != null) {
return false;
}
} else if (!str.equals(receipt.receiptId)) {
return false;
}
String str2 = this.sku;
if (str2 == null) {
if (receipt.sku != null) {
return false;
}
} else if (!str2.equals(receipt.sku)) {
return false;
}
return true;
}
public Receipt(ReceiptBuilder receiptBuilder) {
d.a((Object) receiptBuilder.getSku(), "sku");
d.a(receiptBuilder.getProductType(), v8.h.m);
if (ProductType.SUBSCRIPTION == receiptBuilder.getProductType()) {
d.a(receiptBuilder.getPurchaseDate(), PURCHASE_DATE);
}
this.receiptId = receiptBuilder.getReceiptId();
this.sku = receiptBuilder.getSku();
this.productType = receiptBuilder.getProductType();
this.purchaseDate = receiptBuilder.getPurchaseDate();
this.cancelDate = receiptBuilder.getCancelDate();
}
public JSONObject toJSON() {
JSONObject jSONObject = new JSONObject();
try {
jSONObject.put(RECEIPT_ID, this.receiptId);
jSONObject.put("sku", this.sku);
jSONObject.put(PRODUCT_TYPE, this.productType);
jSONObject.put(PURCHASE_DATE, this.purchaseDate);
jSONObject.put(CANCEL_DATE, this.cancelDate);
} catch (JSONException unused) {
}
return jSONObject;
}
public String toString() {
try {
return toJSON().toString(4);
} catch (JSONException unused) {
return null;
}
}
}

View File

@@ -0,0 +1,79 @@
package com.amazon.device.iap.model;
import android.os.Parcel;
import android.os.Parcelable;
import com.amazon.device.iap.internal.util.d;
import java.util.UUID;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class RequestId implements Parcelable {
public static final Parcelable.Creator<RequestId> CREATOR = new Parcelable.Creator<RequestId>() { // from class: com.amazon.device.iap.model.RequestId.1
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public RequestId createFromParcel(Parcel parcel) {
return new RequestId(parcel);
}
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public RequestId[] newArray(int i) {
return new RequestId[i];
}
};
private static final String ENCODED_ID = "encodedId";
private final String encodedId;
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
public String toString() {
return this.encodedId;
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeString(this.encodedId);
}
private RequestId(Parcel parcel) {
this.encodedId = parcel.readString();
}
public RequestId() {
this.encodedId = UUID.randomUUID().toString();
}
private RequestId(String str) {
d.a((Object) str, ENCODED_ID);
this.encodedId = str;
}
public static RequestId fromString(String str) {
return new RequestId(str);
}
public boolean equals(Object obj) {
if (obj == null || RequestId.class != obj.getClass()) {
return false;
}
return this.encodedId.equals(((RequestId) obj).encodedId);
}
public int hashCode() {
String str = this.encodedId;
return 31 + (str == null ? 0 : str.hashCode());
}
public JSONObject toJSON() {
JSONObject jSONObject = new JSONObject();
try {
jSONObject.put(ENCODED_ID, this.encodedId);
} catch (JSONException unused) {
}
return jSONObject;
}
}

View File

@@ -0,0 +1,74 @@
package com.amazon.device.iap.model;
import android.os.Parcel;
import android.os.Parcelable;
import com.amazon.device.iap.internal.model.UserDataBuilder;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class UserData implements Parcelable {
public static final Parcelable.Creator<UserData> CREATOR = new Parcelable.Creator<UserData>() { // from class: com.amazon.device.iap.model.UserData.1
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public UserData createFromParcel(Parcel parcel) {
return new UserData(parcel);
}
/* JADX WARN: Can't rename method to resolve collision */
@Override // android.os.Parcelable.Creator
public UserData[] newArray(int i) {
return new UserData[i];
}
};
private static final String MARKETPLACE = "marketplace";
private static final String USER_ID = "userId";
private final String marketplace;
private final String userId;
@Override // android.os.Parcelable
public int describeContents() {
return 0;
}
public String getMarketplace() {
return this.marketplace;
}
public String getUserId() {
return this.userId;
}
@Override // android.os.Parcelable
public void writeToParcel(Parcel parcel, int i) {
parcel.writeStringArray(new String[]{this.userId, this.marketplace});
}
private UserData(Parcel parcel) {
this.userId = parcel.readString();
this.marketplace = parcel.readString();
}
public JSONObject toJSON() {
JSONObject jSONObject = new JSONObject();
try {
jSONObject.put("userId", this.userId);
jSONObject.put(MARKETPLACE, this.marketplace);
} catch (JSONException unused) {
}
return jSONObject;
}
public String toString() {
try {
return toJSON().toString(4);
} catch (JSONException unused) {
return null;
}
}
public UserData(UserDataBuilder userDataBuilder) {
this.userId = userDataBuilder.getUserId();
this.marketplace = userDataBuilder.getMarketplace();
}
}

View File

@@ -0,0 +1,63 @@
package com.amazon.device.iap.model;
import com.amazon.device.iap.internal.model.UserDataResponseBuilder;
import com.amazon.device.iap.internal.util.d;
import org.json.JSONException;
import org.json.JSONObject;
/* loaded from: classes.dex */
public final class UserDataResponse {
private static final String REQUEST_ID = "REQUEST_ID";
private static final String REQUEST_STATUS = "REQUEST_STATUS";
private static final String TO_STRING_FORMAT = "(%s, requestId: \"%s\", requestStatus: \"%s\", userData: \"%s\")";
private static final String USER_DATA = "USER_DATA";
private final RequestId requestId;
private final RequestStatus requestStatus;
private final UserData userData;
public enum RequestStatus {
SUCCESSFUL,
FAILED,
NOT_SUPPORTED
}
public RequestId getRequestId() {
return this.requestId;
}
public RequestStatus getRequestStatus() {
return this.requestStatus;
}
public UserData getUserData() {
return this.userData;
}
public UserDataResponse(UserDataResponseBuilder userDataResponseBuilder) {
d.a(userDataResponseBuilder.getRequestId(), "requestId");
d.a(userDataResponseBuilder.getRequestStatus(), "requestStatus");
this.requestId = userDataResponseBuilder.getRequestId();
this.requestStatus = userDataResponseBuilder.getRequestStatus();
this.userData = userDataResponseBuilder.getUserData();
}
public String toString() {
Object[] objArr = new Object[4];
objArr[0] = super.toString();
objArr[1] = this.requestId;
RequestStatus requestStatus = this.requestStatus;
objArr[2] = requestStatus != null ? requestStatus.toString() : "null";
UserData userData = this.userData;
objArr[3] = userData != null ? userData.toString() : "null";
return String.format(TO_STRING_FORMAT, objArr);
}
public JSONObject toJSON() throws JSONException {
JSONObject jSONObject = new JSONObject();
jSONObject.put("REQUEST_ID", this.requestId);
jSONObject.put(REQUEST_STATUS, this.requestStatus);
UserData userData = this.userData;
jSONObject.put(USER_DATA, userData != null ? userData.toJSON() : "");
return jSONObject;
}
}

View File

@@ -0,0 +1,6 @@
package com.amazon.device.iap.model;
/* renamed from: com.amazon.device.iap.model.package-info, reason: invalid class name */
/* loaded from: classes.dex */
interface packageinfo {
}

View File

@@ -0,0 +1,6 @@
package com.amazon.device.iap;
/* renamed from: com.amazon.device.iap.package-info, reason: invalid class name */
/* loaded from: classes.dex */
interface packageinfo {
}