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 {
}

View File

@@ -0,0 +1,10 @@
package com.amazonaws;
/* loaded from: classes.dex */
public class AbortedException extends AmazonClientException {
private static final long serialVersionUID = 1;
public AbortedException() {
super("");
}
}

View File

@@ -0,0 +1,14 @@
package com.amazonaws;
/* loaded from: classes.dex */
public class AmazonClientException extends RuntimeException {
private static final long serialVersionUID = 1;
public AmazonClientException(String str, Throwable th) {
super(str, th);
}
public AmazonClientException(String str) {
super(str);
}
}

View File

@@ -0,0 +1,75 @@
package com.amazonaws;
/* loaded from: classes.dex */
public class AmazonServiceException extends AmazonClientException {
private static final long serialVersionUID = 1;
public String errorCode;
public String errorMessage;
public ErrorType errorType;
public String requestId;
public String serviceName;
public int statusCode;
public enum ErrorType {
Client,
Service,
Unknown
}
public String getErrorCode() {
return this.errorCode;
}
public String getErrorMessage() {
return this.errorMessage;
}
public String getRequestId() {
return this.requestId;
}
public String getServiceName() {
return this.serviceName;
}
public int getStatusCode() {
return this.statusCode;
}
public void setErrorCode(String str) {
this.errorCode = str;
}
public void setErrorType(ErrorType errorType) {
this.errorType = errorType;
}
public void setRequestId(String str) {
this.requestId = str;
}
public void setServiceName(String str) {
this.serviceName = str;
}
public void setStatusCode(int i) {
this.statusCode = i;
}
public AmazonServiceException(String str) {
super(str);
this.errorType = ErrorType.Unknown;
this.errorMessage = str;
}
public AmazonServiceException(String str, Exception exc) {
super(null, exc);
this.errorType = ErrorType.Unknown;
this.errorMessage = str;
}
@Override // java.lang.Throwable
public String getMessage() {
return getErrorMessage() + " (Service: " + getServiceName() + "; Status Code: " + getStatusCode() + "; Error Code: " + getErrorCode() + "; Request ID: " + getRequestId() + ")";
}
}

View File

