| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsGroupView.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsGroupView.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsGroupView.java
|
| index 9f1f26f3f70c0b74c6a2179b38716be774ecd53f..5e497c011ce24ad1fe90bc5a2439e19a59b92829 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsGroupView.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/RecentTabsGroupView.java
|
| @@ -19,8 +19,6 @@ import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSession;
|
| import org.chromium.chrome.browser.widget.TintedDrawable;
|
| import org.chromium.ui.base.DeviceFormFactor;
|
|
|
| -import java.util.concurrent.TimeUnit;
|
| -
|
| /**
|
| * Header view shown above each group of items on the Recent Tabs page. Shows the name of the
|
| * group (e.g. "Recently closed" or "Jim's Laptop"), an icon, last synced time, and a button to
|
| @@ -36,7 +34,6 @@ public class RecentTabsGroupView extends RelativeLayout {
|
| private ImageView mExpandCollapseIcon;
|
| private TextView mDeviceLabel;
|
| private TextView mTimeLabel;
|
| - private long mInitializationTimestamp;
|
| private int mDeviceLabelExpandedColor;
|
| private int mDeviceLabelCollapsedColor;
|
| private int mTimeLabelExpandedColor;
|
| @@ -81,15 +78,6 @@ public class RecentTabsGroupView extends RelativeLayout {
|
| }
|
|
|
| /**
|
| - * Initialize the state of the group view. Should be called immediatly after object creation.
|
| - *
|
| - * @param initializationTimestamp The timestamp to compute the time since last session sync.
|
| - */
|
| - public void initialize(long initializationTimestamp) {
|
| - mInitializationTimestamp = initializationTimestamp;
|
| - }
|
| -
|
| - /**
|
| * Configures the view for currently open tabs.
|
| *
|
| * @param isExpanded Whether the view is expanded or collapsed.
|
| @@ -171,27 +159,28 @@ public class RecentTabsGroupView extends RelativeLayout {
|
| mTimeLabel.setTextColor(isExpanded ? mTimeLabelExpandedColor : mTimeLabelCollapsedColor);
|
| }
|
|
|
| - private String getTimeString(ForeignSession session) {
|
| - long sessionModifiedTimeSeconds =
|
| - TimeUnit.SECONDS.convert(session.modifiedTime, TimeUnit.MILLISECONDS);
|
| - long timeDelta = mInitializationTimestamp - sessionModifiedTimeSeconds;
|
| - timeDelta = timeDelta > 0 ? timeDelta : 0;
|
| + private CharSequence getTimeString(ForeignSession session) {
|
| + long timeDeltaMs = System.currentTimeMillis() - session.modifiedTime;
|
| + if (timeDeltaMs < 0) timeDeltaMs = 0;
|
|
|
| - long daysElapsed = timeDelta / (24L * 60L * 60L);
|
| - long hoursElapsed = timeDelta / (60L * 60L);
|
| - long minutesElapsed = timeDelta / 60L;
|
| + int daysElapsed = (int) (timeDeltaMs / (24L * 60L * 60L * 1000L));
|
| + int hoursElapsed = (int) (timeDeltaMs / (60L * 60L * 1000L));
|
| + int minutesElapsed = (int) (timeDeltaMs / (60L * 1000L));
|
|
|
| - Resources resources = getContext().getResources();
|
| + Resources res = getResources();
|
| + String relativeTime;
|
| if (daysElapsed > 0L) {
|
| - return resources.getString(R.string.ntp_recent_tabs_last_synced_days, daysElapsed);
|
| + relativeTime = res.getQuantityString(R.plurals.n_days_ago, daysElapsed, daysElapsed);
|
| } else if (hoursElapsed > 0L) {
|
| - return resources.getString(R.string.ntp_recent_tabs_last_synced_hours, hoursElapsed);
|
| + relativeTime = res.getQuantityString(R.plurals.n_hours_ago, hoursElapsed, hoursElapsed);
|
| } else if (minutesElapsed > 0L) {
|
| - return resources.getString(
|
| - R.string.ntp_recent_tabs_last_synced_minutes, minutesElapsed);
|
| + relativeTime = res.getQuantityString(R.plurals.n_minutes_ago, minutesElapsed,
|
| + minutesElapsed);
|
| } else {
|
| - return resources.getString(R.string.ntp_recent_tabs_last_synced_just_now);
|
| + relativeTime = res.getString(R.string.just_now);
|
| }
|
| +
|
| + return getResources().getString(R.string.ntp_recent_tabs_last_synced, relativeTime);
|
| }
|
|
|
| /**
|
|
|