package com.laowch.githubtrends.utils;
import android.content.Context;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.HitBuilders.ScreenViewBuilder;
import com.google.android.gms.analytics.Tracker;
import com.laowch.githubtrends.R;
import java.io.PrintWriter;
import java.io.StringWriter;
public class AnalyticsHelper {
private static Tracker sTracker;
public static void initialize(final Context pContext) {
AnalyticsHelper.sTracker = GoogleAnalytics.getInstance(pContext).newTracker(R.xml.analytics);
}
public static void sendView(final String pScreenName) {
AnalyticsHelper.sTracker.setScreenName(pScreenName);
AnalyticsHelper.sTracker.send(new ScreenViewBuilder().build());
AnalyticsHelper.sTracker.setScreenName(null);
}
public static void sendEvent(final String pCategory, final String pAction, final String pLabel, final Long pValue) {
AnalyticsHelper.sTracker.send(new HitBuilders.EventBuilder().setCategory(pCategory).setAction(pAction).setLabel(pLabel).setValue(pValue).build());
}
public static void sendException(Exception ex, boolean isFatal) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
ex.printStackTrace(pw);
AnalyticsHelper.sTracker.send(new HitBuilders.ExceptionBuilder()
.setDescription(ex.getMessage() + "\n" + sw.toString())
.setFatal(isFatal)
.build());
}
public static void sendTiming(String category, long timeMills, String action, String label) {
AnalyticsHelper.sTracker.send(new HitBuilders.TimingBuilder().setCategory(category).setVariable(action).setLabel(label).setValue(timeMills).build());
}
}