* First replacements of ArrayList with List * Get rid of ArrayList-Types * Revert irrelevant changes * Fixed stuff noticed by @arkon
78 lines
2.6 KiB
Java
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();
|
|
}
|
|
}
|