@@ -0,0 +1,227 @@
package com.amazonaws;
import com.amazonaws.auth.RegionAwareSigner;
import com.amazonaws.auth.Signer;
import com.amazonaws.auth.SignerFactory;
import com.amazonaws.http.AmazonHttpClient;
import com.amazonaws.http.ExecutionContext;
import com.amazonaws.http.HttpClient;
import com.amazonaws.logging.Log;
import com.amazonaws.logging.LogFactory;
import com.amazonaws.metrics.AwsSdkMetrics;
import com.amazonaws.metrics.RequestMetricCollector;
import com.amazonaws.regions.Region;
import com.amazonaws.regions.Regions;
import com.amazonaws.util.AWSRequestMetrics;
import com.amazonaws.util.AwsHostNameUtils;
import com.amazonaws.util.Classes;
import com.amazonaws.util.StringUtils;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
/* loaded from: classes.dex */
public abstract class AmazonWebServiceClient {
public static final Log LOG = LogFactory.getLog(AmazonWebServiceClient.class);
public AmazonHttpClient client;
public ClientConfiguration clientConfiguration;
public volatile URI endpoint;
public volatile String endpointPrefix;
public volatile Region region;
public final List requestHandler2s = new CopyOnWriteArrayList();
public volatile String serviceName;
public volatile Signer signer;
public volatile String signerRegionOverride;
public long timeOffset;
public String getEndpointPrefix() {
return this.endpointPrefix;
}
public AmazonWebServiceClient(ClientConfiguration clientConfiguration, HttpClient httpClient) {
this.clientConfiguration = clientConfiguration;
this.client = new AmazonHttpClient(clientConfiguration, httpClient);
}
public void setEndpoint(String str) {
URI uri = toURI(str);
Signer computeSignerByURI = computeSignerByURI(uri, this.signerRegionOverride, false);
synchronized (this) {
this.endpoint = uri;
this.signer = computeSignerByURI;
}
}
public final URI toURI(String str) {
if (!str.contains("://")) {
str = this.clientConfiguration.getProtocol().toString() + "://" + str;
}
try {
return new URI(str);
} catch (URISyntaxException e) {
throw new IllegalArgumentException(e);
}
}
public Signer getSignerByURI(URI uri) {
return computeSignerByURI(uri, this.signerRegionOverride, true);
}
public final Signer computeSignerByURI(URI uri, String str, boolean z) {
if (uri == null) {
throw new IllegalArgumentException("Endpoint is not set. Use setEndpoint to set an endpoint before performing any request.");
}
String serviceNameIntern = getServiceNameIntern();
return computeSignerByServiceRegion(serviceNameIntern, AwsHostNameUtils.parseRegionName(uri.getHost(), serviceNameIntern), str, z);
}
public final Signer computeSignerByServiceRegion(String str, String str2, String str3, boolean z) {
Signer signerByTypeAndService;
String signerOverride = this.clientConfiguration.getSignerOverride();
if (signerOverride == null) {
signerByTypeAndService = SignerFactory.getSigner(str, str2);
} else {
signerByTypeAndService = SignerFactory.getSignerByTypeAndService(signerOverride, str);
}
if (signerByTypeAndService instanceof RegionAwareSigner) {
RegionAwareSigner regionAwareSigner = (RegionAwareSigner) signerByTypeAndService;
if (str3 != null) {
regionAwareSigner.setRegionName(str3);
} else if (str2 != null && z) {
regionAwareSigner.setRegionName(str2);
}
}
synchronized (this) {
this.region = Region.getRegion(str2);
}
return signerByTypeAndService;
}
public void setRegion(Region region) {
String format;
if (region == null) {
throw new IllegalArgumentException("No region provided");
}
String serviceNameIntern = getServiceNameIntern();
if (region.isServiceSupported(serviceNameIntern)) {
format = region.getServiceEndpoint(serviceNameIntern);
int indexOf = format.indexOf("://");
if (indexOf >= 0) {
format = format.substring(indexOf + 3);
}
} else {
format = String.format("%s.%s.%s", getEndpointPrefix(), region.getName(), region.getDomain());
}
URI uri = toURI(format);
Signer computeSignerByServiceRegion = computeSignerByServiceRegion(serviceNameIntern, region.getName(), this.signerRegionOverride, false);
synchronized (this) {
this.endpoint = uri;
this.signer = computeSignerByServiceRegion;
}
}
public Regions getRegions() {
Regions fromName;
synchronized (this) {
fromName = Regions.fromName(this.region.getName());
}
return fromName;
}
public ExecutionContext createExecutionContext(AmazonWebServiceRequest amazonWebServiceRequest) {
return new ExecutionContext(this.requestHandler2s, isRequestMetricsEnabled(amazonWebServiceRequest) || isProfilingEnabled(), this);
}
public static boolean isProfilingEnabled() {
return System.getProperty("com.amazonaws.sdk.enableRuntimeProfiling") != null;
}
public final boolean isRequestMetricsEnabled(AmazonWebServiceRequest amazonWebServiceRequest) {
RequestMetricCollector requestMetricCollector = amazonWebServiceRequest.getRequestMetricCollector();
if (requestMetricCollector == null || !requestMetricCollector.isEnabled()) {
return isRMCEnabledAtClientOrSdkLevel();
}
return true;
}
public final boolean isRMCEnabledAtClientOrSdkLevel() {
RequestMetricCollector requestMetricCollector = requestMetricCollector();
return requestMetricCollector != null && requestMetricCollector.isEnabled();
}
public RequestMetricCollector getRequestMetricsCollector() {
return this.client.getRequestMetricCollector();
}
public RequestMetricCollector requestMetricCollector() {
RequestMetricCollector requestMetricCollector = this.client.getRequestMetricCollector();
return requestMetricCollector == null ? AwsSdkMetrics.getRequestMetricCollector() : requestMetricCollector;
}
public final RequestMetricCollector findRequestMetricCollector(Request request) {
RequestMetricCollector requestMetricCollector = request.getOriginalRequest().getRequestMetricCollector();
if (requestMetricCollector != null) {
return requestMetricCollector;
}
RequestMetricCollector requestMetricsCollector = getRequestMetricsCollector();
return requestMetricsCollector == null ? AwsSdkMetrics.getRequestMetricCollector() : requestMetricsCollector;
}
public final void endClientExecution(AWSRequestMetrics aWSRequestMetrics, Request request, Response response) {
endClientExecution(aWSRequestMetrics, request, response, false);
}
public final void endClientExecution(AWSRequestMetrics aWSRequestMetrics, Request request, Response response, boolean z) {
if (request != null) {
aWSRequestMetrics.endEvent(AWSRequestMetrics.Field.ClientExecuteTime);
aWSRequestMetrics.getTimingInfo().endTiming();
findRequestMetricCollector(request).collectMetrics(request, response);
}
if (z) {
aWSRequestMetrics.log();
}
}
public String getServiceNameIntern() {
if (this.serviceName == null) {
synchronized (this) {
try {
if (this.serviceName == null) {
this.serviceName = computeServiceName();
return this.serviceName;
}
} finally {
}
}
}
return this.serviceName;
}
public final String computeServiceName() {
int i;
String simpleName = Classes.childClassOf(AmazonWebServiceClient.class, this).getSimpleName();
String serviceName = ServiceNameFactory.getServiceName(simpleName);
if (serviceName != null) {
return serviceName;
}
int indexOf = simpleName.indexOf("JavaClient");
if (indexOf == -1 && (indexOf = simpleName.indexOf("Client")) == -1) {
throw new IllegalStateException("Unrecognized suffix for the AWS http client class name " + simpleName);
}
int indexOf2 = simpleName.indexOf("Amazon");
if (indexOf2 == -1) {
indexOf2 = simpleName.indexOf("AWS");
if (indexOf2 == -1) {
throw new IllegalStateException("Unrecognized prefix for the AWS http client class name " + simpleName);
}
i = 3;
} else {
i = 6;
}
if (indexOf2 >= indexOf) {
throw new IllegalStateException("Unrecognized AWS http client class name " + simpleName);
}
return StringUtils.lowerCase(simpleName.substring(indexOf2 + i, indexOf));
}
}

View File

