| OLD | NEW |
| (Empty) |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 module arc; | |
| 6 | |
| 7 // These values must be matched with the NOTIFICATION_EVENT_* constants in | |
| 8 // com.android.server.ArcNotificationListenerService. | |
| 9 enum ArcNotificationEvent { | |
| 10 BODY_CLICKED = 0, | |
| 11 CLOSED = 1, | |
| 12 // Five buttons at maximum (message_center::kNotificationMaximumItems = 5). | |
| 13 BUTTON1_CLICKED = 2, | |
| 14 BUTTON2_CLICKED = 3, | |
| 15 BUTTON3_CLICKED = 4, | |
| 16 BUTTON4_CLICKED = 5, | |
| 17 BUTTON5_CLICKED = 6, | |
| 18 }; | |
| 19 | |
| 20 // These values must be matched with the NOTIFICATION_TYPE_* constants in | |
| 21 // com.android.server.ArcNotificationListenerService. | |
| 22 enum ArcNotificationType { | |
| 23 BASIC = 0, | |
| 24 IMAGE = 1, | |
| 25 PROGRESS = 2, | |
| 26 }; | |
| 27 | |
| 28 struct ArcNotificationData { | |
| 29 // Identifier of notification | |
| 30 string key; | |
| 31 // Type of notification | |
| 32 ArcNotificationType type; | |
| 33 // Body message of notification | |
| 34 string message; | |
| 35 // Title of notification | |
| 36 string title; | |
| 37 // Mimetype of |icon_data| | |
| 38 string icon_mimetype; | |
| 39 // Binary data of the icon | |
| 40 array<uint8> icon_data; | |
| 41 // Priority of notification, must be [2,-2] | |
| 42 int32 priority; | |
| 43 // Timestamp related to the notification | |
| 44 int64 time; | |
| 45 // The current value of progress, must be [0, progress_max]. | |
| 46 int32 progress_current; | |
| 47 // The maximum value of progress. | |
| 48 int32 progress_max; | |
| 49 }; | |
| 50 | |
| 51 interface NotificationsHost { | |
| 52 // Tells the Chrome that a notification is posted (created or updated) on | |
| 53 // Android. | |
| 54 // |notification_data| is the data of notification (id, texts, icon and ...). | |
| 55 OnNotificationPosted(ArcNotificationData notification_data); | |
| 56 | |
| 57 // Notifies that a notification is removed on Android. | |
| 58 // |key| is the identifier of the notification. | |
| 59 OnNotificationRemoved(string key); | |
| 60 }; | |
| 61 | |
| 62 // TODO(lhchavez): Migrate all request/response messages to Mojo. | |
| 63 interface NotificationsInstance { | |
| 64 // Establishes full-duplex communication with the host. | |
| 65 Init(NotificationsHost host_ptr); | |
| 66 | |
| 67 // Sends an event from Chrome notification UI to Android. | |
| 68 // |event| is a type of occured event. | |
| 69 SendNotificationEventToAndroid(string key, ArcNotificationEvent event); | |
| 70 }; | |
| OLD | NEW |