66option java_package = "org.microg.gms.wearable.proto" ;
77option java_outer_classname = "WearableProto" ;
88
9- message AckAsset {
10- optional string digest = 1 ;
9+ message RemoveAsset {
10+ optional string name = 1 ;
1111}
1212
1313message AppKey {
@@ -60,38 +60,76 @@ message ChannelDataRequest {
6060 optional bool finalMessage = 3 ;
6161}
6262
63+ message ChannelTransferInfo {
64+ optional int64 offset = 1 ;
65+ optional bool is_last_chunk = 2 ;
66+ optional int64 total_size = 3 ;
67+ }
68+
69+ message ChannelTransferRequest {
70+ optional ChannelTransferInfo transfer_info = 1 ;
71+ optional bytes payload = 2 ;
72+ optional bool isFinal = 3 ;
73+ }
74+
75+ message ChannelCloseRequest {
76+ optional ChannelTransferInfo transfer_info = 1 ;
77+ optional bool isCancelled = 2 ;
78+ }
79+
80+ message ChannelOpenRequest {
81+ enum ChannelType {
82+ CHANNEL_TYPE_UNKNOWN = 0 ;
83+ CHANNEL_TYPE_DUPLEX = 1 ;
84+ CHANNEL_TYPE_SOURCE = 2 ;
85+ CHANNEL_TYPE_SINK = 3 ;
86+ }
87+
88+ optional ChannelType type = 1 ;
89+ optional sfixed64 channelId = 2 ;
90+ optional bool isEncrypted = 3 ;
91+ optional string sourceNodeId = 4 ;
92+ optional string targetNodeId = 5 ;
93+ optional string path = 6 ;
94+ optional int32 flags = 7 ;
95+ optional bool isReliable = 8 ;
96+ optional bytes payload = 9 ;
97+ }
98+
6399message ChannelRequest {
64- optional ChannelControlRequest channelControlRequest = 2 ;
65- optional ChannelDataRequest channelDataRequest = 3 ;
66- optional ChannelDataAckRequest channelDataAckRequest = 4 ;
67- optional int32 version = 6 ;
68- optional int32 origin = 7 ;
100+ optional ChannelTransferRequest channelControlRequest = 2 ;
101+ optional ChannelOpenRequest channelDataRequest = 3 ;
102+ optional ChannelCloseRequest channelDataAckRequest = 4 ;
103+ optional int32 status_code = 6 ;
104+ optional int32 error_code = 7 ;
69105}
70106
71107message Connect {
72108 optional string id = 1 ;
73109 optional string name = 2 ;
74110 optional int64 peerAndroidId = 3 ;
75- optional int32 unknown4 = 4 ;
76- optional int32 peerVersion = 5 ;
77- optional int32 peerMinimumVersion = 6 ;
111+ optional int32 peerVersion = 4 ;
112+ optional int32 peerMinimumVersion = 5 ;
113+ optional int32 capabilities = 6 ;
78114 optional string networkId = 7 ;
79- optional bool migrating = 8 ;
80- optional string migratingFromNodeId = 9 ;
115+ optional string packageName = 8 ;
116+ optional bool migrating = 9 ;
117+ optional string migratingFromNodeId = 10 ;
118+ optional int32 androidSdkVersion = 11 ;
81119}
82120
83121message FetchAsset {
84- optional string packageName = 1 ;
85- optional string assetName = 2 ;
86- optional bool permission = 3 ;
87- optional string signatureDigest = 4 ;
122+ optional string digest = 1 ;
123+ optional string target_node_id = 2 ;
124+ optional string source_node_id = 3 ;
125+ optional bool is_urgent = 4 ;
88126}
89127
90128message FilePiece {
91129 optional string fileName = 1 ;
92- optional bool finalPiece = 2 ;
93- optional bytes piece = 3 ;
94- optional string digest = 4 ;
130+ optional bool isFinalPiece = 2 ;
131+ optional bytes data = 3 ;
132+ optional string mime_type = 4 ;
95133}
96134
97135message Heartbeat {
@@ -107,34 +145,85 @@ message MessagePiece {
107145}
108146
109147message Request {
148+ enum Type {
149+ TYPE_REQUEST = 0 ;
150+ TYPE_RESPONSE = 1 ;
151+ TYPE_ERROR = 2 ;
152+ }
153+
110154 optional int32 requestId = 1 ;
111- optional string packageName = 2 ;
112- optional string signatureDigest = 3 ;
113- optional string targetNodeId = 4 ;
114- optional int32 unknown5 = 5 ; // always has to be 0
115- optional string path = 6 ;
155+ optional string targetNodeId = 2 ;
156+ optional string sourceNodeId = 3 ;
157+ optional string path = 4 ;
158+ optional int32 response_id = 5 ; // 0 if request, >0 for reply
159+ optional string packageName = 6 ;
116160 optional bytes rawData = 7 ;
117- optional string sourceNodeId = 8 ;
161+ optional string correlation_id = 8 ;
118162 optional ChannelRequest request = 9 ;
119- optional int32 generation = 10 ;
120- optional bool requiresResponse = 13 ;
121- optional int32 senderRequestId = 14 ;
163+ optional int32 channel_id = 10 ;
164+ optional bool is_response = 11 ;
165+ optional int32 flags = 12 ;
166+ optional Type priority = 13 ;
122167}
123168
169+ //message Request {
170+ // enum Priority {
171+ // PRIORITY_LOW = 0;
172+ // PRIORITY_DEFAULT = 1;
173+ // PRIORITY_HIGH = 2;
174+ // }
175+ //
176+ // optional int32 requestId = 1;
177+ // optional string packageName = 2;
178+ // optional string signatureDigest = 3;
179+ // optional string targetNodeId = 4;
180+ // optional int32 unknown5 = 5; // always has to be 0, same in gms
181+ // optional string path = 6;
182+ // optional bytes rawData = 7;
183+ // optional string sourceNodeId = 8;
184+ // optional ChannelRequest request = 9;
185+ // optional int32 generation = 10;
186+ // optional bool requiresResponse = 11;
187+ // optional int32 senderRequestId = 12;
188+ // optional Priority priority = 13;
189+ //}
190+
124191message RootMessage {
125192 optional SetAsset setAsset = 4 ;
126- optional AckAsset ackAsset = 5 ;
193+ optional RemoveAsset removeAsset = 5 ;
127194 optional FetchAsset fetchAsset = 6 ;
128195 optional Connect connect = 7 ;
129- optional SyncStart syncStart = 8 ;
130- optional SetDataItem setDataItem = 9 ;
131- optional Request rpcRequest = 10 ;
132- optional Heartbeat heartbeat = 11 ;
133- optional FilePiece filePiece = 12 ;
134- optional bool hasAsset = 13 ;
135- optional Request channelRequest = 16 ;
196+ optional Request rpcRequest = 8 ;
197+ optional Heartbeat heartbeat = 9 ;
198+ optional FilePiece filePiece = 10 ;
199+ optional Request channelRequest = 11 ;
200+ optional EncryptionHandshake encryption_handshake = 12 ;
201+ optional Request rpcWithResponseId = 13 ;
202+ optional bool hasFileAttachment = 16 ;
203+ optional SyncStart syncStart = 17 ;
204+ // IosMultiAppAuth = 18
205+ optional SetDataItem setDataItem = 19 ;
206+ optional ControlMessage control_message = 20 ;
136207}
137208
209+ //message RootMessage {
210+ // optional SetAsset setAsset = 4;
211+ // optional AckAsset ackAsset = 5;
212+ // optional FetchAsset fetchAsset = 6;
213+ // optional Connect connect = 7;
214+ // optional SyncStart syncStart = 8;
215+ // optional SetDataItem setDataItem = 9;
216+ // optional Request rpcRequest = 10;
217+ // optional Heartbeat heartbeat = 11;
218+ // optional FilePiece filePiece = 12;
219+ // optional bool hasAsset = 13;
220+ // optional Request channelRequest = 16;
221+ // optional EncryptionHandshake encryption_handshake = 17;
222+ // optional Request rpcWithResponseId = 18;
223+ // // IosMultiAppAuth = 19
224+ // optional ControlMessage control_message = 20;
225+ //}
226+
138227message SetAsset {
139228 optional string digest = 1 ;
140229 optional bytes data = 2 ;
@@ -154,13 +243,87 @@ message SetDataItem {
154243 optional int64 lastModified = 10 ;
155244}
156245
246+ message PathEntry {
247+ optional string path = 1 ;
248+ }
249+
250+ message PathList {
251+ repeated PathEntry items = 1 ;
252+ }
253+
254+ message DataDigest {
255+ enum AlgoType {
256+ ALGO_TYPE_UNKNOWN = 0 ;
257+ ALGO_TYPE_MD5 = 1 ;
258+ ALGO_TYPE_SHA1 = 2 ;
259+ }
260+
261+ optional AlgoType algorithm = 1 ;
262+ optional string value = 2 ;
263+ }
264+
265+ message DataDigestList {
266+ repeated DataDigest items = 1 ;
267+ }
268+
269+ message SyncStartItem {
270+ optional string uri = 1 ;
271+ optional DataDigestList digest_list = 2 ;
272+ optional PathList path_list = 3 ;
273+ }
274+
275+ message SyncStartItems {
276+ repeated SyncStartItem items = 1 ;
277+ }
278+
157279message SyncStart {
158- optional int64 receivedSeqId = 1 ;
280+ optional int64 timestamp = 1 ;
159281 repeated SyncTableEntry syncTable = 2 ;
160- optional int32 version = 3 ;
282+ optional int32 sync_type = 3 ;
283+ optional SyncStartItems items = 4 ;
161284}
162285
163286message SyncTableEntry {
287+ optional string uri = 1 ;
288+ optional int64 version = 2 ;
289+ }
290+
291+ message EncryptionHandshake {
292+ enum Role {
293+ ROLE_UNKNOWN = 0 ;
294+ ROLE_INITIATOR = 1 ;
295+ ROLE_RESPONDER = 2 ;
296+ }
297+
298+ optional bytes pubKey = 1 ;
299+ optional bytes nonce = 2 ;
300+ optional bool isResumed = 3 ;
301+ optional Role role = 4 ;
302+ }
303+
304+ message ControlMessage {
305+ enum Type {
306+ TYPE_UNKNOWN = 0 ;
307+ TYPE_CONNECTION_REQ = 1 ;
308+ TYPE_CONNECTION_ACK = 2 ;
309+ TYPE_DISCONNECT = 3 ;
310+ TYPE_BANDWIDTH_UPGRADE = 4 ;
311+ TYPE_KEEP_ALIVE = 5 ;
312+ TYPE_DISCONNECT_ACK = 6 ;
313+ TYPE_PAYLOAD_TRANSFER = 7 ;
314+ }
315+
316+ optional Type type = 1 ;
317+ optional AccountMatchingMessage account_matching_message = 2 ;
318+ }
319+
320+ message AccountMatchingEntry {
164321 optional string key = 1 ;
165- optional int64 value = 2 ;
322+ optional string value = 2 ;
323+ }
324+
325+ message AccountMatchingMessage {
326+ optional int32 status = 1 ;
327+ repeated AccountMatchingEntry entries = 2 ;
328+ optional string token = 3 ;
166329}
0 commit comments