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

Reply via email to