aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTony Rankin <tonyr59h@users.noreply.github.com>2016-09-30 01:17:20 -0700
committerGitHub <noreply@github.com>2016-09-30 01:17:20 -0700
commit4d4ad90a7fe7b9c89220dbe8b4395f14b6cb764c (patch)
treed5b07736f8231ee7175a8ffcc4ea46721b7d62f5
parent4322289b481c154eeb9d790c15f2bb6c580dd47e (diff)
parent5a86fe26047500ed912ac3fc0a7238f8996c9055 (diff)
downloadgradle-perf-android-medium-4d4ad90a7fe7b9c89220dbe8b4395f14b6cb764c.tar.gz
Merge pull request #4567 from wordpress-mobile/issue/4539-reader-related-post-track
Issue/4539 reader related post track
-rw-r--r--WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostDetailFragment.java27
-rw-r--r--WordPress/src/main/java/org/wordpress/android/util/AnalyticsUtils.java21
-rw-r--r--libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java1
-rw-r--r--libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerMixpanel.java6
-rw-r--r--libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerNosara.java2
5 files changed, 41 insertions, 16 deletions
diff --git a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostDetailFragment.java b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostDetailFragment.java
index ef7c9245b..da635bfe4 100644
--- a/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostDetailFragment.java
+++ b/WordPress/src/main/java/org/wordpress/android/ui/reader/ReaderPostDetailFragment.java
@@ -512,15 +512,7 @@ public class ReaderPostDetailFragment extends Fragment
postView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
- // if we're already viewing a related post, add it to the history stack
- // so the user can back-button through the history - otherwise start a
- // new detail activity for this related post
- if (mIsRelatedPost) {
- mPostHistory.push(new ReaderBlogIdPostId(mPost.blogId, mPost.postId));
- replacePost(relatedPost.getBlogId(), relatedPost.getPostId());
- } else {
- ReaderActivityLauncher.showReaderPostDetail(getActivity(), relatedPost.getBlogId(), relatedPost.getPostId(), true);
- }
+ showRelatedPostDetail(relatedPost.getBlogId(), relatedPost.getPostId());
}
});
@@ -543,6 +535,23 @@ public class ReaderPostDetailFragment extends Fragment
}
/*
+ * user clicked a single related post - if we're already viewing a related post, add it to the
+ * history stack so the user can back-button through the history - otherwise start a new detail
+ * activity for this related post
+ */
+ private void showRelatedPostDetail(long blogId, long postId) {
+ AnalyticsUtils.trackWithReaderPostDetails(
+ AnalyticsTracker.Stat.READER_RELATED_POST_CLICKED, blogId, postId);
+
+ if (mIsRelatedPost) {
+ mPostHistory.push(new ReaderBlogIdPostId(mPost.blogId, mPost.postId));
+ replacePost(blogId, postId);
+ } else {
+ ReaderActivityLauncher.showReaderPostDetail(getActivity(), blogId, postId, true);
+ }
+ }
+
+ /*
* if the fragment is maintaining a backstack of posts, navigate to the previous one
*/
protected boolean goBackInPostHistory() {
diff --git a/WordPress/src/main/java/org/wordpress/android/util/AnalyticsUtils.java b/WordPress/src/main/java/org/wordpress/android/util/AnalyticsUtils.java
index c8dd0867a..208605959 100644
--- a/WordPress/src/main/java/org/wordpress/android/util/AnalyticsUtils.java
+++ b/WordPress/src/main/java/org/wordpress/android/util/AnalyticsUtils.java
@@ -13,6 +13,7 @@ import org.wordpress.android.analytics.AnalyticsMetadata;
import org.wordpress.android.analytics.AnalyticsTracker;
import org.wordpress.android.analytics.AnalyticsTrackerMixpanel;
import org.wordpress.android.analytics.AnalyticsTrackerNosara;
+import org.wordpress.android.datasets.ReaderPostTable;
import org.wordpress.android.models.AccountHelper;
import org.wordpress.android.models.Blog;
import org.wordpress.android.models.ReaderPost;
@@ -24,6 +25,7 @@ import java.util.Map;
import static org.wordpress.android.analytics.AnalyticsTracker.Stat.READER_ARTICLE_COMMENTED_ON;
import static org.wordpress.android.analytics.AnalyticsTracker.Stat.READER_ARTICLE_LIKED;
import static org.wordpress.android.analytics.AnalyticsTracker.Stat.READER_ARTICLE_OPENED;
+import static org.wordpress.android.analytics.AnalyticsTracker.Stat.READER_RELATED_POST_CLICKED;
import static org.wordpress.android.analytics.AnalyticsTracker.Stat.READER_SEARCH_RESULT_TAPPED;
import static org.wordpress.android.analytics.AnalyticsTracker.Stat.TRAIN_TRACKS_INTERACT;
import static org.wordpress.android.analytics.AnalyticsTracker.Stat.TRAIN_TRACKS_RENDER;
@@ -209,12 +211,16 @@ public class AnalyticsUtils {
}
}
- /**
- * Track when a railcar item has been rendered
- *
- * @param post The JSON string of the railcar
- *
- */
+ public static void trackWithReaderPostDetails(AnalyticsTracker.Stat stat, long blogId, long postId) {
+ trackWithReaderPostDetails(stat, ReaderPostTable.getPost(blogId, postId, true));
+ }
+
+ /**
+ * Track when a railcar item has been rendered
+ *
+ * @param post The JSON string of the railcar
+ *
+ */
public static void trackRailcarRender(String railcarJson) {
if (TextUtils.isEmpty(railcarJson)) return;
@@ -244,7 +250,8 @@ public class AnalyticsUtils {
return stat == READER_ARTICLE_LIKED
|| stat == READER_ARTICLE_OPENED
|| stat == READER_SEARCH_RESULT_TAPPED
- || stat == READER_ARTICLE_COMMENTED_ON;
+ || stat == READER_ARTICLE_COMMENTED_ON
+ || stat == READER_RELATED_POST_CLICKED;
}
/*
diff --git a/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java b/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java
index 7608e4bd0..c160f47a6 100644
--- a/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java
+++ b/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTracker.java
@@ -43,6 +43,7 @@ public final class AnalyticsTracker {
READER_SEARCH_LOADED,
READER_SEARCH_PERFORMED,
READER_SEARCH_RESULT_TAPPED,
+ READER_RELATED_POST_CLICKED,
STATS_ACCESSED,
STATS_INSIGHTS_ACCESSED,
STATS_PERIOD_DAYS_ACCESSED,
diff --git a/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerMixpanel.java b/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerMixpanel.java
index 2897925af..1e1b278f8 100644
--- a/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerMixpanel.java
+++ b/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerMixpanel.java
@@ -399,6 +399,12 @@ public class AnalyticsTrackerMixpanel extends Tracker {
instructions.setSuperPropertyAndPeoplePropertyToIncrement("number_of_times_reader_search_result_tapped");
instructions.setCurrentDateForPeopleProperty("last_time_reader_search_result_tapped");
break;
+ case READER_RELATED_POST_CLICKED:
+ instructions = AnalyticsTrackerMixpanelInstructionsForStat.
+ mixpanelInstructionsForEventName("Reader - Related Post Clicked");
+ instructions.setSuperPropertyAndPeoplePropertyToIncrement("number_of_times_reader_related_post_clicked");
+ instructions.setCurrentDateForPeopleProperty("last_time_reader_related_post_clicked");
+ break;
case EDITOR_CREATED_POST:
instructions = AnalyticsTrackerMixpanelInstructionsForStat.
mixpanelInstructionsForEventName("Editor - Created Post");
diff --git a/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerNosara.java b/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerNosara.java
index 1d829e355..76c181b9b 100644
--- a/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerNosara.java
+++ b/libs/analytics/WordPressAnalytics/src/main/java/org/wordpress/android/analytics/AnalyticsTrackerNosara.java
@@ -296,6 +296,8 @@ public class AnalyticsTrackerNosara extends Tracker {
return "reader_searchcard_clicked";
case READER_TAG_UNFOLLOWED:
return "reader_reader_tag_unfollowed";
+ case READER_RELATED_POST_CLICKED:
+ return "reader_related_post_clicked";
case EDITOR_CREATED_POST:
return "editor_post_created";
case EDITOR_SAVED_DRAFT: