package org.wikipedia.analytics;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import org.wikipedia.WikipediaApp;
import java.util.ArrayList;
import java.util.List;
public class TabFunnel extends Funnel {
private static final String SCHEMA_NAME = "MobileWikiAppTabs";
private static final int SCHEMA_REVISION = 12453651;
public TabFunnel() {
super(WikipediaApp.getInstance(), SCHEMA_NAME, SCHEMA_REVISION, Funnel.SAMPLE_LOG_100);
}
public void logOpenInNew(int size) {
log("openInNew", size);
}
public void logEnterList(int size) {
log("enterList", size);
}
public void logCreateNew(int size) {
log("createNew", size);
}
public void logClose(int size, int index) {
log("close", size, index);
}
public void logSelect(int size, int index) {
log("select", size, index);
}
public void logCancel(int size) {
log("cancel", size);
}
@NonNull
@Override
protected String getSessionTokenField() {
return "tabsSessionToken";
}
private void log(String action, int size) {
log(action, size, null);
}
private void log(String action, int size, @Nullable Integer index) {
List<Object> params = new ArrayList<>();
params.add("action"); params.add(action);
params.add("tabCount"); params.add(size);
if (index != null) {
params.add("tabIndex"); params.add(index);
}
log(params.toArray());
}
}