package com.xda.one.util;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Logger;
import com.google.android.gms.analytics.Tracker;
import com.xda.one.R;
import android.app.Application;
import android.content.Context;
import java.util.HashMap;
public class OneApplication extends Application {
// The following line should be changed to include the correct property id.
private static final String PROPERTY_ID = "UA-12268453-6";
public enum TrackerName {
APP_TRACKER, // Tracker used only in this app.
GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking.
ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company.
}
private final HashMap<TrackerName, Tracker> mTrackers = new HashMap<>();
public synchronized Tracker getTracker(TrackerName trackerId) {
if (mTrackers.containsKey(trackerId)) {
return mTrackers.get(trackerId);
}
final GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
analytics.getLogger().setLogLevel(Logger.LogLevel.VERBOSE);
final Tracker tracker;
switch (trackerId) {
case APP_TRACKER:
tracker = analytics.newTracker(PROPERTY_ID);
break;
case GLOBAL_TRACKER:
tracker = analytics.newTracker(R.xml.global_tracker);
break;
default:
tracker = analytics.newTracker(R.xml.global_tracker);
break;
}
tracker.enableAdvertisingIdCollection(true);
mTrackers.put(trackerId, tracker);
return tracker;
}
@Override
protected void attachBaseContext(final Context base) {
super.attachBaseContext(base);
// MultiDex.install(this);
}
}