@@ -0,0 +1,39 @@
package com.amazonaws;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.metrics.RequestMetricCollector;
/* loaded from: classes.dex */
public abstract class AmazonWebServiceRequest implements Cloneable {
public AmazonWebServiceRequest cloneSource;
public AWSCredentials credentials;
public final RequestClientOptions requestClientOptions = new RequestClientOptions();
public RequestMetricCollector requestMetricCollector;
public RequestClientOptions getRequestClientOptions() {
return this.requestClientOptions;
}
public AWSCredentials getRequestCredentials() {
return this.credentials;
}
public RequestMetricCollector getRequestMetricCollector() {
return this.requestMetricCollector;
}
public final void setCloneSource(AmazonWebServiceRequest amazonWebServiceRequest) {
this.cloneSource = amazonWebServiceRequest;
}
/* renamed from: clone, reason: merged with bridge method [inline-methods] */
public AmazonWebServiceRequest m204clone() {
try {
AmazonWebServiceRequest amazonWebServiceRequest = (AmazonWebServiceRequest) super.clone();
amazonWebServiceRequest.setCloneSource(this);
return amazonWebServiceRequest;
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() even though we're Cloneable!", e);
}
}
}

View File

@@ -0,0 +1,27 @@
package com.amazonaws;
/* loaded from: classes.dex */
public class AmazonWebServiceResponse<T> {
public ResponseMetadata responseMetadata;
public Object result;
public Object getResult() {
return this.result;
}
public void setResponseMetadata(ResponseMetadata responseMetadata) {
this.responseMetadata = responseMetadata;
}
public void setResult(Object obj) {
this.result = obj;
}
public String getRequestId() {
ResponseMetadata responseMetadata = this.responseMetadata;
if (responseMetadata == null) {
return null;
}
return responseMetadata.getRequestId();
}
}

View File

@@ -0,0 +1,144 @@
package com.amazonaws;
import com.amazonaws.retry.PredefinedRetryPolicies;
import com.amazonaws.retry.RetryPolicy;
import com.amazonaws.util.VersionInfoUtils;
import com.mbridge.msdk.playercommon.exoplayer2.DefaultLoadControl;
import java.net.InetAddress;
import javax.net.ssl.TrustManager;
/* loaded from: classes.dex */
public class ClientConfiguration {
public int connectionTimeout;
public boolean curlLogging;
public boolean enableGzip;
public InetAddress localAddress;
public int maxConnections;
public int maxErrorRetry;
public boolean preemptiveBasicProxyAuth;
public Protocol protocol;
public String proxyDomain;
public String proxyHost;
public String proxyPassword;
public int proxyPort;
public String proxyUsername;
public String proxyWorkstation;
public RetryPolicy retryPolicy;
public String signerOverride;
public int socketReceiveBufferSizeHint;
public int socketSendBufferSizeHint;
public int socketTimeout;
public TrustManager trustManager;
public String userAgent;
public String userAgentOverride;
public static final String DEFAULT_USER_AGENT = VersionInfoUtils.getUserAgent();
public static final RetryPolicy DEFAULT_RETRY_POLICY = PredefinedRetryPolicies.DEFAULT;
public int getConnectionTimeout() {
return this.connectionTimeout;
}
public int getMaxErrorRetry() {
return this.maxErrorRetry;
}
public Protocol getProtocol() {
return this.protocol;
}
public RetryPolicy getRetryPolicy() {
return this.retryPolicy;
}
public String getSignerOverride() {
return this.signerOverride;
}
public int getSocketTimeout() {
return this.socketTimeout;
}
public TrustManager getTrustManager() {
return this.trustManager;
}
public String getUserAgent() {
return this.userAgent;
}
public String getUserAgentOverride() {
return this.userAgentOverride;
}
public boolean isCurlLogging() {
return this.curlLogging;
}
public boolean isEnableGzip() {
return this.enableGzip;
}
public ClientConfiguration() {
this.userAgent = DEFAULT_USER_AGENT;
this.maxErrorRetry = -1;
this.retryPolicy = DEFAULT_RETRY_POLICY;
this.protocol = Protocol.HTTPS;
this.proxyHost = null;
this.proxyPort = -1;
this.proxyUsername = null;
this.proxyPassword = null;
this.proxyDomain = null;
this.proxyWorkstation = null;
this.maxConnections = 10;
this.socketTimeout = DefaultLoadControl.DEFAULT_MIN_BUFFER_MS;
this.connectionTimeout = DefaultLoadControl.DEFAULT_MIN_BUFFER_MS;
this.socketSendBufferSizeHint = 0;
this.socketReceiveBufferSizeHint = 0;
this.trustManager = null;
this.curlLogging = false;
this.enableGzip = false;
}
public ClientConfiguration(ClientConfiguration clientConfiguration) {
this.userAgent = DEFAULT_USER_AGENT;
this.maxErrorRetry = -1;
this.retryPolicy = DEFAULT_RETRY_POLICY;
this.protocol = Protocol.HTTPS;
this.proxyHost = null;
this.proxyPort = -1;
this.proxyUsername = null;
this.proxyPassword = null;
this.proxyDomain = null;
this.proxyWorkstation = null;
this.maxConnections = 10;
this.socketTimeout = DefaultLoadControl.DEFAULT_MIN_BUFFER_MS;
this.connectionTimeout = DefaultLoadControl.DEFAULT_MIN_BUFFER_MS;
this.socketSendBufferSizeHint = 0;
this.socketReceiveBufferSizeHint = 0;
this.trustManager = null;
this.curlLogging = false;
this.enableGzip = false;
this.connectionTimeout = clientConfiguration.connectionTimeout;
this.maxConnections = clientConfiguration.maxConnections;
this.maxErrorRetry = clientConfiguration.maxErrorRetry;
this.retryPolicy = clientConfiguration.retryPolicy;
this.localAddress = clientConfiguration.localAddress;
this.protocol = clientConfiguration.protocol;
this.proxyDomain = clientConfiguration.proxyDomain;
this.proxyHost = clientConfiguration.proxyHost;
this.proxyPassword = clientConfiguration.proxyPassword;
this.proxyPort = clientConfiguration.proxyPort;
this.proxyUsername = clientConfiguration.proxyUsername;
this.proxyWorkstation = clientConfiguration.proxyWorkstation;
this.preemptiveBasicProxyAuth = clientConfiguration.preemptiveBasicProxyAuth;
this.socketTimeout = clientConfiguration.socketTimeout;
this.userAgent = clientConfiguration.userAgent;
this.userAgentOverride = clientConfiguration.userAgentOverride;
this.socketReceiveBufferSizeHint = clientConfiguration.socketReceiveBufferSizeHint;
this.socketSendBufferSizeHint = clientConfiguration.socketSendBufferSizeHint;
this.signerOverride = clientConfiguration.signerOverride;
this.trustManager = clientConfiguration.trustManager;
this.curlLogging = clientConfiguration.curlLogging;
this.enableGzip = clientConfiguration.enableGzip;
}
}

