misc analytics

* lots of new menu items
* log auto-advance setting
* log message header taps
* log photo-viewer menu items
* log conversation views (including enclosing label, synced state,
  message count)
* log folder views (including bucketed total counts)
* log pager swipes (including folder type)

Bug: 11253673
Change-Id: Iffdcbf19b202fbb3b6b33e0f7f0e9e4c24fa948d
diff --git a/src/com/android/mail/ui/ConversationViewFragment.java b/src/com/android/mail/ui/ConversationViewFragment.java
index a07c3b7..233ea9a 100644
--- a/src/com/android/mail/ui/ConversationViewFragment.java
+++ b/src/com/android/mail/ui/ConversationViewFragment.java
@@ -46,6 +46,7 @@
 
 import com.android.mail.FormattedDateBuilder;
 import com.android.mail.R;
+import com.android.mail.analytics.Analytics;
 import com.android.mail.browse.ConversationContainer;
 import com.android.mail.browse.ConversationContainer.OverlayPosition;
 import com.android.mail.browse.ConversationMessage;
@@ -502,13 +503,30 @@
         if (!userVisible) {
             mProgressController.dismissLoadingStatus();
         } else if (mViewsCreated) {
+            String loadTag = null;
+            final boolean isInitialLoading = mActivity.getConversationUpdater()
+                    .isInitialConversationLoading();
+
             if (getMessageCursor() != null) {
                 LogUtils.d(LOG_TAG, "Fragment is now user-visible, onConversationSeen: %s", this);
+                if (!isInitialLoading) {
+                    loadTag = "preloaded";
+                }
                 onConversationSeen();
             } else if (isLoadWaiting()) {
                 LogUtils.d(LOG_TAG, "Fragment is now user-visible, showing conversation: %s", this);
+                if (!isInitialLoading) {
+                    loadTag = "load_deferred";
+                }
                 handleDelayedConversationLoad();
             }
+
+            if (loadTag != null) {
+                // pager swipes are visibility transitions to 'visible' except during initial
+                // pager load on A) enter conversation mode B) rotate C) 2-pane conv-mode list-tap
+              Analytics.getInstance().sendEvent("pager_swipe", loadTag,
+                      getCurrentFolderTypeDesc(), 0);
+            }
         }
 
         if (mWebView != null) {