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

Side by Side Diff: chrome/browser/local_discovery/privet_notifications.cc

Issue 1103293004: Use ICU plural syntax in more place (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: recently_closed.js restored per estade Created 5 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/local_discovery/privet_notifications.h" 5 #include "chrome/browser/local_discovery/privet_notifications.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 140
141 if (!json_value || 141 if (!json_value ||
142 !json_value->GetInteger(kPrivetInfoKeyUptime, &uptime) || 142 !json_value->GetInteger(kPrivetInfoKeyUptime, &uptime) ||
143 uptime > kTenMinutesInSeconds) { 143 uptime > kTenMinutesInSeconds) {
144 return; 144 return;
145 } 145 }
146 146
147 DCHECK(!device->notification_may_be_active); 147 DCHECK(!device->notification_may_be_active);
148 device->notification_may_be_active = true; 148 device->notification_may_be_active = true;
149 devices_active_++; 149 devices_active_++;
150 delegate_->PrivetNotify(devices_active_ > 1, true); 150 delegate_->PrivetNotify(devices_active_, true);
151 } 151 }
152 152
153 void PrivetNotificationsListener::DeviceRemoved(const std::string& name) { 153 void PrivetNotificationsListener::DeviceRemoved(const std::string& name) {
154 DeviceContextMap::iterator device_iter = devices_seen_.find(name); 154 DeviceContextMap::iterator device_iter = devices_seen_.find(name);
155 if (device_iter == devices_seen_.end()) 155 if (device_iter == devices_seen_.end())
156 return; 156 return;
157 DeviceContext* device = device_iter->second.get(); 157 DeviceContext* device = device_iter->second.get();
158 158
159 device->info_operation.reset(); 159 device->info_operation.reset();
160 device->privet_http_resolution.reset(); 160 device->privet_http_resolution.reset();
(...skipping 15 matching lines...) Expand all
176 176
177 devices_active_ = 0; 177 devices_active_ = 0;
178 delegate_->PrivetRemoveNotification(); 178 delegate_->PrivetRemoveNotification();
179 } 179 }
180 180
181 void PrivetNotificationsListener::NotifyDeviceRemoved() { 181 void PrivetNotificationsListener::NotifyDeviceRemoved() {
182 devices_active_--; 182 devices_active_--;
183 if (devices_active_ == 0) { 183 if (devices_active_ == 0) {
184 delegate_->PrivetRemoveNotification(); 184 delegate_->PrivetRemoveNotification();
185 } else { 185 } else {
186 delegate_->PrivetNotify(devices_active_ > 1, false); 186 delegate_->PrivetNotify(devices_active_, false);
187 } 187 }
188 } 188 }
189 189
190 PrivetNotificationsListener::DeviceContext::DeviceContext() { 190 PrivetNotificationsListener::DeviceContext::DeviceContext() {
191 } 191 }
192 192
193 PrivetNotificationsListener::DeviceContext::~DeviceContext() { 193 PrivetNotificationsListener::DeviceContext::~DeviceContext() {
194 } 194 }
195 195
196 PrivetNotificationService::PrivetNotificationService( 196 PrivetNotificationService::PrivetNotificationService(
(...skipping 30 matching lines...) Expand all
227 return !command_line->HasSwitch( 227 return !command_line->HasSwitch(
228 switches::kDisableDeviceDiscoveryNotifications); 228 switches::kDisableDeviceDiscoveryNotifications);
229 } 229 }
230 230
231 // static 231 // static
232 bool PrivetNotificationService::IsForced() { 232 bool PrivetNotificationService::IsForced() {
233 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); 233 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
234 return command_line->HasSwitch(switches::kEnableDeviceDiscoveryNotifications); 234 return command_line->HasSwitch(switches::kEnableDeviceDiscoveryNotifications);
235 } 235 }
236 236
237 void PrivetNotificationService::PrivetNotify(bool has_multiple, 237 void PrivetNotificationService::PrivetNotify(int devices_active,
238 bool added) { 238 bool added) {
239 base::string16 product_name = l10n_util::GetStringUTF16( 239 base::string16 product_name = l10n_util::GetStringUTF16(
240 IDS_LOCAL_DISOCVERY_SERVICE_NAME_PRINTER); 240 IDS_LOCAL_DISCOVERY_SERVICE_NAME_PRINTER);
241 241
242 int title_resource = has_multiple ? 242 base::string16 title = l10n_util::GetPluralStringFUTF16(
243 IDS_LOCAL_DISOCVERY_NOTIFICATION_TITLE_PRINTER_MULTIPLE : 243 IDS_LOCAL_DISCOVERY_NOTIFICATION_TITLE_PRINTER, devices_active);
244 IDS_LOCAL_DISOCVERY_NOTIFICATION_TITLE_PRINTER; 244 base::string16 body = l10n_util::GetPluralStringFUTF16(
245 245 IDS_LOCAL_DISCOVERY_NOTIFICATION_CONTENTS_PRINTER, devices_active);
246 int body_resource = has_multiple ?
247 IDS_LOCAL_DISOCVERY_NOTIFICATION_CONTENTS_PRINTER_MULTIPLE :
248 IDS_LOCAL_DISOCVERY_NOTIFICATION_CONTENTS_PRINTER;
249
250 base::string16 title = l10n_util::GetStringUTF16(title_resource);
251 base::string16 body = l10n_util::GetStringUTF16(body_resource);
252 246
253 Profile* profile_object = Profile::FromBrowserContext(profile_); 247 Profile* profile_object = Profile::FromBrowserContext(profile_);
254 message_center::RichNotificationData rich_notification_data; 248 message_center::RichNotificationData rich_notification_data;
255 249
256 rich_notification_data.buttons.push_back( 250 rich_notification_data.buttons.push_back(
257 message_center::ButtonInfo(l10n_util::GetStringUTF16( 251 message_center::ButtonInfo(l10n_util::GetStringUTF16(
258 IDS_LOCAL_DISOCVERY_NOTIFICATION_BUTTON_PRINTER))); 252 IDS_LOCAL_DISCOVERY_NOTIFICATION_BUTTON_PRINTER)));
259 253
260 rich_notification_data.buttons.push_back( 254 rich_notification_data.buttons.push_back(
261 message_center::ButtonInfo(l10n_util::GetStringUTF16( 255 message_center::ButtonInfo(l10n_util::GetStringUTF16(
262 IDS_LOCAL_DISCOVERY_NOTIFICATIONS_DISABLE_BUTTON_LABEL))); 256 IDS_LOCAL_DISCOVERY_NOTIFICATIONS_DISABLE_BUTTON_LABEL)));
263 257
264 Notification notification( 258 Notification notification(
265 message_center::NOTIFICATION_TYPE_SIMPLE, 259 message_center::NOTIFICATION_TYPE_SIMPLE,
266 GURL(kPrivetNotificationOriginUrl), 260 GURL(kPrivetNotificationOriginUrl),
267 title, 261 title,
268 body, 262 body,
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 384
391 void PrivetNotificationDelegate::DisableNotifications() { 385 void PrivetNotificationDelegate::DisableNotifications() {
392 Profile* profile_obj = Profile::FromBrowserContext(profile_); 386 Profile* profile_obj = Profile::FromBrowserContext(profile_);
393 387
394 profile_obj->GetPrefs()->SetBoolean( 388 profile_obj->GetPrefs()->SetBoolean(
395 prefs::kLocalDiscoveryNotificationsEnabled, 389 prefs::kLocalDiscoveryNotificationsEnabled,
396 false); 390 false);
397 } 391 }
398 392
399 } // namespace local_discovery 393 } // namespace local_discovery
OLDNEW
« no previous file with comments | « chrome/browser/local_discovery/privet_notifications.h ('k') | chrome/browser/local_discovery/privet_notifications_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698