You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
221 lines
6.8 KiB
221 lines
6.8 KiB
/*
|
|
* Copyright (C) 2019 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
syntax = "proto3";
|
|
|
|
package com.android.car.messenger.proto;
|
|
|
|
option java_package = "com.android.car.messenger.NotificationMsgProto";
|
|
|
|
// Message to be sent from the phone SDK to the IHU SDK.
|
|
message PhoneToCarMessage {
|
|
// The unique key of the message notification, same in phone and car.
|
|
// This will be the StatusBarNotification id of the original message
|
|
// notification posted on the phone.
|
|
string notification_key = 1;
|
|
|
|
// The different types of messages to be sent from the phone SDK.
|
|
oneof message_data {
|
|
// Metadata of a new conversation (new in the history of the current
|
|
// connection between phone and IHU SDKs).
|
|
ConversationNotification conversation = 2;
|
|
// Metadata of a new conversation received in an existing conversation.
|
|
MessagingStyleMessage message = 3;
|
|
// Fulfillment update of an action that was requested previously by
|
|
// the IHU SDK.
|
|
ActionStatusUpdate status_update = 4;
|
|
// Metadata of a new sender avatar icon.
|
|
AvatarIconSync avatar_icon_sync = 5;
|
|
// Request to remove all data related to a messaging application.
|
|
ClearAppDataRequest clear_app_data_request = 6;
|
|
// Informs SDK whether this feature has been enabled/disabled.
|
|
FeatureEnabledStateChange feature_enabled_state_change = 7;
|
|
// Details about the connected phone.
|
|
PhoneMetadata phone_metadata = 8;
|
|
}
|
|
|
|
// A byte array containing an undefined message. This field may contain
|
|
// supplemental information for a message_data, or contain all of the
|
|
// data for the PhoneToCarMessage.
|
|
bytes metadata = 9;
|
|
}
|
|
|
|
// Message to be sent from the IHU SDK to the phone SDK.
|
|
message CarToPhoneMessage {
|
|
// The unique key of the message notification, same in phone and car.
|
|
// This will be the StatusBarNotification id of the original message
|
|
// notification posted on the phone.
|
|
string notification_key = 1;
|
|
|
|
// An action request to be fulfilled on the Phone side.
|
|
Action action_request = 2;
|
|
|
|
// A byte array containing an undefined message. This field may contain
|
|
// supplemental information for a message_data, or contain all of the
|
|
// data for the CarToPhoneMessage.
|
|
bytes metadata = 3;
|
|
}
|
|
|
|
// Message to be sent from the Phone SDK to the IHU SDK after an Action
|
|
// has been completed. The request_id in this update will correspond to
|
|
// the request_id of the original Action message.
|
|
message ActionStatusUpdate {
|
|
// The different result types after completing an action.
|
|
enum Status {
|
|
UNKNOWN = 0;
|
|
SUCCESSFUL = 1;
|
|
ERROR = 2;
|
|
}
|
|
|
|
// Unique ID of the action.
|
|
string request_id = 1;
|
|
|
|
// The status of completing the action.
|
|
Status status = 2;
|
|
|
|
// Optional error message / explanation if the status resulted in an error.
|
|
string error_explanation = 3;
|
|
}
|
|
|
|
// A message notification originating from the user's phone.
|
|
message ConversationNotification {
|
|
|
|
// Display name of the application that posted this notification.
|
|
string messaging_app_display_name = 1;
|
|
|
|
// Package name of the application that posted this notification.
|
|
string messaging_app_package_name = 2;
|
|
|
|
// MessagingStyle metadata of this conversation.
|
|
MessagingStyle messaging_style = 3;
|
|
|
|
// The time, in milliseconds, this message notification was last updated.
|
|
int64 time_ms = 4;
|
|
|
|
// Small app icon of the application that posted this notification.
|
|
bytes app_icon = 5;
|
|
}
|
|
|
|
// MessagingStyle metadata that matches MessagingStyle formatting.
|
|
message MessagingStyle {
|
|
// List of messages and their metadata.
|
|
repeated MessagingStyleMessage messaging_style_msg = 1;
|
|
|
|
// The Conversation title of this conversation.
|
|
string convo_title = 2;
|
|
|
|
// String of the user, needed for MessagingStyle.
|
|
string user_display_name = 3;
|
|
|
|
// True if this is a group conversation.
|
|
bool is_group_convo = 4;
|
|
}
|
|
|
|
// Message metadata that matches MessagingStyle formatting.
|
|
message MessagingStyleMessage {
|
|
// Contents of the message.
|
|
string text_message = 1;
|
|
|
|
// Timestamp of when the message notification was originally posted on the
|
|
// phone.
|
|
int64 timestamp = 2;
|
|
|
|
// Details of the sender who sent the message.
|
|
Person sender = 3;
|
|
|
|
// If the message is read on the phone.
|
|
bool is_read = 4;
|
|
}
|
|
|
|
// Sends over an avatar icon. This should be sent once per unique sender
|
|
// (per unique app) during a phone to car connection.
|
|
message AvatarIconSync {
|
|
// Metadata of the person.
|
|
Person person = 1;
|
|
|
|
// Display name of the application that posted this notification.
|
|
string messaging_app_display_name = 2;
|
|
|
|
// Package name of the application that posted this notification.
|
|
string messaging_app_package_name = 3;
|
|
}
|
|
|
|
// Request to clear all internal data and remove notifications for
|
|
// a specific messaging application.
|
|
message ClearAppDataRequest {
|
|
// Specifies which messaging app's data to remove.
|
|
string messaging_app_package_name = 1;
|
|
}
|
|
|
|
// Message to inform whether user has disabled/enabled this feature.
|
|
message FeatureEnabledStateChange {
|
|
// Enabled state of the feature.
|
|
bool enabled = 1;
|
|
}
|
|
|
|
// Details of the phone that is connected to the IHU.
|
|
message PhoneMetadata {
|
|
// MAC address of the phone.
|
|
string bluetooth_device_address = 1;
|
|
}
|
|
|
|
// Metadata about a sender.
|
|
message Person {
|
|
// Sender's name.
|
|
string name = 1;
|
|
|
|
// Sender's avatar icon.
|
|
bytes avatar = 2;
|
|
|
|
// Sender's low-resolution thumbnail
|
|
bytes thumbnail = 3;
|
|
}
|
|
|
|
// Action on a notification, initiated by the user on the IHU.
|
|
message Action {
|
|
// Different types of actions user can do on the IHU notification.
|
|
enum ActionName {
|
|
UNKNOWN_ACTION_NAME = 0;
|
|
MARK_AS_READ = 1;
|
|
REPLY = 2;
|
|
DISMISS = 3;
|
|
}
|
|
|
|
// Same as the PhoneToCar and CarToPhone messages's notification_key.
|
|
// As mentioned above, this notification id should be the same on the
|
|
// phone and the car. This will be the StatusBarNotification id of the
|
|
// original message notification posted on the phone.
|
|
string notification_key = 1;
|
|
|
|
//Optional, used to capture data like the reply string.
|
|
repeated MapEntry map_entry = 2;
|
|
|
|
// Name of the action.
|
|
ActionName action_name = 3;
|
|
|
|
// Unique id of this action.
|
|
string request_id = 4;
|
|
}
|
|
|
|
// Backwards compatible way of supporting a map.
|
|
message MapEntry {
|
|
// Key for the map.
|
|
string key = 1;
|
|
|
|
// Value that is mapped to this key.
|
|
string value = 2;
|
|
}
|