View File

@@ -0,0 +1,192 @@
package com.amazonaws;
import com.amazonaws.http.HttpMethodName;
import com.amazonaws.util.AWSRequestMetrics;
import java.io.InputStream;
import java.net.URI;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
/* loaded from: classes.dex */
public class DefaultRequest<T> implements Request<T> {
public InputStream content;
public String encodedUriResourcePath;
public URI endpoint;
public String hostPrefix;
public AWSRequestMetrics metrics;
public final AmazonWebServiceRequest originalRequest;
public String resourcePath;
public String serviceName;
public long timeOffset;
public boolean streaming = false;
public final Map parameters = new LinkedHashMap();
public final Map headers = new HashMap();
public HttpMethodName httpMethod = HttpMethodName.POST;
@Override // com.amazonaws.Request
public AWSRequestMetrics getAWSRequestMetrics() {
return this.metrics;
}
@Override // com.amazonaws.Request
public InputStream getContent() {
return this.content;
}
@Override // com.amazonaws.Request
public String getEncodedUriResourcePath() {
return this.encodedUriResourcePath;
}
@Override // com.amazonaws.Request
public URI getEndpoint() {
return this.endpoint;
}
@Override // com.amazonaws.Request
public Map getHeaders() {
return this.headers;
}
@Override // com.amazonaws.Request
public String getHostPrefix() {
return this.hostPrefix;
}
@Override // com.amazonaws.Request
public HttpMethodName getHttpMethod() {
return this.httpMethod;
}
@Override // com.amazonaws.Request
public AmazonWebServiceRequest getOriginalRequest() {
return this.originalRequest;
}
@Override // com.amazonaws.Request
public Map getParameters() {
return this.parameters;
}
@Override // com.amazonaws.Request
public String getResourcePath() {
return this.resourcePath;
}
@Override // com.amazonaws.Request
public String getServiceName() {
return this.serviceName;
}
@Override // com.amazonaws.Request
public long getTimeOffset() {
return this.timeOffset;
}
@Override // com.amazonaws.Request
public boolean isStreaming() {
return this.streaming;
}
@Override // com.amazonaws.Request
public void setContent(InputStream inputStream) {
this.content = inputStream;
}
@Override // com.amazonaws.Request
public void setEndpoint(URI uri) {
this.endpoint = uri;
}
@Override // com.amazonaws.Request
public void setHttpMethod(HttpMethodName httpMethodName) {
this.httpMethod = httpMethodName;
}
@Override // com.amazonaws.Request
public void setResourcePath(String str) {
this.resourcePath = str;
}
@Override // com.amazonaws.Request
public void setTimeOffset(long j) {
this.timeOffset = j;
}
public DefaultRequest(AmazonWebServiceRequest amazonWebServiceRequest, String str) {
this.serviceName = str;
this.originalRequest = amazonWebServiceRequest;
}
@Override // com.amazonaws.Request
public void addHeader(String str, String str2) {
this.headers.put(str, str2);
}
@Override // com.amazonaws.Request
public void addParameter(String str, String str2) {
this.parameters.put(str, str2);
}
@Override // com.amazonaws.Request
public void setHeaders(Map map) {
this.headers.clear();
this.headers.putAll(map);
}
@Override // com.amazonaws.Request
public void setParameters(Map map) {
this.parameters.clear();
this.parameters.putAll(map);
}
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getHttpMethod());
sb.append(" ");
sb.append(getEndpoint());
sb.append(" ");
String resourcePath = getResourcePath();
if (resourcePath == null) {
sb.append("/");
} else {
if (!resourcePath.startsWith("/")) {
sb.append("/");
}
sb.append(resourcePath);
}
sb.append(" ");
if (!getParameters().isEmpty()) {
sb.append("Parameters: (");
for (String str : getParameters().keySet()) {
String str2 = (String) getParameters().get(str);
sb.append(str);
sb.append(": ");
sb.append(str2);
sb.append(", ");
}
sb.append(") ");
}
if (!getHeaders().isEmpty()) {
sb.append("Headers: (");
for (String str3 : getHeaders().keySet()) {
String str4 = (String) getHeaders().get(str3);
sb.append(str3);
sb.append(": ");
sb.append(str4);
sb.append(", ");
}
sb.append(") ");
}
return sb.toString();
}
@Override // com.amazonaws.Request
public void setAWSRequestMetrics(AWSRequestMetrics aWSRequestMetrics) {
if (this.metrics != null) {
throw new IllegalStateException("AWSRequestMetrics has already been set on this request");
}
this.metrics = aWSRequestMetrics;
}
}

