| Index: chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeTabInfo.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeTabInfo.java b/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeTabInfo.java
|
| index ef50dc74f30180ea38d63a543bcd73d3e6f7ab6d..9f9a2c2b7e6350129769e7f1cfdb038b7c5621ae 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeTabInfo.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeTabInfo.java
|
| @@ -4,6 +4,8 @@
|
|
|
| package org.chromium.chrome.browser.dom_distiller;
|
|
|
| +import android.os.SystemClock;
|
| +
|
| import org.chromium.content_public.browser.WebContentsObserver;
|
|
|
| /**
|
| @@ -30,6 +32,12 @@ public class ReaderModeTabInfo {
|
| // Used to flag the the panel was shown and recorded by UMA.
|
| private boolean mShowPanelRecorded;
|
|
|
| + // The time that the user started viewing Reader Mode content.
|
| + private long mViewStartTimeMs;
|
| +
|
| + // Whether or not the current tab is a Reader Mode page.
|
| + private boolean mIsViewingReaderModePage;
|
| +
|
| /**
|
| * @param observer The WebContentsObserver for the tab this object represents.
|
| */
|
| @@ -45,6 +53,31 @@ public class ReaderModeTabInfo {
|
| }
|
|
|
| /**
|
| + * A notification that the user started viewing Reader Mode.
|
| + */
|
| + public void onStartedReaderMode() {
|
| + mIsViewingReaderModePage = true;
|
| + mViewStartTimeMs = SystemClock.elapsedRealtime();
|
| + }
|
| +
|
| + /**
|
| + * A notification that the user is no longer viewing Reader Mode. This could be because of a
|
| + * navigation away from the page, switching tabs, or closing the browser.
|
| + * @return The amount of time in ms that the user spent viewing Reader Mode.
|
| + */
|
| + public long onExitReaderMode() {
|
| + mIsViewingReaderModePage = false;
|
| + return SystemClock.elapsedRealtime() - mViewStartTimeMs;
|
| + }
|
| +
|
| + /**
|
| + * @return Whether or not the user is on a Reader Mode page.
|
| + */
|
| + public boolean isViewingReaderModePage() {
|
| + return mIsViewingReaderModePage;
|
| + }
|
| +
|
| + /**
|
| * @param status The status of reader mode for this object's tab.
|
| */
|
| public void setStatus(int status) {
|
|
|