Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(675)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/dom_distiller/ReaderModeTabInfo.java

Issue 2878543003: Hook up Reader Mode InfoBar (Closed)
Patch Set: fix tests Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..0f90ba5c4abd2911b363d7f0bc505415a9a1f548 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;
/**
@@ -16,7 +18,7 @@ public class ReaderModeTabInfo {
// The distillation status of the tab.
private int mStatus;
- // If the panel was closed due to the close button.
+ // If the infobar was closed due to the close button.
private boolean mIsDismissed;
// The URL that distiller is using for this tab. This is used to check if a result comes
@@ -27,8 +29,14 @@ public class ReaderModeTabInfo {
// be distilled. This flag is used to detect if the callback is set for this tab.
private boolean mIsCallbackSet;
- // Used to flag the the panel was shown and recorded by UMA.
- private boolean mShowPanelRecorded;
+ // Used to flag the the infobar was shown and recorded by UMA.
+ private boolean mShowInfoBarRecorded;
+
+ // 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.
@@ -44,6 +52,31 @@ public class ReaderModeTabInfo {
return mWebContentsObserver;
}
+ /**
+ * 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.
*/
@@ -59,14 +92,14 @@ public class ReaderModeTabInfo {
}
/**
- * @return If the panel has been dismissed for this object's tab.
+ * @return If the infobar has been dismissed for this object's tab.
*/
public boolean isDismissed() {
return mIsDismissed;
}
/**
- * @param dismissed Set the panel as dismissed for this object's tab.
+ * @param dismissed Set the infobar as dismissed for this object's tab.
*/
public void setIsDismissed(boolean dismissed) {
mIsDismissed = dismissed;
@@ -101,17 +134,17 @@ public class ReaderModeTabInfo {
}
/**
- * @return If the call to show the panel was recorded.
+ * @return If the call to show the infobar was recorded.
*/
- public boolean isPanelShowRecorded() {
- return mShowPanelRecorded;
+ public boolean isInfoBarShowRecorded() {
+ return mShowInfoBarRecorded;
}
/**
* @param isRecorded True if the action has been recorded.
*/
- public void setIsPanelShowRecorded(boolean isRecorded) {
- mShowPanelRecorded = isRecorded;
+ public void setIsInfoBarShowRecorded(boolean isRecorded) {
+ mShowInfoBarRecorded = isRecorded;
}
}

Powered by Google App Engine
This is Rietveld 408576698