View File

@@ -0,0 +1,18 @@
package com.amazonaws;
/* loaded from: classes.dex */
public enum Protocol {
HTTP("http"),
HTTPS("https");
private final String protocol;
@Override // java.lang.Enum
public String toString() {
return this.protocol;
}
Protocol(String str) {
this.protocol = str;
}
}

View File

@@ -0,0 +1,56 @@
package com.amazonaws;
import com.amazonaws.http.HttpMethodName;
import com.amazonaws.util.AWSRequestMetrics;
import java.io.InputStream;
import java.net.URI;
import java.util.Map;
/* loaded from: classes.dex */
public interface Request<T> {
void addHeader(String str, String str2);
void addParameter(String str, String str2);
AWSRequestMetrics getAWSRequestMetrics();
InputStream getContent();
String getEncodedUriResourcePath();
URI getEndpoint();
Map getHeaders();
String getHostPrefix();
HttpMethodName getHttpMethod();
AmazonWebServiceRequest getOriginalRequest();
Map getParameters();
String getResourcePath();
String getServiceName();
long getTimeOffset();
boolean isStreaming();
void setAWSRequestMetrics(AWSRequestMetrics aWSRequestMetrics);
void setContent(InputStream inputStream);
void setEndpoint(URI uri);
void setHeaders(Map map);
void setHttpMethod(HttpMethodName httpMethodName);
void setParameters(Map map);
void setResourcePath(String str);
void setTimeOffset(long j);
}

View File

@@ -0,0 +1,38 @@
package com.amazonaws;
import java.util.EnumMap;
import java.util.Map;
/* loaded from: classes.dex */
public final class RequestClientOptions {
public final Map markers = new EnumMap(Marker.class);
public enum Marker {
USER_AGENT
}
public String getClientMarker(Marker marker) {
return (String) this.markers.get(marker);
}
public void putClientMarker(Marker marker, String str) {
this.markers.put(marker, str);
}
public void appendUserAgent(String str) {
Map map = this.markers;
Marker marker = Marker.USER_AGENT;
String str2 = (String) map.get(marker);
if (str2 == null) {
str2 = "";
}
putClientMarker(marker, createUserAgentMarkerString(str2, str));
}
public final String createUserAgentMarkerString(String str, String str2) {
if (str.contains(str2)) {
return str;
}
return str + " " + str2;
}
}

View File

@@ -0,0 +1,18 @@
package com.amazonaws;
import com.amazonaws.http.HttpResponse;
/* loaded from: classes.dex */
public final class Response<T> {
public final HttpResponse httpResponse;
public final Object response;
public Object getAwsResponse() {
return this.response;
}
public Response(Object obj, HttpResponse httpResponse) {
this.response = obj;
this.httpResponse = httpResponse;
}
}

View File

@@ -0,0 +1,22 @@
package com.amazonaws;
import com.applovin.impl.sdk.utils.JsonUtils;
import java.util.Map;
/* loaded from: classes.dex */
public class ResponseMetadata {
public final Map metadata;
public ResponseMetadata(Map map) {
this.metadata = map;
}
public String getRequestId() {
return (String) this.metadata.get("AWS_REQUEST_ID");
}
public String toString() {
Map map = this.metadata;
return map == null ? JsonUtils.EMPTY_JSON : map.toString();
}
}

View File

@@ -0,0 +1,16 @@
package com.amazonaws;
import java.util.concurrent.atomic.AtomicLong;
/* loaded from: classes.dex */
public abstract class SDKGlobalConfiguration {
public static final AtomicLong GLOBAL_TIME_OFFSET = new AtomicLong(0);
public static void setGlobalTimeOffset(long j) {
GLOBAL_TIME_OFFSET.set(j);
}
public static long getGlobalTimeOffset() {
return GLOBAL_TIME_OFFSET.get();
}
}

View File

@@ -0,0 +1,17 @@
package com.amazonaws;
import com.amazonaws.internal.config.HttpClientConfig;
import com.amazonaws.internal.config.InternalConfig;
/* loaded from: classes.dex */
enum ServiceNameFactory {
;
public static String getServiceName(String str) {
HttpClientConfig httpClientConfig = InternalConfig.Factory.getInternalConfig().getHttpClientConfig(str);
if (httpClientConfig == null) {
return null;
}
return httpClientConfig.getServiceName();
}
}

View File

