mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-15 15:16:12 -04:00
375 lines
9.4 KiB
Protocol Buffer
375 lines
9.4 KiB
Protocol Buffer
// Copyright 2020 Google LLC
|
|
//
|
|
// 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
|
|
//
|
|
// https://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 = "proto2";
|
|
|
|
package location.nearby.proto.sharing;
|
|
|
|
|
|
option optimize_for = LITE_RUNTIME;
|
|
option java_package = "com.google.location.nearby.proto";
|
|
option java_outer_classname = "SharingEnums";
|
|
option objc_class_prefix = "GNSHP";
|
|
|
|
/*
|
|
We use event based logging (an event object can be constructed and logged
|
|
immediately when they occur). To obtain session based information (e.g.
|
|
durations, counting incoming introductions), we use flowId (sender/receiver) in
|
|
NearbyClearcutLogger for all events (may exclude settings), and session_id for a
|
|
pair of events (start and end of a session).
|
|
*/
|
|
enum EventType {
|
|
UNKNOWN_EVENT_TYPE = 0;
|
|
|
|
// When new users accept agreements (like grant permission to contacts for
|
|
// CONTACT_ONLY visibility) and are enrolled into Nearby Sharing. This event
|
|
// is used to count number of new users.
|
|
ACCEPT_AGREEMENTS = 1;
|
|
|
|
// User enables/disables nearby sharing from setting or tile service.
|
|
ENABLE_NEARBY_SHARING = 2;
|
|
|
|
// User sets visibility preference from setting.
|
|
SET_VISIBILITY = 3;
|
|
|
|
// Describe attachments immediately when Nearby Sharing is opened by another
|
|
// app which is used to generate/attach attachments to be shared with other
|
|
// devices.
|
|
DESCRIBE_ATTACHMENTS = 4;
|
|
|
|
// Start of a scanning phase at sender.
|
|
SCAN_FOR_SHARE_TARGETS_START = 5;
|
|
|
|
// End of the scanning phase at sender.
|
|
SCAN_FOR_SHARE_TARGETS_END = 6;
|
|
|
|
// Receiver advertises itself for presence (a pseudo session).
|
|
ADVERTISE_DEVICE_PRESENCE_START = 7;
|
|
|
|
// End of the advertising phase at receiver.
|
|
ADVERTISE_DEVICE_PRESENCE_END = 8;
|
|
|
|
// Sender sends a fast initialization to receiver.
|
|
SEND_FAST_INITIALIZATION = 9;
|
|
|
|
// Receiver receives the fast initialization.
|
|
RECEIVE_FAST_INITIALIZATION = 10;
|
|
|
|
// Sender discovers a share target.
|
|
DISCOVER_SHARE_TARGET = 11;
|
|
|
|
// Sender sends introduction (before attachments being sent).
|
|
SEND_INTRODUCTION = 12;
|
|
|
|
// Receiver receives introduction.
|
|
RECEIVE_INTRODUCTION = 13;
|
|
|
|
// Receiver responds to introduction (before attachments being sent).
|
|
// Actions: Accept, Reject, or (for some reason) Fail.
|
|
RESPOND_TO_INTRODUCTION = 14;
|
|
|
|
// Start of the sending attachments phase at sender.
|
|
SEND_ATTACHMENTS_START = 15;
|
|
|
|
// End of sending attachments phase at sender.
|
|
SEND_ATTACHMENTS_END = 16;
|
|
|
|
// Start of the receiving attachments phase at receiver.
|
|
RECEIVE_ATTACHMENTS_START = 17;
|
|
|
|
// End of receiving attachments phase at receiver.
|
|
RECEIVE_ATTACHMENTS_END = 18;
|
|
|
|
// Sender cancels sending attachments.
|
|
CANCEL_SENDING_ATTACHMENTS = 19;
|
|
|
|
// Receiver cancels receiving attachments.
|
|
CANCEL_RECEIVING_ATTACHMENTS = 20;
|
|
|
|
// Receiver opens received attachments.
|
|
OPEN_RECEIVED_ATTACHMENTS = 21;
|
|
|
|
// User opens the setup activity.
|
|
LAUNCH_SETUP_ACTIVITY = 22 [deprecated = true];
|
|
|
|
// User adds a contact.
|
|
ADD_CONTACT = 23;
|
|
|
|
// User removes a contact.
|
|
REMOVE_CONTACT = 24;
|
|
|
|
// Local devices all Fast Share server.
|
|
FAST_SHARE_SERVER_RESPONSE = 25;
|
|
|
|
// The start of a sending session.
|
|
SEND_START = 26;
|
|
|
|
// Receiver accepts a fast initialization.
|
|
ACCEPT_FAST_INITIALIZATION = 27;
|
|
|
|
// Set data usage preference.
|
|
SET_DATA_USAGE = 28;
|
|
|
|
// Receiver dismisses a fast initialization
|
|
DISMISS_FAST_INITIALIZATION = 29;
|
|
|
|
// Cancel connection.
|
|
CANCEL_CONNECTION = 30;
|
|
|
|
// User starts a chimera activity (e.g. ConsentsChimeraActivity,
|
|
// ContactSelectChimeraActivity...)
|
|
LAUNCH_ACTIVITY = 31;
|
|
|
|
// Receiver dismisses a privacy notification.
|
|
DISMISS_PRIVACY_NOTIFICATION = 32;
|
|
|
|
// Receiver taps a privacy notification.
|
|
TAP_PRIVACY_NOTIFICATION = 33;
|
|
|
|
// Receiver taps a help page.
|
|
TAP_HELP = 34;
|
|
|
|
// Receiver taps a feedback.
|
|
TAP_FEEDBACK = 35;
|
|
|
|
// Receiver adds quick settings tile.
|
|
ADD_QUICK_SETTINGS_TILE = 36;
|
|
|
|
// Receiver removes quick settings tile.
|
|
REMOVE_QUICK_SETTINGS_TILE = 37;
|
|
|
|
// Receiver phone consent clicked.
|
|
LAUNCH_PHONE_CONSENT = 38;
|
|
|
|
// Receiver taps quick settings tile.
|
|
TAP_QUICK_SETTINGS_TILE = 39;
|
|
|
|
// Receiver Installation of APKs status.
|
|
INSTALL_APK = 40;
|
|
|
|
// Receiver verification of APKs status.
|
|
VERIFY_APK = 41;
|
|
|
|
// User starts a consent.
|
|
LAUNCH_CONSENT = 42;
|
|
}
|
|
|
|
// Event category to differentiate whether this comes from sender or receiver,
|
|
// whether this is for communication flow, or for settings.
|
|
enum EventCategory {
|
|
UNKNOWN_EVENT_CATEGORY = 0;
|
|
SENDING_EVENT = 1;
|
|
RECEIVING_EVENT = 2;
|
|
SETTINGS_EVENT = 3;
|
|
}
|
|
|
|
// Status of nearby sharing.
|
|
enum NearbySharingStatus {
|
|
UNKNOWN_NEARBY_SHARING_STATUS = 0;
|
|
|
|
ON = 1;
|
|
OFF = 2;
|
|
}
|
|
|
|
enum Visibility {
|
|
UNKNOWN_VISIBILITY = 0;
|
|
|
|
CONTACTS_ONLY = 1;
|
|
EVERYONE = 2;
|
|
SELECTED_CONTACTS_ONLY = 3;
|
|
HIDDEN = 4;
|
|
}
|
|
|
|
enum DataUsage {
|
|
UNKNOWN_DATA_USAGE = 0;
|
|
|
|
ONLINE = 1;
|
|
WIFI_ONLY = 2;
|
|
OFFLINE = 3;
|
|
}
|
|
|
|
// The status of sending and receiving attachments. Used by SEND_ATTACHMENTS.
|
|
enum AttachmentTransmissionStatus {
|
|
UNKNOWN_ATTACHMENT_TRANSMISSION_STATUS = 0;
|
|
|
|
COMPLETE_ATTACHMENT_TRANSMISSION_STATUS = 1;
|
|
CANCELED_ATTACHMENT_TRANSMISSION_STATUS = 2;
|
|
FAILED_ATTACHMENT_TRANSMISSION_STATUS = 3;
|
|
|
|
REJECTED_ATTACHMENT = 4;
|
|
TIMED_OUT_ATTACHMENT = 5;
|
|
AWAITING_REMOTE_ACCEPTANCE_FAILED_ATTACHMENT = 6 [deprecated = true];
|
|
NOT_ENOUGH_SPACE_ATTACHMENT = 7;
|
|
FAILED_NO_TRANSFER_UPDATE_CALLBACK = 8;
|
|
MEDIA_UNAVAILABLE_ATTACHMENT = 9;
|
|
UNSUPPORTED_ATTACHMENT_TYPE_ATTACHMENT = 10;
|
|
NO_ATTACHMENT_FOUND = 11;
|
|
FAILED_NO_SHARE_TARGET_ENDPOINT = 12;
|
|
FAILED_PAIRED_KEYHANDSHAKE = 13;
|
|
FAILED_NULL_CONNECTION = 14;
|
|
FAILED_NO_PAYLOAD = 15;
|
|
FAILED_WRITE_INTRODUCTION = 16;
|
|
}
|
|
|
|
// The status of advertising and discovering sessions. Used by
|
|
// SCAN_FOR_SHARE_TARGETS and ADVERTISE_DEVICE_PRESENCE.
|
|
enum SessionStatus {
|
|
UNKNOWN_SESSION_STATUS = 0;
|
|
|
|
SUCCEEDED_SESSION_STATUS = 1;
|
|
FAILED_SESSION_STATUS = 2;
|
|
}
|
|
|
|
// User's response to introductions.
|
|
enum ResponseToIntroduction {
|
|
UNKNOWN_RESPONSE_TO_INTRODUCTION = 0;
|
|
|
|
ACCEPT_INTRODUCTION = 1;
|
|
REJECT_INTRODUCTION = 2;
|
|
FAIL_INTRODUCTION = 3;
|
|
}
|
|
|
|
// TODO(fdi): may eventually include desktop, etc.
|
|
// The type of a remote device.
|
|
enum DeviceType {
|
|
UNKNOWN_DEVICE_TYPE = 0;
|
|
|
|
PHONE = 1;
|
|
TABLET = 2;
|
|
LAPTOP = 3;
|
|
}
|
|
|
|
// TODO(fdi): may eventually include windows, iOS, etc.
|
|
// The OS type of a remote device.
|
|
enum OSType {
|
|
UNKNOWN_OS_TYPE = 0;
|
|
|
|
ANDROID = 1;
|
|
CHROME_OS = 2;
|
|
}
|
|
|
|
// Relationship of remote device to sender device.
|
|
enum DeviceRelationship {
|
|
UNKNOWN_DEVICE_RELATIONSHIP = 0;
|
|
|
|
// The remote device belongs to the same owner as sender device.
|
|
IS_SELF = 1;
|
|
// The remote device is a contact of sender.
|
|
IS_CONTACT = 2;
|
|
// The remote device is a stranger.
|
|
IS_STRANGER = 3;
|
|
}
|
|
|
|
// The device sources of the clearcut log.
|
|
enum LogSource {
|
|
UNSPECIFIED_SOURCE = 0;
|
|
|
|
// Represents the devices in Nearby labs.
|
|
LAB_DEVICES = 1;
|
|
// Represents the devices tested by Nearby engs, in the long term can include
|
|
// any devices with newest feature flags.
|
|
INTERNAL_DEVICES = 2;
|
|
// Represents the devices testing our in-development features before they're
|
|
// released to the greater public.
|
|
BETA_TESTER_DEVICES = 3;
|
|
// Represents the OEM partners (like Samsung) that we're working with to
|
|
// verify functionality on their devices.
|
|
OEM_DEVICES = 4;
|
|
// Represents the device for debugging.
|
|
DEBUG_DEVICES = 5;
|
|
}
|
|
|
|
// The Fast Share server action name.
|
|
enum ServerActionName {
|
|
UNKNOWN_SERVER_ACTION = 0;
|
|
|
|
UPLOAD_CERTIFICATES = 1;
|
|
DOWNLOAD_CERTIFICATES = 2;
|
|
CHECK_REACHABILITY = 3;
|
|
UPLOAD_CONTACTS = 4;
|
|
UPDATE_DEVICE_NAME = 5;
|
|
UPLOAD_SENDER_CERTIFICATES = 6;
|
|
DOWNLOAD_SENDER_CERTIFICATES = 7;
|
|
}
|
|
|
|
// The Fast Share server response state.
|
|
enum ServerResponseState {
|
|
UNKNOWN_SERVER_RESPONSE_STATE = 0;
|
|
|
|
SERVER_RESPONSE_SUCCESS = 1;
|
|
SERVER_RESPONSE_UNKNOWN_FAILURE = 2;
|
|
|
|
// For StatusException.
|
|
SERVER_RESPONSE_STATUS_OTHER_FAILURE = 3;
|
|
SERVER_RESPONSE_STATUS_DEADLINE_EXCEEDED = 4;
|
|
SERVER_RESPONSE_STATUS_PERMISSION_DENIED = 5;
|
|
SERVER_RESPONSE_STATUS_UNAVAILABLE = 6;
|
|
SERVER_RESPONSE_STATUS_UNAUTHENTICATED = 7;
|
|
SERVER_RESPONSE_STATUS_INVALID_ARGUMENT = 9;
|
|
|
|
// For GoogleAuthException.
|
|
SERVER_RESPONSE_GOOGLE_AUTH_FAILURE = 8;
|
|
}
|
|
|
|
// The type of Nearby Sharing scanning.
|
|
enum ScanType {
|
|
UNKNOWN_SCAN_TYPE = 0;
|
|
|
|
FOREGROUND_SCAN = 1;
|
|
FOREGROUND_RETRY_SCAN = 2;
|
|
DIRECT_SHARE_SCAN = 3;
|
|
}
|
|
|
|
// The class name of chimera activity.
|
|
enum ActivityName {
|
|
UNKNOWN_ACTIVITY = 0;
|
|
|
|
SHARE_SHEET_ACTIVITY = 1;
|
|
SETTINGS_ACTIVITY = 2;
|
|
RECEIVE_SURFACE_ACTIVITY = 3;
|
|
SETUP_ACTIVITY = 4;
|
|
CONTACT_SELECT_ACTIVITY = 5;
|
|
CONSENTS_ACTIVITY = 6;
|
|
}
|
|
|
|
enum ConsentType {
|
|
CONSENT_TYPE_UNKNOWN = 0;
|
|
|
|
CONSENT_TYPE_C11N = 1;
|
|
}
|
|
|
|
enum ApkSource {
|
|
UNKNOWN_APK_SOURCE = 0;
|
|
|
|
FILE_BROSWER = 1;
|
|
LAUNCHER = 2;
|
|
}
|
|
|
|
// The Installation status of APK.
|
|
enum InstallAPKStatus {
|
|
UNKNOWN_INSTALL_APK_STATUS = 0;
|
|
|
|
FAIL_INSTALLATION = 1;
|
|
SUCCESS_INSTALLATION = 2;
|
|
}
|
|
|
|
// The verification status of APK.
|
|
enum VerifyAPKStatus {
|
|
UNKNOWN_VERIFY_APK_STATUS = 0;
|
|
|
|
NOT_INSTALLABLE = 1;
|
|
INSTALLABLE = 2;
|
|
ALREADY_INSTALLED = 3;
|
|
}
|