[android] Added reloading of bookmark catalog after bookmark subscription bought succesfully

This commit is contained in:
Александр Зацепин 2019-07-05 19:16:37 +03:00 committed by yoksnod
parent 9ee7a6a274
commit 635d8a8407
3 changed files with 25 additions and 6 deletions

View file

@ -2,8 +2,8 @@ package com.mapswithme.maps.bookmarks;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
@ -66,6 +66,8 @@ public class BookmarksCatalogFragment extends BaseWebViewMwmFragment
private static final String FAILED_PURCHASE_DIALOG_TAG = "failed_purchase_dialog_tag";
private static final Logger LOGGER = LoggerFactory.INSTANCE.getLogger(LoggerFactory.Type.BILLING);
private static final String TAG = BookmarksCatalogFragment.class.getSimpleName();
static final int REQ_CODE_PAY_SUBSCRIPTION = 1;
static final int REQ_CODE_PAY_BOOKMARK = 2;
@SuppressWarnings("NullableProblems")
@NonNull
private WebViewBookmarksCatalogClient mWebViewClient;
@ -160,7 +162,7 @@ public class BookmarksCatalogFragment extends BaseWebViewMwmFragment
private void onRetryClick()
{
mWebViewClient.retry();
UiUtils.hide(mRetryBtn);
UiUtils.hide(mRetryBtn, mWebView);
UiUtils.show(mProgressView);
mFailedPurchaseController.validateExistingPurchases();
}
@ -211,6 +213,14 @@ public class BookmarksCatalogFragment extends BaseWebViewMwmFragment
{
super.onActivityResult(requestCode, resultCode, data);
mDelegate.onActivityResult(requestCode, resultCode, data);
if (resultCode != Activity.RESULT_OK)
return;
if (requestCode != REQ_CODE_PAY_SUBSCRIPTION)
return;
onRetryClick();
}
@Override
@ -318,7 +328,7 @@ public class BookmarksCatalogFragment extends BaseWebViewMwmFragment
if (frag == null || frag.getActivity() == null)
return;
frag.startActivity(new Intent(frag.requireContext(), BookmarkSubscriptionActivity.class));
BookmarkSubscriptionActivity.startForResult(frag, REQ_CODE_PAY_SUBSCRIPTION);
}
@Override

View file

@ -25,7 +25,6 @@ import com.mapswithme.maps.purchase.BookmarkPaymentActivity;
class BookmarksDownloadFragmentDelegate implements Authorizer.Callback, BookmarkDownloadCallback,
TargetFragmentCallback
{
public static final int REQ_CODE_SUBSCRIPTION_ACTIVITY = 301;
private final static int REQ_CODE_PAY_BOOKMARK = 1;
private static final int REQ_CODE_CHECK_INVALID_SUBS_DIALOG = 300;
private static final String CHECK_INVALID_SUBS_DIALOG_TAG = "check_invalid_subs_dialog_tag";
@ -95,9 +94,12 @@ class BookmarksDownloadFragmentDelegate implements Authorizer.Callback, Bookmark
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (resultCode == Activity.RESULT_OK && requestCode == REQ_CODE_SUBSCRIPTION_ACTIVITY)
if (resultCode == Activity.RESULT_OK && requestCode == BookmarksCatalogFragment.REQ_CODE_PAY_SUBSCRIPTION)
BookmarkManager.INSTANCE.resetInvalidCategories();
if (requestCode != BookmarksCatalogFragment.REQ_CODE_PAY_BOOKMARK)
return;
if (resultCode == Activity.RESULT_OK && requestCode == REQ_CODE_PAY_BOOKMARK)
mDownloadController.retryDownloadBookmark();
else if (requestCode == REQ_CODE_PAY_BOOKMARK)
@ -165,7 +167,7 @@ class BookmarksDownloadFragmentDelegate implements Authorizer.Callback, Bookmark
@Override
public void onPaymentRequired(@NonNull PaymentData data)
{
BookmarkPaymentActivity.startForResult(mFragment, data, REQ_CODE_PAY_BOOKMARK);
BookmarkPaymentActivity.startForResult(mFragment, data, BookmarksCatalogFragment.REQ_CODE_PAY_BOOKMARK);
}
@Override

View file

@ -26,4 +26,11 @@ public class BookmarkSubscriptionActivity extends BaseMwmFragmentActivity
Intent intent = new Intent(context, BookmarkSubscriptionActivity.class);
context.startActivity(intent);
}
public static void startForResult(@NonNull Fragment fragment, int requestCode)
{
Intent intent = new Intent(fragment.getActivity(), BookmarkSubscriptionActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
fragment.startActivityForResult(intent, requestCode);
}
}