@@ -0,0 +1,261 @@
package com.amazonaws.auth;
import com.amazonaws.AmazonClientException;
import com.amazonaws.Request;
import com.amazonaws.logging.Log;
import com.amazonaws.logging.LogFactory;
import com.amazonaws.util.AwsHostNameUtils;
import com.amazonaws.util.BinaryUtils;
import com.amazonaws.util.DateUtils;
import com.amazonaws.util.HttpUtils;
import com.amazonaws.util.StringUtils;
import com.facebook.internal.security.CertificateUtil;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import org.apache.http.protocol.HTTP;
/* loaded from: classes.dex */
public class AWS4Signer extends AbstractAWSSigner implements ServiceAwareSigner, RegionAwareSigner {
protected static final String ALGORITHM = "AWS4-HMAC-SHA256";
private static final String DATE_PATTERN = "yyyyMMdd";
private static final long MAX_EXPIRATION_TIME_IN_SECONDS = 604800;
private static final long MILLISEC = 1000;
protected static final String TERMINATOR = "aws4_request";
private static final String TIME_PATTERN = "yyyyMMdd'T'HHmmss'Z'";
protected static final Log log = LogFactory.getLog(AWS4Signer.class);
protected boolean doubleUrlEncode;
protected Date overriddenDate;
protected String regionName;
protected String serviceName;
public void overrideDate(Date date) {
this.overriddenDate = date;
}
public void processRequestPayload(Request<?> request, HeaderSigningResult headerSigningResult) {
}
@Override // com.amazonaws.auth.RegionAwareSigner
public void setRegionName(String str) {
this.regionName = str;
}
@Override // com.amazonaws.auth.ServiceAwareSigner
public void setServiceName(String str) {
this.serviceName = str;
}
public AWS4Signer() {
this(true);
}
public AWS4Signer(boolean z) {
this.doubleUrlEncode = z;
}
@Override // com.amazonaws.auth.Signer
public void sign(Request<?> request, AWSCredentials aWSCredentials) {
if (aWSCredentials instanceof AnonymousAWSCredentials) {
return;
}
AWSCredentials sanitizeCredentials = sanitizeCredentials(aWSCredentials);
if (sanitizeCredentials instanceof AWSSessionCredentials) {
addSessionCredentials(request, (AWSSessionCredentials) sanitizeCredentials);
}
addHostHeader(request);
long dateFromRequest = getDateFromRequest(request);
String dateStamp = getDateStamp(dateFromRequest);
String scope = getScope(request, dateStamp);
String calculateContentHash = calculateContentHash(request);
String timeStamp = getTimeStamp(dateFromRequest);
request.addHeader("X-Amz-Date", timeStamp);
if (request.getHeaders().get("x-amz-content-sha256") != null && "required".equals(request.getHeaders().get("x-amz-content-sha256"))) {
request.addHeader("x-amz-content-sha256", calculateContentHash);
}
String str = sanitizeCredentials.getAWSAccessKeyId() + "/" + scope;
HeaderSigningResult computeSignature = computeSignature(request, dateStamp, timeStamp, ALGORITHM, calculateContentHash, sanitizeCredentials);
request.addHeader("Authorization", "AWS4-HMAC-SHA256 " + ("Credential=" + str) + ", " + ("SignedHeaders=" + getSignedHeadersString(request)) + ", " + ("Signature=" + BinaryUtils.toHex(computeSignature.getSignature())));
processRequestPayload(request, computeSignature);
}
public void addSessionCredentials(Request<?> request, AWSSessionCredentials aWSSessionCredentials) {
request.addHeader("x-amz-security-token", aWSSessionCredentials.getSessionToken());
}
public String extractRegionName(URI uri) {
String str = this.regionName;
return str != null ? str : AwsHostNameUtils.parseRegionName(uri.getHost(), this.serviceName);
}
public String extractServiceName(URI uri) {
String str = this.serviceName;
return str != null ? str : AwsHostNameUtils.parseServiceName(uri);
}
public String getCanonicalizedHeaderString(Request<?> request) {
ArrayList<String> arrayList = new ArrayList();
arrayList.addAll(request.getHeaders().keySet());
Collections.sort(arrayList, String.CASE_INSENSITIVE_ORDER);
StringBuilder sb = new StringBuilder();
for (String str : arrayList) {
if (needsSign(str)) {
String replaceAll = StringUtils.lowerCase(str).replaceAll("\\s+", " ");
String str2 = (String) request.getHeaders().get(str);
sb.append(replaceAll);
sb.append(CertificateUtil.DELIMITER);
if (str2 != null) {
sb.append(str2.replaceAll("\\s+", " "));
}
sb.append("\n");
}
}
return sb.toString();
}
public String getSignedHeadersString(Request<?> request) {
ArrayList<String> arrayList = new ArrayList();
arrayList.addAll(request.getHeaders().keySet());
Collections.sort(arrayList, String.CASE_INSENSITIVE_ORDER);
StringBuilder sb = new StringBuilder();
for (String str : arrayList) {
if (needsSign(str)) {
if (sb.length() > 0) {
sb.append(";");
}
sb.append(StringUtils.lowerCase(str));
}
}
return sb.toString();
}
public String getCanonicalRequest(Request<?> request, String str) {
String appendUri;
if (request.getEncodedUriResourcePath() != null) {
appendUri = HttpUtils.appendUriEncoded(request.getEndpoint().getPath(), request.getEncodedUriResourcePath());
} else {
appendUri = HttpUtils.appendUri(request.getEndpoint().getPath(), request.getResourcePath());
}
String str2 = request.getHttpMethod().toString() + "\n" + getCanonicalizedResourcePath(appendUri, this.doubleUrlEncode) + "\n" + getCanonicalizedQueryString(request) + "\n" + getCanonicalizedHeaderString(request) + "\n" + getSignedHeadersString(request) + "\n" + str;
log.debug("AWS4 Canonical Request: '\"" + str2 + "\"");
return str2;
}
public String getStringToSign(String str, String str2, String str3, String str4) {
String str5 = str + "\n" + str2 + "\n" + str3 + "\n" + BinaryUtils.toHex(hash(str4));
log.debug("AWS4 String to Sign: '\"" + str5 + "\"");
return str5;
}
public final HeaderSigningResult computeSignature(Request<?> request, String str, String str2, String str3, String str4, AWSCredentials aWSCredentials) {
String extractRegionName = extractRegionName(request.getEndpoint());
String extractServiceName = extractServiceName(request.getEndpoint());
String str5 = str + "/" + extractRegionName + "/" + extractServiceName + "/" + TERMINATOR;
String stringToSign = getStringToSign(str3, str2, str5, getCanonicalRequest(request, str4));
String str6 = "AWS4" + aWSCredentials.getAWSSecretKey();
Charset charset = StringUtils.UTF8;
byte[] bytes = str6.getBytes(charset);
SigningAlgorithm signingAlgorithm = SigningAlgorithm.HmacSHA256;
byte[] sign = sign(TERMINATOR, sign(extractServiceName, sign(extractRegionName, sign(str, bytes, signingAlgorithm), signingAlgorithm), signingAlgorithm), signingAlgorithm);
return new HeaderSigningResult(str2, str5, sign, sign(stringToSign.getBytes(charset), sign, signingAlgorithm));
}
public final String getTimeStamp(long j) {
return DateUtils.format(TIME_PATTERN, new Date(j));
}
public final String getDateStamp(long j) {
return DateUtils.format(DATE_PATTERN, new Date(j));
}
public final long getDateFromRequest(Request<?> request) {
Date signatureDate = getSignatureDate(getTimeOffset(request));
Date date = this.overriddenDate;
if (date != null) {
signatureDate = date;
}
return signatureDate.getTime();
}
public void addHostHeader(Request<?> request) {
String host = request.getEndpoint().getHost();
if (HttpUtils.isUsingNonDefaultPort(request.getEndpoint())) {
host = host + CertificateUtil.DELIMITER + request.getEndpoint().getPort();
}
request.addHeader(HTTP.TARGET_HOST, host);
}
public String getScope(Request<?> request, String str) {
return str + "/" + extractRegionName(request.getEndpoint()) + "/" + extractServiceName(request.getEndpoint()) + "/" + TERMINATOR;
}
public String calculateContentHash(Request<?> request) {
InputStream binaryRequestPayloadStream = getBinaryRequestPayloadStream(request);
binaryRequestPayloadStream.mark(-1);
String hex = BinaryUtils.toHex(hash(binaryRequestPayloadStream));
try {
binaryRequestPayloadStream.reset();
return hex;
} catch (IOException e) {
throw new AmazonClientException("Unable to reset stream after calculating AWS4 signature", e);
}
}
public static class HeaderSigningResult {
public final String dateTime;
public final byte[] kSigning;
public final String scope;
public final byte[] signature;
public HeaderSigningResult(String str, String str2, byte[] bArr, byte[] bArr2) {
this.dateTime = str;
this.scope = str2;
this.kSigning = bArr;
this.signature = bArr2;
}
public byte[] getSignature() {
byte[] bArr = this.signature;
byte[] bArr2 = new byte[bArr.length];
System.arraycopy(bArr, 0, bArr2, 0, bArr.length);
return bArr2;
}
}
public void presignRequest(Request<?> request, AWSCredentials aWSCredentials, Date date) {
if (aWSCredentials instanceof AnonymousAWSCredentials) {
return;
}
long time = date != null ? (date.getTime() - System.currentTimeMillis()) / 1000 : 604800L;
if (time > MAX_EXPIRATION_TIME_IN_SECONDS) {
throw new AmazonClientException("Requests that are pre-signed by SigV4 algorithm are valid for at most 7 days. The expiration date set on the current request [" + getTimeStamp(date.getTime()) + "] has exceeded this limit.");
}
addHostHeader(request);
AWSCredentials sanitizeCredentials = sanitizeCredentials(aWSCredentials);
if (sanitizeCredentials instanceof AWSSessionCredentials) {
request.addParameter("X-Amz-Security-Token", ((AWSSessionCredentials) sanitizeCredentials).getSessionToken());
}
long dateFromRequest = getDateFromRequest(request);
String dateStamp = getDateStamp(dateFromRequest);
String str = sanitizeCredentials.getAWSAccessKeyId() + "/" + getScope(request, dateStamp);
String timeStamp = getTimeStamp(dateFromRequest);
request.addParameter("X-Amz-Algorithm", ALGORITHM);
request.addParameter("X-Amz-Date", timeStamp);
request.addParameter("X-Amz-SignedHeaders", getSignedHeadersString(request));
request.addParameter("X-Amz-Expires", Long.toString(time));
request.addParameter("X-Amz-Credential", str);
request.addParameter("X-Amz-Signature", BinaryUtils.toHex(computeSignature(request, dateStamp, timeStamp, ALGORITHM, calculateContentHashPresign(request), sanitizeCredentials).getSignature()));
}
public String calculateContentHashPresign(Request<?> request) {
return calculateContentHash(request);
}
public boolean needsSign(String str) {
return "date".equalsIgnoreCase(str) || "Content-MD5".equalsIgnoreCase(str) || "host".equalsIgnoreCase(str) || str.startsWith("x-amz") || str.startsWith("X-Amz");
}
}

