package org.voxe.android.common;
import java.util.Set;
import org.voxe.android.model.Election;
import org.voxe.android.model.Tag;
import android.app.Activity;
import android.os.Bundle;
import com.google.common.collect.Iterables;
import com.googlecode.androidannotations.annotations.AfterInject;
import com.googlecode.androidannotations.annotations.EBean;
import com.googlecode.androidannotations.annotations.RootContext;
import com.ubikod.capptain.android.sdk.CapptainAgent;
import com.ubikod.capptain.android.sdk.CapptainAgentUtils;
@EBean
public class Analytics {
@RootContext
Activity activity;
String activityNameOnCapptain;
@AfterInject
void buildActivityName() {
activityNameOnCapptain = CapptainAgentUtils.buildCapptainActivityName(activity.getClass());
}
public void onResume() {
CapptainAgent.getInstance(activity).startActivity(activity, activityNameOnCapptain, null);
}
public void onPause() {
CapptainAgent.getInstance(activity).endActivity();
}
public void tagSelected(Election election, Tag selectedTag) {
Bundle bundle = new Bundle();
bundle.putString("election", election.namespace);
bundle.putString("selectedTag", selectedTag.namespace);
CapptainAgent.getInstance(activity).sendSessionEvent("tagSelected", bundle);
}
public void backToCandidatesFromTag(Election election) {
Bundle bundle = new Bundle();
bundle.putString("election", election.namespace);
CapptainAgent.getInstance(activity).sendSessionEvent("backToCandidatesFromTag", bundle);
}
public void twoCandidatesSelected(Election election, Set<String> selectedCandidateIds) {
Bundle bundle = new Bundle();
bundle.putStringArray("selectedCandidateIds", Iterables.toArray(selectedCandidateIds, String.class));
bundle.putString("election", election.namespace);
CapptainAgent.getInstance(activity).sendSessionEvent("twoCandidatesSelected", bundle);
}
public void backToCandidatesFromComparison(Election election) {
Bundle bundle = new Bundle();
bundle.putString("election", election.namespace);
CapptainAgent.getInstance(activity).sendSessionEvent("backToCandidatesFromComparison", bundle);
}
public void backToTagFromComparison(Election election) {
Bundle bundle = new Bundle();
bundle.putString("election", election.namespace);
CapptainAgent.getInstance(activity).sendSessionEvent("backToTagFromComparison", bundle);
}
public void electionSelected(Election selectedElection) {
Bundle bundle = new Bundle();
bundle.putString("selectedElection", selectedElection.namespace);
CapptainAgent.getInstance(activity).sendSessionEvent("electionSelected", bundle);
}
}