jamfish/app/src/main/java/com/kabouzeid/gramophone/App.java
Christoph Loy 37725948f1 Refactoring: Replace usages of ArrayList<> with List<>Collections refactor (#686)
* First replacements of ArrayList with List

* Get rid of ArrayList-Types

* Revert irrelevant changes

* Fixed stuff noticed by @arkon
2019-05-17 11:07:03 -04:00

78 lines
2.6 KiB
Java

package com.kabouzeid.gramophone;
import android.app.Application;
import android.os.Build;
import androidx.annotation.NonNull;
import com.anjlab.android.iab.v3.BillingProcessor;
import com.anjlab.android.iab.v3.TransactionDetails;
import com.kabouzeid.appthemehelper.ThemeStore;
import com.kabouzeid.gramophone.appshortcuts.DynamicShortcutManager;
/**
* @author Karim Abou Zeid (kabouzeid)
*/
public class App extends Application {
public static final String GOOGLE_PLAY_LICENSE_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjMeADN5Ffnt/ml5SYxNPCn8kGcOYGpHEfNSCts99vVxqmCn6C01E94c17j7rUK2aeHur5uxphZylzopPlQ8P8l1fqty0GPUNRSo18FCJzfGH8HZAwZYOcnRFPaXdaq3InyFJhBiODh2oeAcVK/idH6QraQ4r9HIlzigAg6lgwzxl2wJKDh7X/GMdDntCyzDh8xDQ0wIawFgvgojHwqh2Ci8Gnq6EYRwPA9yHiIIksT8Q30QyM5ewl5QcnWepsls7enNqeHarhpmSibRUDgCsxHoOpny7SyuvZvUI3wuLckDR0ds9hrt614scHHqDOBp/qWCZiAgOPVAEQcURbV09qQIDAQAB";
public static final String PRO_VERSION_PRODUCT_ID = "pro_version";
private static App app;
private BillingProcessor billingProcessor;
@Override
public void onCreate() {
super.onCreate();
app = this;
// default theme
if (!ThemeStore.isConfigured(this, 1)) {
ThemeStore.editTheme(this)
.primaryColorRes(R.color.md_indigo_500)
.accentColorRes(R.color.md_pink_A400)
.commit();
}
// 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(@NonNull String productId, TransactionDetails details) {
}
@Override
public void onPurchaseHistoryRestored() {
// Toast.makeText(App.this, R.string.restored_previous_purchase_please_restart, Toast.LENGTH_LONG).show();
}
@Override
public void onBillingError(int errorCode, Throwable error) {
}
@Override
public void onBillingInitialized() {
}
});
}
public static boolean isProVersion() {
return BuildConfig.DEBUG || app.billingProcessor.isPurchased(PRO_VERSION_PRODUCT_ID);
}
public static App getInstance() {
return app;
}
@Override
public void onTerminate() {
super.onTerminate();
billingProcessor.release();
}
}