View File

@@ -0,0 +1,125 @@
package com.amazonaws.auth;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.services.cognitoidentity.AmazonCognitoIdentity;
import com.amazonaws.services.cognitoidentity.model.GetIdRequest;
import com.amazonaws.services.cognitoidentity.model.GetIdResult;
import com.amazonaws.services.cognitoidentity.model.GetOpenIdTokenRequest;
import com.amazonaws.services.cognitoidentity.model.GetOpenIdTokenResult;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/* loaded from: classes.dex */
public abstract class AWSAbstractCognitoIdentityProvider implements AWSCognitoIdentityProvider {
public final String accountId;
public final AmazonCognitoIdentity cib;
public String identityId;
public final String identityPoolId;
public String token;
public Map loginsMap = new HashMap();
public List listeners = new ArrayList();
public String getAccountId() {
return this.accountId;
}
@Override // com.amazonaws.auth.AWSCognitoIdentityProvider
public String getIdentityPoolId() {
return this.identityPoolId;
}
@Override // com.amazonaws.auth.AWSCognitoIdentityProvider
public Map getLogins() {
return this.loginsMap;
}
public String getUserAgent() {
return "";
}
public void setToken(String str) {
this.token = str;
}
public AWSAbstractCognitoIdentityProvider(String str, String str2, AmazonCognitoIdentity amazonCognitoIdentity) {
this.accountId = str;
this.identityPoolId = str2;
this.cib = amazonCognitoIdentity;
}
@Override // com.amazonaws.auth.AWSCognitoIdentityProvider
public String getIdentityId() {
if (this.identityId == null) {
GetIdRequest withLogins = new GetIdRequest().withAccountId(getAccountId()).withIdentityPoolId(getIdentityPoolId()).withLogins(this.loginsMap);
appendUserAgent(withLogins, getUserAgent());
GetIdResult id = this.cib.getId(withLogins);
if (id.getIdentityId() != null) {
identityChanged(id.getIdentityId());
}
}
return this.identityId;
}
public String getToken() {
if (this.token == null) {
GetOpenIdTokenRequest withLogins = new GetOpenIdTokenRequest().withIdentityId(getIdentityId()).withLogins(this.loginsMap);
appendUserAgent(withLogins, getUserAgent());
GetOpenIdTokenResult openIdToken = this.cib.getOpenIdToken(withLogins);
if (!openIdToken.getIdentityId().equals(getIdentityId())) {
identityChanged(openIdToken.getIdentityId());
}
this.token = openIdToken.getToken();
}
return this.token;
}
@Override // com.amazonaws.auth.AWSCognitoIdentityProvider
public boolean isAuthenticated() {
Map map = this.loginsMap;
return map != null && map.size() > 0;
}
@Override // com.amazonaws.auth.AWSCognitoIdentityProvider
public void registerIdentityChangedListener(IdentityChangedListener identityChangedListener) {
this.listeners.add(identityChangedListener);
}
@Override // com.amazonaws.auth.AWSCognitoIdentityProvider
public void identityChanged(String str) {
String str2 = this.identityId;
if (str2 == null || !str2.equals(str)) {
String str3 = this.identityId;
this.identityId = str;
Iterator it = this.listeners.iterator();
while (it.hasNext()) {
((IdentityChangedListener) it.next()).identityChanged(str3, this.identityId);
}
}
}
public void appendUserAgent(AmazonWebServiceRequest amazonWebServiceRequest, String str) {
amazonWebServiceRequest.getRequestClientOptions().appendUserAgent(str);
}
public void update(String str, String str2) {
String str3 = this.identityId;
if (str3 == null || !str3.equals(str)) {
identityChanged(str);
}
String str4 = this.token;
if (str4 == null || !str4.equals(str2)) {
this.token = str2;
}
}
@Override // com.amazonaws.auth.AWSIdentityProvider
public String refresh() {
getIdentityId();
String token = getToken();
update(getIdentityId(), token);
return token;
}
}

