Dbrant has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/394344 )
Change subject: Event logging for Randomizer. ...................................................................... Event logging for Randomizer. This implements the new schema developed at: https://meta.wikimedia.org/wiki/Schema:MobileWikiAppRandomizer Change-Id: I61e1588ad0183389787e30955f62848db85e05b5 --- M app/src/main/java/org/wikipedia/random/RandomFragment.java 1 file changed, 33 insertions(+), 0 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/44/394344/1 diff --git a/app/src/main/java/org/wikipedia/random/RandomFragment.java b/app/src/main/java/org/wikipedia/random/RandomFragment.java index cca8bc6..adaba1c 100644 --- a/app/src/main/java/org/wikipedia/random/RandomFragment.java +++ b/app/src/main/java/org/wikipedia/random/RandomFragment.java @@ -15,6 +15,8 @@ import android.widget.ImageView; import org.wikipedia.R; +import org.wikipedia.WikipediaApp; +import org.wikipedia.analytics.RandomizerFunnel; import org.wikipedia.concurrency.CallbackTask; import org.wikipedia.history.HistoryEntry; import org.wikipedia.page.ExclusiveBottomSheetPresenter; @@ -42,6 +44,7 @@ private ExclusiveBottomSheetPresenter bottomSheetPresenter = new ExclusiveBottomSheetPresenter(); private boolean saveButtonState; private ViewPagerListener viewPagerListener = new ViewPagerListener(); + @Nullable private RandomizerFunnel funnel; @NonNull public static RandomFragment newInstance() { @@ -62,6 +65,9 @@ randomPager.addOnPageChangeListener(viewPagerListener); updateBackButton(0); + + funnel = new RandomizerFunnel(WikipediaApp.getInstance(), WikipediaApp.getInstance().getWikiSite(), + getActivity().getIntent().getIntExtra(RandomActivity.INVOKE_SOURCE_EXTRA, 0)); return view; } @@ -70,16 +76,27 @@ randomPager.removeOnPageChangeListener(viewPagerListener); unbinder.unbind(); unbinder = null; + if (funnel != null) { + funnel.done(); + } super.onDestroyView(); } @OnClick(R.id.random_next_button) void onNextClick() { + viewPagerListener.setNextPageSelectedAutomatic(); randomPager.setCurrentItem(randomPager.getCurrentItem() + 1, true); + if (funnel != null) { + funnel.clickedForward(); + } } @OnClick(R.id.random_back_button) void onBacklick() { + viewPagerListener.setNextPageSelectedAutomatic(); if (randomPager.getCurrentItem() > 0) { randomPager.setCurrentItem(randomPager.getCurrentItem() - 1, true); + if (funnel != null) { + funnel.clickedBack(); + } } } @@ -196,6 +213,13 @@ } private class ViewPagerListener implements ViewPager.OnPageChangeListener { + private int prevPosition; + private boolean nextPageSelectedAutomatic; + + void setNextPageSelectedAutomatic() { + nextPageSelectedAutomatic = true; + } + @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @@ -207,6 +231,15 @@ if (title != null) { updateSaveShareButton(title); } + if (!nextPageSelectedAutomatic && funnel != null) { + if (position > prevPosition) { + funnel.swipedForward(); + } else if (position < prevPosition) { + funnel.swipedBack(); + } + } + nextPageSelectedAutomatic = false; + prevPosition = position; } @Override -- To view, visit https://gerrit.wikimedia.org/r/394344 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I61e1588ad0183389787e30955f62848db85e05b5 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Dbrant <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
