[go: up one dir, main page]

[SendTabToSelf]  add time strings to action sheet

Per the request of the privacy review, we are adding strings to the
self share action sheet that displays how long ago each device was used.
Since ios doesnt allow for subtitles this is being added to the title with
a bullet separator.

(cherry picked from commit b58a30a27e483135e76d976f2caebc47049576b3)

Bug: 971404
Change-Id: I9b518e972613136933f8c47b27f43f04fdf61cac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1646314
Commit-Queue: Jeffrey Cohen <jeffreycohen@chromium.org>
Reviewed-by: Eugene But <eugenebut@chromium.org>
Reviewed-by: sebsg <sebsg@chromium.org>
Reviewed-by: Tanya Gupta <tgupta@chromium.org>
Auto-Submit: Jeffrey Cohen <jeffreycohen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#668205}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1653605
Cr-Commit-Position: refs/branch-heads/3809@{#243}
Cr-Branched-From: d82dec1a818f378c464ba307ddd9c92133eac355-refs/heads/master@{#665002}
diff --git a/ios/chrome/browser/ui/activity_services/activity_service_controller.mm b/ios/chrome/browser/ui/activity_services/activity_service_controller.mm
index b283c6f..123b9f23 100644
--- a/ios/chrome/browser/ui/activity_services/activity_service_controller.mm
+++ b/ios/chrome/browser/ui/activity_services/activity_service_controller.mm
@@ -10,6 +10,7 @@
 #include "base/mac/foundation_util.h"
 #include "base/metrics/user_metrics.h"
 #include "base/metrics/user_metrics_action.h"
+#include "base/strings/string_number_conversions.h"
 #include "base/strings/sys_string_conversions.h"
 #include "components/bookmarks/browser/bookmark_model.h"
 #include "components/send_tab_to_self/send_tab_to_self_model.h"
@@ -269,6 +270,24 @@
   return activityItems;
 }
 
+- (NSString*)sendTabToSelfContextMenuTitleForDevice:(NSString*)device_name
+                                daysSinceLastUpdate:(int)days {
+  NSString* active_time = @"";
+  if (days == 0) {
+    active_time = l10n_util::GetNSString(
+        IDS_IOS_SEND_TAB_TO_SELF_TARGET_DEVICE_ITEM_SUBTITLE_TODAY);
+  } else if (days == 1) {
+    active_time = l10n_util::GetNSStringF(
+        IDS_IOS_SEND_TAB_TO_SELF_TARGET_DEVICE_ITEM_SUBTITLE_DAY,
+        base::NumberToString16(days));
+  } else {
+    active_time = l10n_util::GetNSStringF(
+        IDS_IOS_SEND_TAB_TO_SELF_TARGET_DEVICE_ITEM_SUBTITLE_DAYS,
+        base::NumberToString16(days));
+  }
+  return [NSString stringWithFormat:@"%@ \u2022 %@", device_name, active_time];
+}
+
 - (NSArray*)
     applicationActivitiesForData:(ShareToData*)data
                       dispatcher:(id<BrowserCommands>)dispatcher
@@ -289,7 +308,13 @@
       NSMutableDictionary* sendTabToSelfTargets =
           [[NSMutableDictionary alloc] init];
       for (auto const& iter : target_device_map) {
-        NSString* title = base::SysUTF8ToNSString(iter.first);
+        int daysSinceLastUpdate =
+            (base::Time::Now() - iter.second.last_updated_timestamp).InDays();
+        NSString* title = [self
+            sendTabToSelfContextMenuTitleForDevice:base::SysUTF8ToNSString(
+                                                       iter.first)
+                               daysSinceLastUpdate:daysSinceLastUpdate];
+
         NSString* cache_guid = base::SysUTF8ToNSString(iter.second.cache_guid);
         sendTabToSelfTargets[title] = cache_guid;
       }