android: BillingManager: Purchases must be acknowledged.
This commit is contained in:
parent
7504974a6a
commit
5a4392f0c5
@ -3,7 +3,10 @@ package org.citra.citra_emu.utils;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.android.billingclient.api.AcknowledgePurchaseParams;
|
||||||
|
import com.android.billingclient.api.AcknowledgePurchaseResponseListener;
|
||||||
import com.android.billingclient.api.BillingClient;
|
import com.android.billingclient.api.BillingClient;
|
||||||
import com.android.billingclient.api.BillingClientStateListener;
|
import com.android.billingclient.api.BillingClientStateListener;
|
||||||
import com.android.billingclient.api.BillingFlowParams;
|
import com.android.billingclient.api.BillingFlowParams;
|
||||||
@ -15,6 +18,7 @@ import com.android.billingclient.api.SkuDetails;
|
|||||||
import com.android.billingclient.api.SkuDetailsParams;
|
import com.android.billingclient.api.SkuDetailsParams;
|
||||||
|
|
||||||
import org.citra.citra_emu.CitraApplication;
|
import org.citra.citra_emu.CitraApplication;
|
||||||
|
import org.citra.citra_emu.R;
|
||||||
import org.citra.citra_emu.features.settings.utils.SettingsFile;
|
import org.citra.citra_emu.features.settings.utils.SettingsFile;
|
||||||
import org.citra.citra_emu.ui.main.MainActivity;
|
import org.citra.citra_emu.ui.main.MainActivity;
|
||||||
|
|
||||||
@ -97,10 +101,23 @@ public class BillingManager implements PurchasesUpdatedListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (premiumPurchase != null) {
|
if (premiumPurchase != null && premiumPurchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) {
|
||||||
// Premium has been purchased
|
// Premium has been purchased
|
||||||
updatePremiumState(true);
|
updatePremiumState(true);
|
||||||
|
|
||||||
|
// Acknowledge the purchase if it hasn't already been acknowledged.
|
||||||
|
if (!premiumPurchase.isAcknowledged()) {
|
||||||
|
AcknowledgePurchaseParams acknowledgePurchaseParams =
|
||||||
|
AcknowledgePurchaseParams.newBuilder()
|
||||||
|
.setPurchaseToken(premiumPurchase.getPurchaseToken())
|
||||||
|
.build();
|
||||||
|
|
||||||
|
AcknowledgePurchaseResponseListener acknowledgePurchaseResponseListener = billingResult1 -> {
|
||||||
|
Toast.makeText(mActivity, R.string.premium_settings_welcome, Toast.LENGTH_SHORT).show();
|
||||||
|
};
|
||||||
|
mBillingClient.acknowledgePurchase(acknowledgePurchaseParams, acknowledgePurchaseResponseListener);
|
||||||
|
}
|
||||||
|
|
||||||
if (mUpdateBillingCallback != null) {
|
if (mUpdateBillingCallback != null) {
|
||||||
try {
|
try {
|
||||||
mUpdateBillingCallback.run();
|
mUpdateBillingCallback.run();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user