mirror of
https://github.com/M66B/FairEmail.git
synced 2025-12-12 18:00:28 +01:00
IAB error reporting
This commit is contained in:
@@ -60,8 +60,6 @@ import java.util.Set;
|
|||||||
|
|
||||||
public class ActivityBilling extends ActivityBase implements PurchasingListener, FragmentManager.OnBackStackChangedListener {
|
public class ActivityBilling extends ActivityBase implements PurchasingListener, FragmentManager.OnBackStackChangedListener {
|
||||||
private boolean standalone = false;
|
private boolean standalone = false;
|
||||||
private String currentUserId;
|
|
||||||
private String currentMarketplace;
|
|
||||||
private List<IBillingListener> listeners = new ArrayList<>();
|
private List<IBillingListener> listeners = new ArrayList<>();
|
||||||
|
|
||||||
static final String ACTION_PURCHASE = BuildConfig.APPLICATION_ID + ".ACTION_PURCHASE";
|
static final String ACTION_PURCHASE = BuildConfig.APPLICATION_ID + ".ACTION_PURCHASE";
|
||||||
@@ -202,12 +200,16 @@ public class ActivityBilling extends ActivityBase implements PurchasingListener,
|
|||||||
};
|
};
|
||||||
|
|
||||||
private void onPurchase(Intent intent) {
|
private void onPurchase(Intent intent) {
|
||||||
if (Helper.isAmazonInstall() || isTesting(this)) {
|
if (Helper.isAmazonInstall() || isTesting(this))
|
||||||
String skuPro = getSkuPro();
|
try {
|
||||||
Log.i("IAB purchase SKU=" + skuPro);
|
String skuPro = getSkuPro();
|
||||||
RequestId requestId = PurchasingService.purchase(skuPro);
|
Log.i("IAB purchase SKU=" + skuPro);
|
||||||
Log.i("IAB request=" + requestId);
|
RequestId requestId = PurchasingService.purchase(skuPro);
|
||||||
} else
|
Log.i("IAB request=" + requestId);
|
||||||
|
} catch (Throwable ex) {
|
||||||
|
reportError(ex.toString(), "onPurchase");
|
||||||
|
}
|
||||||
|
else
|
||||||
try {
|
try {
|
||||||
Uri uri = Uri.parse(BuildConfig.PRO_FEATURES_URI +
|
Uri uri = Uri.parse(BuildConfig.PRO_FEATURES_URI +
|
||||||
"?challenge=" + getChallenge(this) +
|
"?challenge=" + getChallenge(this) +
|
||||||
@@ -247,15 +249,14 @@ public class ActivityBilling extends ActivityBase implements PurchasingListener,
|
|||||||
|
|
||||||
switch (response.getRequestStatus()) {
|
switch (response.getRequestStatus()) {
|
||||||
case SUCCESSFUL:
|
case SUCCESSFUL:
|
||||||
Log.i("IAB user=" + response.getUserData().toString().replace('\n', '|'));
|
Log.i("IAB user=" + response.getUserData()
|
||||||
currentUserId = response.getUserData().getUserId();
|
.toString().replace('\n', '|'));
|
||||||
currentMarketplace = response.getUserData().getMarketplace();
|
|
||||||
for (IBillingListener listener : listeners)
|
for (IBillingListener listener : listeners)
|
||||||
listener.onConnected();
|
listener.onConnected();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FAILED:
|
default:
|
||||||
case NOT_SUPPORTED:
|
reportError(response.getRequestStatus().toString(), "onUserDataResponse");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -267,13 +268,13 @@ public class ActivityBilling extends ActivityBase implements PurchasingListener,
|
|||||||
switch (response.getRequestStatus()) {
|
switch (response.getRequestStatus()) {
|
||||||
case SUCCESSFUL:
|
case SUCCESSFUL:
|
||||||
for (Receipt receipt : response.getReceipts())
|
for (Receipt receipt : response.getReceipts())
|
||||||
handle(receipt);
|
handleReceipt(receipt);
|
||||||
|
|
||||||
if (response.hasMore())
|
if (response.hasMore())
|
||||||
PurchasingService.getPurchaseUpdates(false);
|
PurchasingService.getPurchaseUpdates(false);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FAILED:
|
default:
|
||||||
|
reportError(response.getRequestStatus().toString(), "onPurchaseUpdatesResponse");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -284,11 +285,10 @@ public class ActivityBilling extends ActivityBase implements PurchasingListener,
|
|||||||
|
|
||||||
switch (response.getRequestStatus()) {
|
switch (response.getRequestStatus()) {
|
||||||
case SUCCESSFUL:
|
case SUCCESSFUL:
|
||||||
for (final String sku : response.getUnavailableSkus())
|
for (String sku : response.getUnavailableSkus())
|
||||||
Log.i("IAB unavailable sku=" + sku);
|
Log.i("IAB unavailable sku=" + sku);
|
||||||
|
|
||||||
Map<String, Product> products = response.getProductData();
|
Map<String, Product> products = response.getProductData();
|
||||||
for (final String key : products.keySet()) {
|
for (String key : products.keySet()) {
|
||||||
Product product = products.get(key);
|
Product product = products.get(key);
|
||||||
Log.i("IAB product=" + product.toString().replace('\n', '|'));
|
Log.i("IAB product=" + product.toString().replace('\n', '|'));
|
||||||
if (getSkuPro().equals(product.getSku()))
|
if (getSkuPro().equals(product.getSku()))
|
||||||
@@ -297,7 +297,8 @@ public class ActivityBilling extends ActivityBase implements PurchasingListener,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FAILED:
|
default:
|
||||||
|
reportError(response.getRequestStatus().toString(), "onProductDataResponse");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -308,15 +309,16 @@ public class ActivityBilling extends ActivityBase implements PurchasingListener,
|
|||||||
|
|
||||||
switch (response.getRequestStatus()) {
|
switch (response.getRequestStatus()) {
|
||||||
case SUCCESSFUL:
|
case SUCCESSFUL:
|
||||||
handle(response.getReceipt());
|
handleReceipt(response.getReceipt());
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FAILED:
|
default:
|
||||||
|
reportError(response.getRequestStatus().toString(), "onPurchaseResponse");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handle(Receipt receipt) {
|
private void handleReceipt(Receipt receipt) {
|
||||||
Log.i("IAB receipt=" + receipt.toString().replace('\n', '|') +
|
Log.i("IAB receipt=" + receipt.toString().replace('\n', '|') +
|
||||||
" canceled=" + receipt.isCanceled() + "/" + receipt.getCancelDate());
|
" canceled=" + receipt.isCanceled() + "/" + receipt.getCancelDate());
|
||||||
|
|
||||||
@@ -337,6 +339,15 @@ public class ActivityBilling extends ActivityBase implements PurchasingListener,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void reportError(String status, String stage) {
|
||||||
|
String message = status + " " + stage;
|
||||||
|
Log.e(message);
|
||||||
|
EntityLog.log(this, message);
|
||||||
|
|
||||||
|
for (IBillingListener listener : listeners)
|
||||||
|
listener.onError(message);
|
||||||
|
}
|
||||||
|
|
||||||
interface IBillingListener {
|
interface IBillingListener {
|
||||||
void onConnected();
|
void onConnected();
|
||||||
|
|
||||||
|
|||||||
@@ -547,6 +547,7 @@ public class ActivityBilling extends ActivityBase implements /*PurchasesUpdatedL
|
|||||||
message += " " + stage;
|
message += " " + stage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Log.e(message);
|
||||||
EntityLog.log(this, message);
|
EntityLog.log(this, message);
|
||||||
|
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
|
|||||||
@@ -546,6 +546,7 @@ public class ActivityBilling extends ActivityBase implements PurchasesUpdatedLis
|
|||||||
message += " " + stage;
|
message += " " + stage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Log.e(message);
|
||||||
EntityLog.log(this, message);
|
EntityLog.log(this, message);
|
||||||
|
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user