| Index: components/arc/common/notifications.mojom
|
| diff --git a/components/arc/common/notifications.mojom b/components/arc/common/notifications.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5a7b78fb94cbebba8bf9d9a90aadbdb4c0d5e3c1
|
| --- /dev/null
|
| +++ b/components/arc/common/notifications.mojom
|
| @@ -0,0 +1,70 @@
|
| +// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +module arc;
|
| +
|
| +// These values must be matched with the NOTIFICATION_EVENT_* constants in
|
| +// com.android.server.ArcNotificationListenerService.
|
| +enum ArcNotificationEvent {
|
| + BODY_CLICKED = 0,
|
| + CLOSED = 1,
|
| + // Five buttons at maximum (message_center::kNotificationMaximumItems = 5).
|
| + BUTTON1_CLICKED = 2,
|
| + BUTTON2_CLICKED = 3,
|
| + BUTTON3_CLICKED = 4,
|
| + BUTTON4_CLICKED = 5,
|
| + BUTTON5_CLICKED = 6,
|
| +};
|
| +
|
| +// These values must be matched with the NOTIFICATION_TYPE_* constants in
|
| +// com.android.server.ArcNotificationListenerService.
|
| +enum ArcNotificationType {
|
| + BASIC = 0,
|
| + IMAGE = 1,
|
| + PROGRESS = 2,
|
| +};
|
| +
|
| +struct ArcNotificationData {
|
| + // Identifier of notification
|
| + string key;
|
| + // Type of notification
|
| + ArcNotificationType type;
|
| + // Body message of notification
|
| + string message;
|
| + // Title of notification
|
| + string title;
|
| + // Mimetype of |icon_data|
|
| + string icon_mimetype;
|
| + // Binary data of the icon
|
| + array<uint8> icon_data;
|
| + // Priority of notification, must be [2,-2]
|
| + int32 priority;
|
| + // Timestamp related to the notification
|
| + int64 time;
|
| + // The current value of progress, must be [0, progress_max].
|
| + int32 progress_current;
|
| + // The maximum value of progress.
|
| + int32 progress_max;
|
| +};
|
| +
|
| +interface NotificationsHost {
|
| + // Tells the Chrome that a notification is posted (created or updated) on
|
| + // Android.
|
| + // |notification_data| is the data of notification (id, texts, icon and ...).
|
| + OnNotificationPosted(ArcNotificationData notification_data);
|
| +
|
| + // Notifies that a notification is removed on Android.
|
| + // |key| is the identifier of the notification.
|
| + OnNotificationRemoved(string key);
|
| +};
|
| +
|
| +// TODO(lhchavez): Migrate all request/response messages to Mojo.
|
| +interface NotificationsInstance {
|
| + // Establishes full-duplex communication with the host.
|
| + Init(NotificationsHost host_ptr);
|
| +
|
| + // Sends an event from Chrome notification UI to Android.
|
| + // |event| is a type of occured event.
|
| + SendNotificationEventToAndroid(string key, ArcNotificationEvent event);
|
| +};
|
|
|