package com.thomasdh.roosterpgplus;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.support.multidex.MultiDexApplication;
import android.util.Log;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
import org.acra.ACRA;
import org.acra.annotation.ReportsCrashes;
import org.acra.sender.HttpSender;
import java.util.HashMap;
@ReportsCrashes(
httpMethod = HttpSender.Method.PUT,
reportType = HttpSender.Type.JSON,
formUri = "http://logging.discipul.nl:5984/acra-discipul/_design/acra-storage/_update/report",
formUriBasicAuthLogin = "discipul_reporter",
formUriBasicAuthPassword = "2phh!3GRakVd"
)
public class MainApplication extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
ACRA.init(this);
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
/* GA setup */
if(pref.getBoolean("analytics", false)) {
GoogleAnalytics.getInstance(getApplicationContext()).setAppOptOut(true);
}
if(BuildConfig.GRADLE_DEBUG) {
GoogleAnalytics.getInstance(getApplicationContext()).setDryRun(true);
}
Log.e("GRADLE DEBUG", String.valueOf(BuildConfig.GRADLE_DEBUG));
Log.e("DEBUG", String.valueOf(BuildConfig.DEBUG));
}
@Override
public void onTerminate() {
super.onTerminate();
trackers = null;
}
private static HashMap<TrackerName, Tracker> trackers = new HashMap<>();
public static synchronized Tracker getTracker(TrackerName trackerId, Context context) {
if(!trackers.containsKey(trackerId)) {
int userID = PreferenceManager.getDefaultSharedPreferences(context).getInt("userid", 0);
GoogleAnalytics analytics = GoogleAnalytics.getInstance(context);
Tracker tracker = analytics.newTracker(R.xml.app_tracker);
tracker.enableAdvertisingIdCollection(true);
if(userID != 0) tracker.set("&uid", String.valueOf(userID));
trackers.put(trackerId, tracker);
}
Tracker returnTracker = trackers.get(trackerId);
returnTracker.setScreenName(null);
return returnTracker;
}
public enum TrackerName {
APP_TRACKER
}
}