Add pro version

This commit is contained in:
Karim Abou Zeid 2017-08-30 20:52:01 +02:00
commit 1b85252f92
11 changed files with 354 additions and 12 deletions

View file

@ -2,7 +2,10 @@ package com.kabouzeid.gramophone;
import android.app.Application;
import android.os.Build;
import android.widget.Toast;
import com.anjlab.android.iab.v3.BillingProcessor;
import com.anjlab.android.iab.v3.TransactionDetails;
import com.crashlytics.android.Crashlytics;
import com.crashlytics.android.core.CrashlyticsCore;
import com.kabouzeid.gramophone.appshortcuts.DynamicShortcutManager;
@ -13,11 +16,19 @@ import io.fabric.sdk.android.Fabric;
* @author Karim Abou Zeid (kabouzeid)
*/
public class App extends Application {
public static final String TAG = App.class.getSimpleName();
public static final String GOOGLE_PLAY_LICENSE_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjMeADN5Ffnt/ml5SYxNPCn8kGcOYGpHEfNSCts99vVxqmCn6C01E94c17j7rUK2aeHur5uxphZylzopPlQ8P8l1fqty0GPUNRSo18FCJzfGH8HZAwZYOcnRFPaXdaq3InyFJhBiODh2oeAcVK/idH6QraQ4r9HIlzigAg6lgwzxl2wJKDh7X/GMdDntCyzDh8xDQ0wIawFgvgojHwqh2Ci8Gnq6EYRwPA9yHiIIksT8Q30QyM5ewl5QcnWepsls7enNqeHarhpmSibRUDgCsxHoOpny7SyuvZvUI3wuLckDR0ds9hrt614scHHqDOBp/qWCZiAgOPVAEQcURbV09qQIDAQAB";
public static final String PRO_VERSION_PRODUCT_ID = "pro_version";
public static App app;
private BillingProcessor billingProcessor;
@Override
public void onCreate() {
super.onCreate();
app = this;
// Set up Crashlytics, disabled for debug builds
Crashlytics crashlyticsKit = new Crashlytics.Builder()
@ -29,5 +40,35 @@ public class App extends Application {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
new DynamicShortcutManager(this).initDynamicShortcuts();
}
// automatically restores purchases
billingProcessor = new BillingProcessor(this, App.GOOGLE_PLAY_LICENSE_KEY, new BillingProcessor.IBillingHandler() {
@Override
public void onProductPurchased(String productId, TransactionDetails details) {
}
@Override
public void onPurchaseHistoryRestored() {
Toast.makeText(App.this, R.string.restored_previous_purchases_please_restart, Toast.LENGTH_LONG).show();
}
@Override
public void onBillingError(int errorCode, Throwable error) {
}
@Override
public void onBillingInitialized() {
}
});
}
public static boolean isProVersion() {
return false; //BuildConfig.DEBUG || app.billingProcessor.isPurchased(PRO_VERSION_PRODUCT_ID);
}
@Override
public void onTerminate() {
super.onTerminate();
billingProcessor.release();
}
}