Skip to content

Commit

Permalink
Merge pull request #106 from wikimedia/sessionFunnel
Browse files Browse the repository at this point in the history
Update SessionFunnel to latest spec.
  • Loading branch information
cooltey committed Mar 22, 2019
2 parents 7fb3893 + 4552bbf commit 74b0504
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 10 deletions.
10 changes: 9 additions & 1 deletion app/src/main/java/org/wikipedia/analytics/SessionData.java
Expand Up @@ -19,6 +19,7 @@ public class SessionData {
private int pagesFromDisambig;
private int pagesFromBack;
private int pagesWithNoDescription;
private int pagesFromSuggestedEdits;

public SessionData() {
long now = System.currentTimeMillis();
Expand Down Expand Up @@ -52,6 +53,9 @@ public void addPageViewed(HistoryEntry entry) {
case HistoryEntry.SOURCE_DISAMBIG:
pagesFromDisambig++;
break;
case HistoryEntry.SOURCE_SUGGESTED_EDITS:
pagesFromSuggestedEdits++;
break;
default:
pagesFromInternal++;
}
Expand Down Expand Up @@ -133,6 +137,10 @@ public int getPagesWithNoDescription() {
return pagesWithNoDescription;
}

public int getPagesFromSuggestedEdits() {
return pagesFromSuggestedEdits;
}

public void addPageFromBack() {
pagesFromBack++;
}
Expand All @@ -144,6 +152,6 @@ public void addPageWithNoDescription() {
public int getTotalPages() {
return pagesFromSearch + pagesFromRandom + pagesFromLangLink + pagesFromInternal
+ pagesFromExternal + pagesFromHistory + pagesFromReadingList + pagesFromNearby
+ pagesFromDisambig;
+ pagesFromDisambig + pagesFromSuggestedEdits;
}
}
11 changes: 3 additions & 8 deletions app/src/main/java/org/wikipedia/analytics/SessionFunnel.java
@@ -1,14 +1,11 @@
package org.wikipedia.analytics;

import android.support.annotation.NonNull;
import android.text.format.DateUtils;

import org.json.JSONObject;
import org.wikipedia.WikipediaApp;
import org.wikipedia.history.HistoryEntry;
import org.wikipedia.settings.Prefs;
import org.wikipedia.settings.RbSwitch;
import org.wikipedia.util.ReleaseUtil;
import org.wikipedia.util.StringUtil;

public class SessionFunnel extends Funnel {
Expand All @@ -20,14 +17,14 @@ public class SessionFunnel extends Funnel {
public static final int MIN_SESSION_TIMEOUT = 1;

private static final String SCHEMA_NAME = "MobileWikiAppSessions";
private static final int REVISION = 18115099;
private static final int REVISION = 18948969;

private SessionData sessionData;
private long leadSectionStartTime;
private long restSectionsStartTime;

public SessionFunnel(WikipediaApp app) {
super(app, SCHEMA_NAME, REVISION, ReleaseUtil.isProdRelease() ? Funnel.SAMPLE_LOG_100 : Funnel.SAMPLE_LOG_ALL);
super(app, SCHEMA_NAME, REVISION);
sessionData = Prefs.getSessionData();
if (sessionData.getStartTime() == 0 || sessionData.getLastTouchTime() == 0) {
// session was serialized/deserialized incorrectly, so reset it.
Expand All @@ -45,9 +42,6 @@ public void persistSession() {
Prefs.setSessionData(sessionData);
}

@Override
protected void preprocessSessionToken(@NonNull JSONObject eventData) { }

/**
* Update the timestamp for the current session. If the last-updated time is older than the
* defined timeout period, then consider the current session as over, and send the event!
Expand Down Expand Up @@ -114,6 +108,7 @@ private void logSessionData() {
"fromDisambig", sessionData.getPagesFromDisambig(),
"fromBack", sessionData.getPagesFromBack(),
"noDescription", sessionData.getPagesWithNoDescription(),
"fromSuggestedEdits", sessionData.getPagesFromSuggestedEdits(),
"totalPages", sessionData.getTotalPages(),
"leadLatency", sessionData.getLeadLatency(),
"restLatency", sessionData.getRestLatency(),
Expand Down
Expand Up @@ -56,7 +56,10 @@ public void onDescriptionEditSuccess() {
@Override
public void onPageSummaryContainerClicked(@NonNull PageTitle pageTitle) {
bottomSheetPresenter.show(getSupportFragmentManager(),
LinkPreviewDialog.newInstance(new HistoryEntry(pageTitle, HistoryEntry.SOURCE_EDIT_DESCRIPTION), null));
LinkPreviewDialog.newInstance(new HistoryEntry(pageTitle,
getIntent().hasExtra(EXTRA_INVOKE_SOURCE) && getIntent().getSerializableExtra(EXTRA_INVOKE_SOURCE) == InvokeSource.PAGE_ACTIVITY
? HistoryEntry.SOURCE_EDIT_DESCRIPTION : HistoryEntry.SOURCE_SUGGESTED_EDITS),
null));
}

public void onLinkPreviewLoadPage(@NonNull PageTitle title, @NonNull HistoryEntry entry, boolean inNewTab) {
Expand Down
1 change: 1 addition & 0 deletions app/src/main/java/org/wikipedia/history/HistoryEntry.java
Expand Up @@ -41,6 +41,7 @@ public class HistoryEntry implements Parcelable {
public static final int SOURCE_FLOATING_QUEUE = 27;
public static final int SOURCE_EDIT_DESCRIPTION = 28;
public static final int SOURCE_WIDGET = 29;
public static final int SOURCE_SUGGESTED_EDITS = 30;

@NonNull private final PageTitle title;
@NonNull private final Date timestamp;
Expand Down

0 comments on commit 74b0504

Please sign in to comment.