View File

@@ -0,0 +1,16 @@
package com.amazonaws.auth;
import com.amazonaws.services.cognitoidentity.AmazonCognitoIdentity;
/* loaded from: classes.dex */
public class AWSBasicCognitoIdentityProvider extends AWSAbstractCognitoIdentityProvider {
public AWSBasicCognitoIdentityProvider(String str, String str2, AmazonCognitoIdentity amazonCognitoIdentity) {
super(str, str2, amazonCognitoIdentity);
}
@Override // com.amazonaws.auth.AWSAbstractCognitoIdentityProvider, com.amazonaws.auth.AWSIdentityProvider
public String refresh() {
setToken(null);
return super.refresh();
}
}

View File

@@ -0,0 +1,18 @@
package com.amazonaws.auth;
import java.util.Map;
/* loaded from: classes.dex */
public interface AWSCognitoIdentityProvider extends AWSIdentityProvider {
String getIdentityId();
String getIdentityPoolId();
Map getLogins();
void identityChanged(String str);
boolean isAuthenticated();
void registerIdentityChangedListener(IdentityChangedListener identityChangedListener);
}

View File

@@ -0,0 +1,8 @@
package com.amazonaws.auth;
/* loaded from: classes.dex */
public interface AWSCredentials {
String getAWSAccessKeyId();
String getAWSSecretKey();
}

View File

@@ -0,0 +1,6 @@
package com.amazonaws.auth;
/* loaded from: classes.dex */
public interface AWSCredentialsProvider {
AWSCredentials getCredentials();
}

View File

@@ -0,0 +1,5 @@
package com.amazonaws.auth;
/* loaded from: classes.dex */
public abstract class AWSCredentialsProviderChain implements AWSCredentialsProvider {
}

Some files were not shown because too many files have changed in this diff Show More