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

Side by Side Diff: ui/arc/notification/arc_notification_manager.cc

Issue 1885683005: Add module suffix in .mojom files for components/arc (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase only Created 4 years, 8 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "ui/arc/notification/arc_notification_manager.h" 5 #include "ui/arc/notification/arc_notification_manager.h"
6 6
7 #include "ash/shell.h" 7 #include "ash/shell.h"
8 #include "ash/system/toast/toast_manager.h" 8 #include "ash/system/toast/toast_manager.h"
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 DCHECK(ready_); 50 DCHECK(ready_);
51 while (!items_.empty()) { 51 while (!items_.empty()) {
52 auto it = items_.begin(); 52 auto it = items_.begin();
53 std::unique_ptr<ArcNotificationItem> item = std::move(it->second); 53 std::unique_ptr<ArcNotificationItem> item = std::move(it->second);
54 items_.erase(it); 54 items_.erase(it);
55 item->OnClosedFromAndroid(false /* by_user */); 55 item->OnClosedFromAndroid(false /* by_user */);
56 } 56 }
57 ready_ = false; 57 ready_ = false;
58 } 58 }
59 59
60 void ArcNotificationManager::OnNotificationPosted(ArcNotificationDataPtr data) { 60 void ArcNotificationManager::OnNotificationPosted(
61 mojom::ArcNotificationDataPtr data) {
61 const std::string& key = data->key; 62 const std::string& key = data->key;
62 auto it = items_.find(key); 63 auto it = items_.find(key);
63 if (it == items_.end()) { 64 if (it == items_.end()) {
64 // Show a notification on the primary loged-in user's desktop. 65 // Show a notification on the primary loged-in user's desktop.
65 // TODO(yoshiki): Reconsider when ARC supports multi-user. 66 // TODO(yoshiki): Reconsider when ARC supports multi-user.
66 ArcNotificationItem* item = 67 ArcNotificationItem* item =
67 new ArcNotificationItem(this, message_center_, key, main_profile_id_); 68 new ArcNotificationItem(this, message_center_, key, main_profile_id_);
68 // TODO(yoshiki): Use emplacement for performance when it's available. 69 // TODO(yoshiki): Use emplacement for performance when it's available.
69 auto result = items_.insert(std::make_pair(key, base::WrapUnique(item))); 70 auto result = items_.insert(std::make_pair(key, base::WrapUnique(item)));
70 DCHECK(result.second); 71 DCHECK(result.second);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 auto notifications_instance = arc_bridge_service()->notifications_instance(); 104 auto notifications_instance = arc_bridge_service()->notifications_instance();
104 105
105 // On shutdown, the ARC channel may quit earlier then notifications. 106 // On shutdown, the ARC channel may quit earlier then notifications.
106 if (!notifications_instance) { 107 if (!notifications_instance) {
107 VLOG(2) << "ARC Notification (key: " << key 108 VLOG(2) << "ARC Notification (key: " << key
108 << ") is closed, but the ARC channel has already gone."; 109 << ") is closed, but the ARC channel has already gone.";
109 return; 110 return;
110 } 111 }
111 112
112 notifications_instance->SendNotificationEventToAndroid( 113 notifications_instance->SendNotificationEventToAndroid(
113 key, ArcNotificationEvent::CLOSED); 114 key, mojom::ArcNotificationEvent::CLOSED);
114 } 115 }
115 116
116 void ArcNotificationManager::SendNotificationClickedOnChrome( 117 void ArcNotificationManager::SendNotificationClickedOnChrome(
117 const std::string& key) { 118 const std::string& key) {
118 if (items_.find(key) == items_.end()) { 119 if (items_.find(key) == items_.end()) {
119 VLOG(3) << "Chrome requests to fire a click event on notification (key: " 120 VLOG(3) << "Chrome requests to fire a click event on notification (key: "
120 << key << "), but it is gone."; 121 << key << "), but it is gone.";
121 return; 122 return;
122 } 123 }
123 124
124 auto notifications_instance = arc_bridge_service()->notifications_instance(); 125 auto notifications_instance = arc_bridge_service()->notifications_instance();
125 126
126 // On shutdown, the ARC channel may quit earlier then notifications. 127 // On shutdown, the ARC channel may quit earlier then notifications.
127 if (!notifications_instance) { 128 if (!notifications_instance) {
128 VLOG(2) << "ARC Notification (key: " << key 129 VLOG(2) << "ARC Notification (key: " << key
129 << ") is clicked, but the ARC channel has already gone."; 130 << ") is clicked, but the ARC channel has already gone.";
130 return; 131 return;
131 } 132 }
132 133
133 notifications_instance->SendNotificationEventToAndroid( 134 notifications_instance->SendNotificationEventToAndroid(
134 key, ArcNotificationEvent::BODY_CLICKED); 135 key, mojom::ArcNotificationEvent::BODY_CLICKED);
135 } 136 }
136 137
137 void ArcNotificationManager::SendNotificationButtonClickedOnChrome( 138 void ArcNotificationManager::SendNotificationButtonClickedOnChrome(
138 const std::string& key, int button_index) { 139 const std::string& key, int button_index) {
139 if (items_.find(key) == items_.end()) { 140 if (items_.find(key) == items_.end()) {
140 VLOG(3) << "Chrome requests to fire a click event on notification (key: " 141 VLOG(3) << "Chrome requests to fire a click event on notification (key: "
141 << key << "), but it is gone."; 142 << key << "), but it is gone.";
142 return; 143 return;
143 } 144 }
144 145
145 auto notifications_instance = arc_bridge_service()->notifications_instance(); 146 auto notifications_instance = arc_bridge_service()->notifications_instance();
146 147
147 // On shutdown, the ARC channel may quit earlier then notifications. 148 // On shutdown, the ARC channel may quit earlier then notifications.
148 if (!notifications_instance) { 149 if (!notifications_instance) {
149 VLOG(2) << "ARC Notification (key: " << key 150 VLOG(2) << "ARC Notification (key: " << key
150 << ")'s button is clicked, but the ARC channel has already gone."; 151 << ")'s button is clicked, but the ARC channel has already gone.";
151 return; 152 return;
152 } 153 }
153 154
154 arc::ArcNotificationEvent command; 155 arc::mojom::ArcNotificationEvent command;
155 switch (button_index) { 156 switch (button_index) {
156 case 0: 157 case 0:
157 command = ArcNotificationEvent::BUTTON_1_CLICKED; 158 command = mojom::ArcNotificationEvent::BUTTON_1_CLICKED;
158 break; 159 break;
159 case 1: 160 case 1:
160 command = ArcNotificationEvent::BUTTON_2_CLICKED; 161 command = mojom::ArcNotificationEvent::BUTTON_2_CLICKED;
161 break; 162 break;
162 case 2: 163 case 2:
163 command = ArcNotificationEvent::BUTTON_3_CLICKED; 164 command = mojom::ArcNotificationEvent::BUTTON_3_CLICKED;
164 break; 165 break;
165 case 3: 166 case 3:
166 command = ArcNotificationEvent::BUTTON_4_CLICKED; 167 command = mojom::ArcNotificationEvent::BUTTON_4_CLICKED;
167 break; 168 break;
168 case 4: 169 case 4:
169 command = ArcNotificationEvent::BUTTON_5_CLICKED; 170 command = mojom::ArcNotificationEvent::BUTTON_5_CLICKED;
170 break; 171 break;
171 default: 172 default:
172 VLOG(3) << "Invalid button index (key: " << key << ", index: " << 173 VLOG(3) << "Invalid button index (key: " << key << ", index: " <<
173 button_index << ")."; 174 button_index << ").";
174 return; 175 return;
175 } 176 }
176 177
177 notifications_instance->SendNotificationEventToAndroid(key, command); 178 notifications_instance->SendNotificationEventToAndroid(key, command);
178 } 179 }
179 180
180 void ArcNotificationManager::OnToastPosted(ArcToastDataPtr data) { 181 void ArcNotificationManager::OnToastPosted(mojom::ArcToastDataPtr data) {
181 ash::Shell::GetInstance()->toast_manager()->Show(data->text, data->duration); 182 ash::Shell::GetInstance()->toast_manager()->Show(data->text, data->duration);
182 } 183 }
183 184
184 void ArcNotificationManager::OnToastCancelled(ArcToastDataPtr data) { 185 void ArcNotificationManager::OnToastCancelled(mojom::ArcToastDataPtr data) {
185 // TODO(yoshiki): Implement cancel. 186 // TODO(yoshiki): Implement cancel.
186 } 187 }
187 188
188 } // namespace arc 189 } // namespace arc
OLDNEW
« no previous file with comments | « ui/arc/notification/arc_notification_manager.h ('k') | ui/arc/notification/arc_notification_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698