--- a/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPager.java
+++ b/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPager.java
@@ -99,27 +99,27 @@ public class FirstrunPager extends ViewP
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
mDecor.onPageScrolled(position, positionOffset, positionOffsetPixels);
}
@Override
public void onPageSelected(int i) {
mDecor.onPageSelected(i);
- Telemetry.sendUIEvent(TelemetryContract.Event.SHOW, TelemetryContract.Method.PANEL, "onboarding." + i);
+ Telemetry.sendUIEvent(TelemetryContract.Event.SHOW, TelemetryContract.Method.PANEL, "onboarding." + i + "." + panels.get(i).getTag());
}
@Override
public void onPageScrollStateChanged(int i) {}
});
animateLoad();
// Record telemetry for first onboarding panel, for baseline.
- Telemetry.sendUIEvent(TelemetryContract.Event.SHOW, TelemetryContract.Method.PANEL, "onboarding.0");
+ Telemetry.sendUIEvent(TelemetryContract.Event.SHOW, TelemetryContract.Method.PANEL, "onboarding.0." + panels.get(0).getTag());
}
public void cleanup() {
setAdapter(null);
}
private void animateLoad() {
ViewHelper.setTranslationY(this, 500);
--- a/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPagerConfig.java
+++ b/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPagerConfig.java
@@ -24,34 +24,34 @@ public class FirstrunPagerConfig {
public static final String KEY_IMAGE = "imageRes";
public static final String KEY_TEXT = "textRes";
public static final String KEY_SUBTEXT = "subtextRes";
public static List<FirstrunPanelConfig> getDefault(Context context) {
final List<FirstrunPanelConfig> panels = new LinkedList<>();
if (isInExperimentLocal(context, Experiments.ONBOARDING2_A)) {
- panels.add(new FirstrunPanelConfig(WelcomePanel.class.getName(), WelcomePanel.TITLE_RES));
+ panels.add(new FirstrunPanelConfig(WelcomePanel.class.getName(), WelcomePanel.TAG, WelcomePanel.TITLE_RES));
Telemetry.startUISession(TelemetryContract.Session.EXPERIMENT, Experiments.ONBOARDING2_A);
} else if (isInExperimentLocal(context, Experiments.ONBOARDING2_B)) {
panels.add(SimplePanelConfigs.urlbarPanelConfig);
panels.add(SimplePanelConfigs.bookmarksPanelConfig);
panels.add(SimplePanelConfigs.syncPanelConfig);
- panels.add(new FirstrunPanelConfig(SyncPanel.class.getName(), SyncPanel.TITLE_RES));
+ panels.add(new FirstrunPanelConfig(SyncPanel.class.getName(), SyncPanel.TAG, SyncPanel.TITLE_RES));
Telemetry.startUISession(TelemetryContract.Session.EXPERIMENT, Experiments.ONBOARDING2_B);
} else if (isInExperimentLocal(context, Experiments.ONBOARDING2_C)) {
panels.add(SimplePanelConfigs.urlbarPanelConfig);
panels.add(SimplePanelConfigs.bookmarksPanelConfig);
panels.add(SimplePanelConfigs.dataPanelConfig);
panels.add(SimplePanelConfigs.syncPanelConfig);
- panels.add(new FirstrunPanelConfig(SyncPanel.class.getName(), SyncPanel.TITLE_RES));
+ panels.add(new FirstrunPanelConfig(SyncPanel.class.getName(), SyncPanel.TAG, SyncPanel.TITLE_RES));
Telemetry.startUISession(TelemetryContract.Session.EXPERIMENT, Experiments.ONBOARDING2_C);
} else {
Log.d(LOGTAG, "Not in an experiment!");
- panels.add(new FirstrunPanelConfig(WelcomePanel.class.getName(), WelcomePanel.TITLE_RES));
+ panels.add(new FirstrunPanelConfig(WelcomePanel.class.getName(), WelcomePanel.TAG, WelcomePanel.TITLE_RES));
}
return panels;
}
/*
* Wrapper method for using local bucketing rather than server-side.
* This needs to match the server-side bucketing used on mozilla-switchboard.herokuapp.com.
@@ -66,37 +66,39 @@ public class FirstrunPagerConfig {
return Experiments.ONBOARDING2_C.equals(name);
}
}
return false;
}
public static List<FirstrunPanelConfig> getRestricted() {
final List<FirstrunPanelConfig> panels = new LinkedList<>();
- panels.add(new FirstrunPanelConfig(RestrictedWelcomePanel.class.getName(), RestrictedWelcomePanel.TITLE_RES));
+ panels.add(new FirstrunPanelConfig(RestrictedWelcomePanel.class.getName(), "restricted", RestrictedWelcomePanel.TITLE_RES));
return panels;
}
public static class FirstrunPanelConfig {
- private String classname;
- private int titleRes;
+ private final String classname;
+ private final int titleRes;
private Bundle args;
+ private final String tag;
- public FirstrunPanelConfig(String resource, int titleRes) {
- this(resource, titleRes, -1, -1, -1, true);
+ public FirstrunPanelConfig(String resource, String tag, int titleRes) {
+ this(resource, tag, titleRes, -1, -1, -1, true);
}
- public FirstrunPanelConfig(String classname, int titleRes, int imageRes, int textRes, int subtextRes) {
- this(classname, titleRes, imageRes, textRes, subtextRes, false);
+ public FirstrunPanelConfig(String classname, String tag, int titleRes, int imageRes, int textRes, int subtextRes) {
+ this(classname, tag, titleRes, imageRes, textRes, subtextRes, false);
}
- private FirstrunPanelConfig(String classname, int titleRes, int imageRes, int textRes, int subtextRes, boolean isCustom) {
+ private FirstrunPanelConfig(String classname, String tag, int titleRes, int imageRes, int textRes, int subtextRes, boolean isCustom) {
this.classname = classname;
this.titleRes = titleRes;
+ this.tag = tag;
if (!isCustom) {
this.args = new Bundle();
this.args.putInt(KEY_IMAGE, imageRes);
this.args.putInt(KEY_TEXT, textRes);
this.args.putInt(KEY_SUBTEXT, subtextRes);
}
}
@@ -107,17 +109,21 @@ public class FirstrunPagerConfig {
public int getTitleRes() {
return this.titleRes;
}
public Bundle getArgs() {
return args;
}
+
+ public String getTag() {
+ return tag;
+ }
}
protected static class SimplePanelConfigs {
- public static final FirstrunPanelConfig urlbarPanelConfig = new FirstrunPanelConfig(FirstrunPanel.class.getName(), R.string.firstrun_panel_title_welcome, R.drawable.firstrun_urlbar, R.string.firstrun_urlbar_message, R.string.firstrun_urlbar_subtext);
- public static final FirstrunPanelConfig bookmarksPanelConfig = new FirstrunPanelConfig(FirstrunPanel.class.getName(), R.string.firstrun_bookmarks_title, R.drawable.firstrun_bookmarks, R.string.firstrun_bookmarks_message, R.string.firstrun_bookmarks_subtext);
- public static final FirstrunPanelConfig syncPanelConfig = new FirstrunPanelConfig(FirstrunPanel.class.getName(), R.string.firstrun_sync_title, R.drawable.firstrun_sync, R.string.firstrun_sync_message, R.string.firstrun_sync_subtext);
- public static final FirstrunPanelConfig dataPanelConfig = new FirstrunPanelConfig(DataPanel.class.getName(), R.string.firstrun_data_title, R.drawable.firstrun_data_off, R.string.firstrun_data_message, R.string.firstrun_data_subtext);
+ public static final FirstrunPanelConfig urlbarPanelConfig = new FirstrunPanelConfig(FirstrunPanel.class.getName(), "welcome", R.string.firstrun_panel_title_welcome, R.drawable.firstrun_urlbar, R.string.firstrun_urlbar_message, R.string.firstrun_urlbar_subtext);
+ public static final FirstrunPanelConfig bookmarksPanelConfig = new FirstrunPanelConfig(FirstrunPanel.class.getName(), "history", R.string.firstrun_bookmarks_title, R.drawable.firstrun_bookmarks, R.string.firstrun_bookmarks_message, R.string.firstrun_bookmarks_subtext);
+ public static final FirstrunPanelConfig syncPanelConfig = new FirstrunPanelConfig(FirstrunPanel.class.getName(), "sync", R.string.firstrun_sync_title, R.drawable.firstrun_sync, R.string.firstrun_sync_message, R.string.firstrun_sync_subtext);
+ public static final FirstrunPanelConfig dataPanelConfig = new FirstrunPanelConfig(DataPanel.class.getName(), "data", R.string.firstrun_data_title, R.drawable.firstrun_data_off, R.string.firstrun_data_message, R.string.firstrun_data_subtext);
}
}