74 lines
2.7 KiB
Java
74 lines
2.7 KiB
Java
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;
|
|
|
|
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()
|
|
.core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build())
|
|
.build();
|
|
Fabric.with(this, crashlyticsKit);
|
|
|
|
// Set up dynamic shortcuts
|
|
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();
|
|
}
|
|
}
|