[android] Added handling of play store connection failure during catalog opening

This commit is contained in:
Александр Зацепин 2019-12-03 19:18:21 +03:00 committed by Arsentiy Milchakov
parent 689cacf1bb
commit bf3cd429d3
3 changed files with 12 additions and 3 deletions

View file

@ -117,6 +117,7 @@ public class BookmarksCatalogFragment extends BaseWebViewMwmFragment
super.onStart();
mDelegate.onStart();
mFailedPurchaseController.addCallback(mPurchaseChecker);
mFailedPurchaseController.validateExistingPurchases();
mProductDetailsLoadingManager.addCallback(mProductDetailsLoadingCallback);
}
@ -161,7 +162,6 @@ public class BookmarksCatalogFragment extends BaseWebViewMwmFragment
setHasOptionsMenu(true);
mFailedPurchaseController = PurchaseFactory.createFailedBookmarkPurchaseController(requireContext());
mFailedPurchaseController.initialize(requireActivity());
mFailedPurchaseController.validateExistingPurchases();
mPurchaseChecker = new FailedBookmarkPurchaseChecker();
mProductDetailsLoadingManager = PurchaseFactory.createInAppBillingManager();
mProductDetailsLoadingManager.initialize(requireActivity());
@ -506,6 +506,13 @@ public class BookmarksCatalogFragment extends BaseWebViewMwmFragment
{
mDelegate.authorize(() -> mFailedPurchaseController.validateExistingPurchases());
}
@Override
public void onStoreConnectionFailed()
{
LOGGER.e(TAG, "Failed to check failed bookmarks due play store connection failure");
loadCatalog(null);
}
}
private class ProductDetailsLoadingCallback extends AbstractProductDetailsLoadingCallback

View file

@ -2,9 +2,9 @@ package com.mapswithme.maps.purchase;
import android.app.Activity;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.billingclient.api.Purchase;
import com.android.billingclient.api.SkuDetails;
import com.mapswithme.maps.PrivateVariables;
@ -161,7 +161,8 @@ public class FailedBookmarkPurchaseController implements PurchaseController<Fail
@Override
public void onStoreConnectionFailed()
{
// Do nothing by default.
if (mCallback != null)
mCallback.onStoreConnectionFailed();
}
@Override

View file

@ -4,4 +4,5 @@ public interface FailedPurchaseChecker
{
void onFailedPurchaseDetected(boolean isDetected);
void onAuthorizationRequired();
void onStoreConnectionFailed();
}