Mholloway has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/228012

Change subject: Add event logging funnel for navigation menu interaction
......................................................................

Add event logging funnel for navigation menu interaction

Bug: T104623
Change-Id: I9cf04cf9c2d258fc8b561d1dca99de40e22c78ab
---
A wikipedia/src/main/java/org/wikipedia/analytics/NavMenuFunnel.java
M wikipedia/src/main/java/org/wikipedia/page/NavDrawerHelper.java
M wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
3 files changed, 64 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/12/228012/1

diff --git a/wikipedia/src/main/java/org/wikipedia/analytics/NavMenuFunnel.java 
b/wikipedia/src/main/java/org/wikipedia/analytics/NavMenuFunnel.java
new file mode 100644
index 0000000..7c3ae47
--- /dev/null
+++ b/wikipedia/src/main/java/org/wikipedia/analytics/NavMenuFunnel.java
@@ -0,0 +1,40 @@
+package org.wikipedia.analytics;
+
+import android.support.annotation.NonNull;
+
+import org.wikipedia.WikipediaApp;
+
+public class NavMenuFunnel extends TimedFunnel {
+    private static final String SCHEMA_NAME = "MobileWikiAppNavMenu";
+    private static final int REV_ID = 12732211;
+
+    public NavMenuFunnel() {
+        // TODO: CHANGE TO SAMPLE AT 1/100 WHEN PUSHING FOR REVIEW
+        super(WikipediaApp.getInstance(), SCHEMA_NAME, REV_ID, 
Funnel.SAMPLE_LOG_ALL);
+    }
+
+    @NonNull
+    @Override
+    protected String getSessionTokenField() {
+        return "sessionToken";
+    }
+
+    public void logOpen() {
+        log(
+                "action", "open"
+        );
+    }
+
+    public void logCancel() {
+        log(
+                "action", "cancel"
+        );
+    }
+
+    public void logSelect(String menuItemEnglishTitle) {
+        log(
+                "action", "select",
+                "menuItem", menuItemEnglishTitle
+        );
+    }
+}
diff --git a/wikipedia/src/main/java/org/wikipedia/page/NavDrawerHelper.java 
b/wikipedia/src/main/java/org/wikipedia/page/NavDrawerHelper.java
index 2c4078b..f8f23bd 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/NavDrawerHelper.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/NavDrawerHelper.java
@@ -9,6 +9,7 @@
 import org.wikipedia.R;
 import org.wikipedia.WikipediaApp;
 import org.wikipedia.analytics.LoginFunnel;
+import org.wikipedia.analytics.NavMenuFunnel;
 import org.wikipedia.history.HistoryEntry;
 import org.wikipedia.history.HistoryFragment;
 import org.wikipedia.login.LoginActivity;
@@ -26,14 +27,28 @@
             R.id.nav_item_username
     };
 
+    private static final String NAV_MENU_TODAY_TITLE_ENGLISH = "Today";
+    private static final String NAV_MENU_HISTORY_TITLE_ENGLISH = "History";
+    private static final String NAV_MENU_SAVED_PAGES_TITLE_ENGLISH = "Saved 
Pages";
+    private static final String NAV_MENU_NEARBY_TITLE_ENGLISH = "Nearby";
+    private static final String NAV_MENU_MORE_TITLE_ENGLISH = "More";
+    private static final String NAV_MENU_LOGIN_TITLE_ENGLISH = "Login";
+    private static final String NAV_MENU_RANDOM_TITLE_ENGLISH = "Random";
+
     private final WikipediaApp app = WikipediaApp.getInstance();
     private final PageActivity page;
     private MenuItem usernameContainer;
     private MenuItem loginContainer;
     private MenuItem[] loggedInOnyActionViews = new 
MenuItem[NAV_DRAWER_ACTION_ITEMS_LOGGED_IN_ONLY.length];
+    private NavMenuFunnel funnel;
 
     public NavDrawerHelper(@NonNull PageActivity page) {
         this.page = page;
+        this.funnel = new NavMenuFunnel();
+    }
+
+    public NavMenuFunnel getFunnel() {
+        return funnel;
     }
 
     public void setupDynamicNavDrawerItems() {
@@ -57,24 +72,31 @@
                 switch (menuItem.getItemId()) {
                     case R.id.nav_item_today:
                         page.displayMainPage();
+                        funnel.logSelect(NAV_MENU_TODAY_TITLE_ENGLISH);
                         break;
                     case R.id.nav_item_history:
                         page.pushFragment(new HistoryFragment());
+                        funnel.logSelect(NAV_MENU_HISTORY_TITLE_ENGLISH);
                         break;
                     case R.id.nav_item_saved_pages:
                         page.pushFragment(new SavedPagesFragment());
+                        funnel.logSelect(NAV_MENU_SAVED_PAGES_TITLE_ENGLISH);
                         break;
                     case R.id.nav_item_nearby:
                         page.pushFragment(new NearbyFragment());
+                        funnel.logSelect(NAV_MENU_NEARBY_TITLE_ENGLISH);
                         break;
                     case R.id.nav_item_more:
                         launchSettingsActivity();
+                        funnel.logSelect(NAV_MENU_MORE_TITLE_ENGLISH);
                         break;
                     case R.id.nav_item_login:
                         launchLoginActivity();
+                        funnel.logSelect(NAV_MENU_LOGIN_TITLE_ENGLISH);
                         break;
                     case R.id.nav_item_random:
                         page.getRandomHandler().doVisitRandomArticle();
+                        funnel.logSelect(NAV_MENU_RANDOM_TITLE_ENGLISH);
                         break;
                     default:
                         return false;
diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java 
b/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
index eee9f44..e12e527 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
@@ -318,6 +318,7 @@
             super.onDrawerClosed(view);
             // if we want to change the title upon closing:
             //getSupportActionBar().setTitle("");
+            navDrawerHelper.getFunnel().logCancel();
         }
 
         @Override
@@ -333,6 +334,7 @@
             if (isCabOpen()) {
                 currentActionMode.finish();
             }
+            navDrawerHelper.getFunnel().logOpen();
         }
 
         private boolean oncePerSlideLock = false;

-- 
To view, visit https://gerrit.wikimedia.org/r/228012
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I9cf04cf9c2d258fc8b561d1dca99de40e22c78ab
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to