| Index: chrome/android/java/src/org/chromium/chrome/browser/physicalweb/UrlManager.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/UrlManager.java b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/UrlManager.java
|
| index 231c090c0ca647be7e317c23144a5b6c0e4eb80c..9a63059b37389d292f33cf2de49bae28257ea3eb 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/UrlManager.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/UrlManager.java
|
| @@ -55,6 +55,8 @@ class UrlManager {
|
| private static final String PREFS_VERSION_KEY = "physicalweb_version";
|
| private static final String PREFS_NEARBY_URLS_KEY = "physicalweb_nearby_urls";
|
| private static final String PREFS_RESOLVED_URLS_KEY = "physicalweb_resolved_urls";
|
| + private static final String PREFS_NOTIFICATION_UPDATE_TIMESTAMP =
|
| + "physicalweb_notification_update_timestamp";
|
| private static final int PREFS_VERSION = 3;
|
| private static final long STALE_NOTIFICATION_TIMEOUT_MILLIS = 30 * 60 * 1000;
|
| private static UrlManager sInstance = null;
|
| @@ -342,7 +344,25 @@ class UrlManager {
|
| });
|
| }
|
|
|
| + /**
|
| + * Gets the time since the last notification update.
|
| + * @return the elapsed realtime since the most recent notification update.
|
| + */
|
| + public long getTimeSinceNotificationUpdate() {
|
| + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
|
| + long timestamp = prefs.getLong(PREFS_NOTIFICATION_UPDATE_TIMESTAMP, 0);
|
| + return SystemClock.elapsedRealtime() - timestamp;
|
| + }
|
| +
|
| private void updateNotification(boolean isUrlListEmptyBefore, boolean isUrlListEmptyAfter) {
|
| + // Record a timestamp.
|
| + // This is useful for tracking whether a notification is pressed soon after an update or
|
| + // much later.
|
| + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
|
| + SharedPreferences.Editor editor = prefs.edit();
|
| + editor.putLong(PREFS_NOTIFICATION_UPDATE_TIMESTAMP, SystemClock.elapsedRealtime());
|
| + editor.apply();
|
| +
|
| if (isUrlListEmptyAfter) {
|
| clearNotification();
|
| cancelClearNotificationAlarm();
|
|
|