jring-client 0.5.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. jring/__init__.py +3 -0
  2. jring/_vendor_binder_rows.py +646 -0
  3. jring/_vendor_decode.py +14 -0
  4. jring/bleak_transport.py +873 -0
  5. jring/bluetooth_parity_manifest.py +133 -0
  6. jring/clean_room_gap_registry.py +59 -0
  7. jring/cli.py +3145 -0
  8. jring/client.py +1074 -0
  9. jring/diagnostics.py +11 -0
  10. jring/discovery.py +92 -0
  11. jring/errors.py +2 -0
  12. jring/event_contracts.py +1008 -0
  13. jring/input.py +315 -0
  14. jring/non_health.py +474 -0
  15. jring/owner_hardware_evidence.py +1760 -0
  16. jring/private_observation.py +480 -0
  17. jring/protocol.py +122 -0
  18. jring/readiness.py +436 -0
  19. jring/resources/completions/jring.bash +396 -0
  20. jring/resources/man/jring.1 +435 -0
  21. jring/transport.py +429 -0
  22. jring/uuids.py +76 -0
  23. jring/vendor_alarm_runtime_simulator.py +766 -0
  24. jring/vendor_app_use_evidence.py +419 -0
  25. jring/vendor_artifact_evidence.py +1023 -0
  26. jring/vendor_authorization_gate.py +580 -0
  27. jring/vendor_behavior_settings.py +457 -0
  28. jring/vendor_binder_evidence.py +242 -0
  29. jring/vendor_callback_event_registry.py +63 -0
  30. jring/vendor_callback_surfaces.py +410 -0
  31. jring/vendor_codec_registry.py +428 -0
  32. jring/vendor_commands.py +509 -0
  33. jring/vendor_coverage.py +698 -0
  34. jring/vendor_decompilation_evidence.py +284 -0
  35. jring/vendor_dispatcher_evidence.py +203 -0
  36. jring/vendor_ecg_history_runtime_simulator.py +430 -0
  37. jring/vendor_event_engine.py +31 -0
  38. jring/vendor_gatt_preflight.py +403 -0
  39. jring/vendor_gatt_transaction.py +1356 -0
  40. jring/vendor_generic_history_runtime_simulator.py +492 -0
  41. jring/vendor_history.py +630 -0
  42. jring/vendor_history_runtime_simulator.py +477 -0
  43. jring/vendor_input_preview.py +89 -0
  44. jring/vendor_local_operations.py +412 -0
  45. jring/vendor_main_commands.py +324 -0
  46. jring/vendor_main_event_runtime_simulator.py +1096 -0
  47. jring/vendor_notify.py +347 -0
  48. jring/vendor_notify_runtime_simulator.py +930 -0
  49. jring/vendor_operation_registry.py +484 -0
  50. jring/vendor_ota_evidence.py +756 -0
  51. jring/vendor_personal_settings.py +306 -0
  52. jring/vendor_phone_integration.py +567 -0
  53. jring/vendor_phone_volume_runtime_simulator.py +494 -0
  54. jring/vendor_platform_surface.py +178 -0
  55. jring/vendor_prior_art_candidate_codecs.py +71 -0
  56. jring/vendor_prior_art_hypotheses.py +48 -0
  57. jring/vendor_protocol.py +1377 -0
  58. jring/vendor_raw_protocol.py +380 -0
  59. jring/vendor_raw_runtime_simulator.py +399 -0
  60. jring/vendor_request_builder_evidence.py +201 -0
  61. jring/vendor_request_callback_correlation.py +698 -0
  62. jring/vendor_request_integrity.py +74 -0
  63. jring/vendor_request_routing.py +224 -0
  64. jring/vendor_runtime_eligibility.py +201 -0
  65. jring/vendor_runtime_fake.py +664 -0
  66. jring/vendor_runtime_scope_eligibility.py +276 -0
  67. jring/vendor_runtime_simulator.py +716 -0
  68. jring/vendor_session_arbiter.py +106 -0
  69. jring/vendor_session_evidence.py +480 -0
  70. jring/vendor_settings.py +380 -0
  71. jring/vendor_transport.py +1330 -0
  72. jring/vendor_warning_evidence.py +471 -0
  73. jring/vendor_wifi_runtime_simulator.py +606 -0
  74. jring_client-0.5.0.dist-info/METADATA +670 -0
  75. jring_client-0.5.0.dist-info/RECORD +79 -0
  76. jring_client-0.5.0.dist-info/WHEEL +5 -0
  77. jring_client-0.5.0.dist-info/entry_points.txt +3 -0
  78. jring_client-0.5.0.dist-info/licenses/LICENSE +21 -0
  79. jring_client-0.5.0.dist-info/top_level.txt +1 -0
jring/__init__.py ADDED
@@ -0,0 +1,3 @@
1
+ """Privacy-first Linux client for JRing BLE devices."""
2
+
3
+ __version__ = "0.5.0"
@@ -0,0 +1,646 @@
1
+ """Generated sanitized Binder row constants; no private provenance."""
2
+
3
+ REQUEST_BINDER_ROWS = (('registerCallback',
4
+ 1,
5
+ ('callback_handle',),
6
+ ('strong_interface',),
7
+ 'void',
8
+ 'void',
9
+ 1),
10
+ ('registerCallback2',
11
+ 2,
12
+ ('callback_handle', 'string', 'string', 'string'),
13
+ ('strong_interface', 'string', 'string', 'string'),
14
+ 'void',
15
+ 'void',
16
+ 4),
17
+ ('unregisterCallback',
18
+ 3,
19
+ ('callback_handle',),
20
+ ('strong_interface',),
21
+ 'void',
22
+ 'void',
23
+ 1),
24
+ ('isAuthrize', 4, (), (), 'int32', 'int32', 0),
25
+ ('setOption', 5, ('client_options_record',), ('typed_object',), 'int32', 'int32', 1),
26
+ ('setScanMode', 6, ('int32',), ('int32',), 'int32', 'int32', 1),
27
+ ('scanDevice', 7, ('bool',), ('int32',), 'int32', 'int32', 1),
28
+ ('connectBt', 8, ('string', 'string'), ('string', 'string'), 'int32', 'int32', 2),
29
+ ('isConnectBt', 9, (), (), 'bool', 'int32', 0),
30
+ ('getConnectedDevice', 10, (), (), 'string', 'string', 0),
31
+ ('disconnectBt', 11, ('bool',), ('int32',), 'void', 'void', 1),
32
+ ('closeConnection', 12, (), (), 'void', 'void', 0),
33
+ ('setDeviceTime', 13, (), (), 'int32', 'int32', 0),
34
+ ('setUserInfo', 14, (), (), 'int32', 'int32', 0),
35
+ ('getCurSportData', 15, (), (), 'int32', 'int32', 0),
36
+ ('sendVibrationSignal', 16, ('int32',), ('int32',), 'int32', 'int32', 1),
37
+ ('setPhontMode', 17, ('bool',), ('int32',), 'int32', 'int32', 1),
38
+ ('setIdleTime',
39
+ 18,
40
+ ('int32', 'int32', 'int32', 'int32', 'int32'),
41
+ ('int32', 'int32', 'int32', 'int32', 'int32'),
42
+ 'int32',
43
+ 'int32',
44
+ 5),
45
+ ('setSleepTime',
46
+ 19,
47
+ ('int32', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32'),
48
+ ('int32', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32'),
49
+ 'int32',
50
+ 'int32',
51
+ 8),
52
+ ('getDeviceBatery', 20, (), (), 'int32', 'int32', 0),
53
+ ('getDeviceInfo', 21, (), (), 'int32', 'int32', 0),
54
+ ('setAlarm', 22, (), (), 'int32', 'int32', 0),
55
+ ('setDeviceMode', 23, ('int32',), ('int32',), 'int32', 'int32', 1),
56
+ ('setNotify',
57
+ 24,
58
+ ('string', 'int32', 'string', 'string'),
59
+ ('string', 'int32', 'string', 'string'),
60
+ 'bool',
61
+ 'int32',
62
+ 4),
63
+ ('setHeartRateMode',
64
+ 25,
65
+ ('bool', 'int32', 'int32'),
66
+ ('int32', 'int32', 'int32'),
67
+ 'int32',
68
+ 'int32',
69
+ 3),
70
+ ('setAutoHeartMode',
71
+ 26,
72
+ ('bool', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32'),
73
+ ('int32', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32'),
74
+ 'int32',
75
+ 'int32',
76
+ 7),
77
+ ('setDeviceInfo', 27, (), (), 'int32', 'int32', 0),
78
+ ('setHourFormat', 28, ('int32',), ('int32',), 'int32', 'int32', 1),
79
+ ('getDataByDay', 29, ('int32', 'int32'), ('int32', 'int32'), 'int32', 'int32', 2),
80
+ ('setLanguage', 30, (), (), 'int32', 'int32', 0),
81
+ ('sendWeather', 31, (), (), 'int32', 'int32', 0),
82
+ ('setAntiLost', 32, ('bool',), ('int32',), 'int32', 'int32', 1),
83
+ ('setBloodPressureMode', 33, ('bool',), ('int32',), 'int32', 'int32', 1),
84
+ ('getMultipleSportData', 34, ('int32',), ('int32',), 'int32', 'int32', 1),
85
+ ('setGoalStep', 35, ('int32',), ('int32',), 'int32', 'int32', 1),
86
+ ('getBandFunction', 36, (), (), 'int32', 'int32', 0),
87
+ ('setDeviceHeartRateArea',
88
+ 37,
89
+ ('bool', 'int32', 'int32'),
90
+ ('int32', 'int32', 'int32'),
91
+ 'int32',
92
+ 'int32',
93
+ 3),
94
+ ('openSDKLog',
95
+ 38,
96
+ ('bool', 'string', 'string'),
97
+ ('int32', 'string', 'string'),
98
+ 'int32',
99
+ 'int32',
100
+ 3),
101
+ ('getOtaInfo', 39, ('bool',), ('int32',), 'int32', 'int32', 1),
102
+ ('setDeviceCode', 40, ('bytes',), ('byte_array',), 'int32', 'int32', 1),
103
+ ('getDeviceCode', 41, (), (), 'int32', 'int32', 0),
104
+ ('setUuid',
105
+ 42,
106
+ ('string_array', 'string_array', 'bool'),
107
+ ('string_array', 'string_array', 'int32'),
108
+ 'int32',
109
+ 'int32',
110
+ 3),
111
+ ('writeCharacteristic',
112
+ 43,
113
+ ('string', 'bytes'),
114
+ ('string', 'byte_array'),
115
+ 'int32',
116
+ 'int32',
117
+ 2),
118
+ ('setEcgMode', 44, ('bool', 'int32'), ('int32', 'int32'), 'int32', 'int32', 2),
119
+ ('getEcgHistory', 45, ('int32',), ('int32',), 'int32', 'int32', 1),
120
+ ('setDeviceName', 46, ('string',), ('string',), 'int32', 'int32', 1),
121
+ ('getDeviceRssi', 47, (), (), 'int32', 'int32', 0),
122
+ ('setReminder',
123
+ 48,
124
+ ('int32', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32'),
125
+ ('int32', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32'),
126
+ 'int32',
127
+ 'int32',
128
+ 7),
129
+ ('setReminderText', 49, ('int32', 'string'), ('int32', 'string'), 'int32', 'int32', 2),
130
+ ('setBPAdjust', 50, ('int32', 'int32'), ('int32', 'int32'), 'int32', 'int32', 2),
131
+ ('setTemperatureMode', 51, ('bool',), ('int32',), 'int32', 'int32', 1),
132
+ ('getDeviceDial', 52, (), (), 'int32', 'int32', 0),
133
+ ('setDeviceDialState', 53, ('int32',), ('int32',), 'int32', 'int32', 1),
134
+ ('setDeviceWallpaperState', 54, ('int32',), ('int32',), 'int32', 'int32', 1),
135
+ ('editDeviceDialCustom',
136
+ 55,
137
+ ('int32', 'int32', 'int32', 'int32'),
138
+ ('int32', 'int32', 'int32', 'int32'),
139
+ 'int32',
140
+ 'int32',
141
+ 4),
142
+ ('getDeviceDialCustom', 56, (), (), 'int32', 'int32', 0),
143
+ ('sendPhoneCallState',
144
+ 57,
145
+ ('int32', 'int32', 'int32', 'int32'),
146
+ ('int32', 'int32', 'int32', 'int32'),
147
+ 'int32',
148
+ 'int32',
149
+ 4),
150
+ ('setFemaleReminder',
151
+ 58,
152
+ ('bool', 'int32', 'int32', 'int32', 'int32', 'int32'),
153
+ ('int32', 'int32', 'int32', 'int32', 'int32', 'int32'),
154
+ 'int32',
155
+ 'int32',
156
+ 6),
157
+ ('setContactCrc', 59, ('string',), ('string',), 'int32', 'int32', 1),
158
+ ('setContactInfo', 60, ('contact_record',), ('typed_object',), 'int32', 'int32', 1),
159
+ ('setAppId', 61, ('string',), ('string',), 'int32', 'int32', 1),
160
+ ('setPhoneMac', 62, ('string',), ('string',), 'int32', 'int32', 1),
161
+ ('sendPhoneVolume',
162
+ 63,
163
+ ('int32', 'int32', 'int32', 'int32'),
164
+ ('int32', 'int32', 'int32', 'int32'),
165
+ 'int32',
166
+ 'int32',
167
+ 4),
168
+ ('setBindedInfo',
169
+ 64,
170
+ ('int32', 'int32', 'int32'),
171
+ ('int32', 'int32', 'int32'),
172
+ 'int32',
173
+ 'int32',
174
+ 3),
175
+ ('setECardInfoCrc', 65, ('e_card_record',), ('typed_object',), 'int32', 'int32', 1),
176
+ ('setECardInfoContent',
177
+ 66,
178
+ ('e_card_record',),
179
+ ('typed_object',),
180
+ 'int32',
181
+ 'int32',
182
+ 1),
183
+ ('setSmsRspInfoCrc',
184
+ 67,
185
+ ('sms_response_record',),
186
+ ('typed_object',),
187
+ 'int32',
188
+ 'int32',
189
+ 1),
190
+ ('setSmsRspInfoContent',
191
+ 68,
192
+ ('sms_response_record',),
193
+ ('typed_object',),
194
+ 'int32',
195
+ 'int32',
196
+ 1),
197
+ ('setSmsRspSendAck', 69, ('int32',), ('int32',), 'int32', 'int32', 1),
198
+ ('startFileOta', 70, ('int32', 'string'), ('int32', 'string'), 'int32', 'int32', 2),
199
+ ('translateBmpToBin',
200
+ 71,
201
+ ('string',
202
+ 'string',
203
+ 'string',
204
+ 'int32',
205
+ 'int32',
206
+ 'int32',
207
+ 'int32',
208
+ 'int32',
209
+ 'int32',
210
+ 'int32',
211
+ 'int32',
212
+ 'int32',
213
+ 'int32',
214
+ 'int32',
215
+ 'int32',
216
+ 'int32'),
217
+ ('string',
218
+ 'string',
219
+ 'string',
220
+ 'int32',
221
+ 'int32',
222
+ 'int32',
223
+ 'int32',
224
+ 'int32',
225
+ 'int32',
226
+ 'int32',
227
+ 'int32',
228
+ 'int32',
229
+ 'int32',
230
+ 'int32',
231
+ 'int32',
232
+ 'int32'),
233
+ 'string',
234
+ 'string',
235
+ 16),
236
+ ('setChatgptContent',
237
+ 72,
238
+ ('int32', 'string'),
239
+ ('int32', 'string'),
240
+ 'int32',
241
+ 'int32',
242
+ 2),
243
+ ('startFactoryTestMode', 73, ('bool',), ('int32',), 'int32', 'int32', 1),
244
+ ('getDialServerInfo', 74, ('string',), ('string',), 'int32', 'int32', 1),
245
+ ('setBloodOxygenMode', 75, ('bool',), ('int32',), 'int32', 'int32', 1),
246
+ ('getEqInfo', 76, (), (), 'int32', 'int32', 0),
247
+ ('setEqInfo2',
248
+ 77,
249
+ ('int32', 'int32', 'int32', 'int32_array'),
250
+ ('int32', 'int32', 'int32', 'int32_array'),
251
+ 'int32',
252
+ 'int32',
253
+ 4),
254
+ ('setWifiHotSpotInfo',
255
+ 78,
256
+ ('string', 'string'),
257
+ ('string', 'string'),
258
+ 'int32',
259
+ 'int32',
260
+ 2),
261
+ ('setWifiHotSpotInfoEx',
262
+ 79,
263
+ ('string', 'string', 'int32'),
264
+ ('string', 'string', 'int32'),
265
+ 'int32',
266
+ 'int32',
267
+ 3),
268
+ ('getWifiState', 80, (), (), 'int32', 'int32', 0),
269
+ ('scanWifi', 81, (), (), 'int32', 'int32', 0),
270
+ ('connectFtp',
271
+ 82,
272
+ ('string', 'string', 'string', 'int32'),
273
+ ('string', 'string', 'string', 'int32'),
274
+ 'int32',
275
+ 'int32',
276
+ 4),
277
+ ('getDeviceFileState', 83, (), (), 'int32', 'int32', 0),
278
+ ('setDeviceFileState', 84, ('int32',), ('int32',), 'int32', 'int32', 1),
279
+ ('getMediaFileState', 85, (), (), 'int32', 'int32', 0),
280
+ ('notifyDownloadFtpFileCompleted', 86, (), (), 'int32', 'int32', 0),
281
+ ('setAILang', 87, ('string',), ('string',), 'int32', 'int32', 1),
282
+ ('getDeviceSystemStateInfo', 88, (), (), 'int32', 'int32', 0),
283
+ ('setAiChatState', 89, ('bool',), ('int32',), 'int32', 'int32', 1),
284
+ ('setGSensorIndState', 90, ('bool',), ('int32',), 'int32', 'int32', 1),
285
+ ('setOfflineSpeechRecognitionState', 91, ('bool',), ('int32',), 'int32', 'int32', 1),
286
+ ('openWifiApMode', 92, ('bool',), ('int32',), 'int32', 'int32', 1),
287
+ ('setAppState', 93, ('int32', 'int32'), ('int32', 'int32'), 'int32', 'int32', 2),
288
+ ('setWorshipInfo', 94, ('int32', 'int32'), ('int32', 'int32'), 'int32', 'int32', 2),
289
+ ('setTouchMode', 95, ('int32',), ('int32',), 'int32', 'int32', 1),
290
+ ('setAiConnectionMethod', 96, ('int32',), ('int32',), 'int32', 'int32', 1),
291
+ ('getOxygenOfflineData', 97, ('int32',), ('int32',), 'int32', 'int32', 1),
292
+ ('getAdvSensorOfflineData', 98, ('int32',), ('int32',), 'int32', 'int32', 1),
293
+ ('openRawDataNotification', 99, ('bool',), ('int32',), 'int32', 'int32', 1),
294
+ ('connectAiServerNotification', 100, ('bool',), ('int32',), 'int32', 'int32', 1),
295
+ ('setAiExtraAction', 101, ('int32',), ('int32',), 'int32', 'int32', 1),
296
+ ('openAiState', 102, ('bool',), ('int32',), 'int32', 'int32', 1),
297
+ ('queryAiState', 103, (), (), 'int32', 'int32', 0),
298
+ ('saveFileToSystemAlbum', 104, ('string',), ('string',), 'int32', 'int32', 1),
299
+ ('openAiAudioState', 105, ('bool',), ('int32',), 'int32', 'int32', 1),
300
+ ('startFtpDownloadTask',
301
+ 106,
302
+ ('string', 'string', 'string', 'int32', 'string'),
303
+ ('string', 'string', 'string', 'int32', 'string'),
304
+ 'void',
305
+ 'void',
306
+ 5),
307
+ ('SetScreenLightTime', 107, ('int32',), ('int32',), 'int32', 'int32', 1),
308
+ ('setAiCommandType', 108, ('int32',), ('int32',), 'int32', 'int32', 1),
309
+ ('queryOfflineSpeechRecognitionState', 109, (), (), 'int32', 'int32', 0),
310
+ ('setSpoMode', 110, ('bool',), ('int32',), 'int32', 'int32', 1),
311
+ ('setSugarMode', 111, ('bool',), ('int32',), 'int32', 'int32', 1),
312
+ ('setPressureMode', 112, ('bool',), ('int32',), 'int32', 'int32', 1))
313
+
314
+ CALLBACK_BINDER_ROWS = (('onAuthSdkResult', 1, ('int32',), ('int32',), 'void', 'void', 1),
315
+ ('onScanCallback',
316
+ 2,
317
+ ('string',
318
+ 'string',
319
+ 'int32',
320
+ 'string',
321
+ 'string',
322
+ 'string',
323
+ 'string',
324
+ 'string',
325
+ 'string'),
326
+ ('string',
327
+ 'string',
328
+ 'int32',
329
+ 'string',
330
+ 'string',
331
+ 'string',
332
+ 'string',
333
+ 'string',
334
+ 'string'),
335
+ 'void',
336
+ 'void',
337
+ 9),
338
+ ('onConnectStateChanged', 3, ('int32',), ('int32',), 'void', 'void', 1),
339
+ ('onAuthDeviceResult', 4, ('int32',), ('int32',), 'void', 'void', 1),
340
+ ('onGetDeviceTime', 5, ('int32', 'string'), ('int32', 'string'), 'void', 'void', 2),
341
+ ('onSetDeviceTime', 6, ('int32',), ('int32',), 'void', 'void', 1),
342
+ ('onSetUserInfo', 7, ('int32',), ('int32',), 'void', 'void', 1),
343
+ ('onGetCurSportData',
344
+ 8,
345
+ ('int32', 'int64', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32'),
346
+ ('int32', 'int64', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32'),
347
+ 'void',
348
+ 'void',
349
+ 8),
350
+ ('onSendVibrationSignal', 9, ('int32',), ('int32',), 'void', 'void', 1),
351
+ ('onSetPhontMode', 10, ('int32',), ('int32',), 'void', 'void', 1),
352
+ ('onSetIdleTime', 11, ('int32',), ('int32',), 'void', 'void', 1),
353
+ ('onSetSleepTime', 12, ('int32',), ('int32',), 'void', 'void', 1),
354
+ ('onGetDeviceBatery', 13, ('int32', 'int32'), ('int32', 'int32'), 'void', 'void', 2),
355
+ ('onGetDeviceInfo',
356
+ 14,
357
+ ('int32', 'string', 'string', 'string', 'int32'),
358
+ ('int32', 'string', 'string', 'string', 'int32'),
359
+ 'void',
360
+ 'void',
361
+ 5),
362
+ ('onSetAlarm', 15, ('int32',), ('int32',), 'void', 'void', 1),
363
+ ('onSetDeviceMode', 16, ('int32',), ('int32',), 'void', 'void', 1),
364
+ ('onSetNotify', 17, ('int32',), ('int32',), 'void', 'void', 1),
365
+ ('onGetSenserData',
366
+ 18,
367
+ ('int32', 'int64', 'int32', 'int32'),
368
+ ('int32', 'int64', 'int32', 'int32'),
369
+ 'void',
370
+ 'void',
371
+ 4),
372
+ ('setAutoHeartMode', 19, ('int32',), ('int32',), 'void', 'void', 1),
373
+ ('onSetDeviceInfo', 20, ('int32',), ('int32',), 'void', 'void', 1),
374
+ ('onSetHourFormat', 21, ('int32',), ('int32',), 'void', 'void', 1),
375
+ ('onGetDataByDay',
376
+ 22,
377
+ ('int32', 'int64', 'int32', 'int32'),
378
+ ('int32', 'int64', 'int32', 'int32'),
379
+ 'void',
380
+ 'void',
381
+ 4),
382
+ ('onGetDataByDayEnd', 23, ('int32', 'int64'), ('int32', 'int64'), 'void', 'void', 2),
383
+ ('onGetDeviceAction', 24, ('int32',), ('int32',), 'void', 'void', 1),
384
+ ('onGetBandFunction',
385
+ 25,
386
+ ('int32', 'bool_array'),
387
+ ('int32', 'bool_array'),
388
+ 'void',
389
+ 'void',
390
+ 2),
391
+ ('onSetLanguage', 26, ('int32',), ('int32',), 'void', 'void', 1),
392
+ ('onSendWeather', 27, ('int32',), ('int32',), 'void', 'void', 1),
393
+ ('onSetAntiLost', 28, ('int32',), ('int32',), 'void', 'void', 1),
394
+ ('onSetBloodPressureMode', 29, ('int32',), ('int32',), 'void', 'void', 1),
395
+ ('onReceiveSensorData',
396
+ 30,
397
+ ('int32', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32'),
398
+ ('int32', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32', 'int32'),
399
+ 'void',
400
+ 'void',
401
+ 8),
402
+ ('onSetBloodOxygenMode', 31, ('int32',), ('int32',), 'void', 'void', 1),
403
+ ('onReceiveSensorOxygenData', 32, ('int32',), ('int32',), 'void', 'void', 1),
404
+ ('onGetMultipleSportData',
405
+ 33,
406
+ ('int32', 'string', 'int32', 'int32'),
407
+ ('int32', 'string', 'int32', 'int32'),
408
+ 'void',
409
+ 'void',
410
+ 4),
411
+ ('onSetGoalStep', 34, ('int32',), ('int32',), 'void', 'void', 1),
412
+ ('onSetDeviceHeartRateArea', 35, ('int32',), ('int32',), 'void', 'void', 1),
413
+ ('onSensorStateChange', 36, ('int32', 'int32'), ('int32', 'int32'), 'void', 'void', 2),
414
+ ('onReadCurrentSportData',
415
+ 37,
416
+ ('int32', 'string', 'int32', 'int32'),
417
+ ('int32', 'string', 'int32', 'int32'),
418
+ 'void',
419
+ 'void',
420
+ 4),
421
+ ('onGetOtaInfo',
422
+ 38,
423
+ ('bool', 'string', 'string'),
424
+ ('int32', 'string', 'string'),
425
+ 'void',
426
+ 'void',
427
+ 3),
428
+ ('onGetOtaUpdate', 39, ('int32', 'int32'), ('int32', 'int32'), 'void', 'void', 2),
429
+ ('onSetDeviceCode', 40, ('int32',), ('int32',), 'void', 'void', 1),
430
+ ('onGetDeviceCode', 41, ('bytes',), ('byte_array',), 'void', 'void', 1),
431
+ ('onCharacteristicChanged',
432
+ 42,
433
+ ('string', 'bytes'),
434
+ ('string', 'byte_array'),
435
+ 'void',
436
+ 'void',
437
+ 2),
438
+ ('onCharacteristicWrite',
439
+ 43,
440
+ ('string', 'bytes', 'int32'),
441
+ ('string', 'byte_array', 'int32'),
442
+ 'void',
443
+ 'void',
444
+ 3),
445
+ ('onSetEcgMode', 44, ('int32', 'int32'), ('int32', 'int32'), 'void', 'void', 2),
446
+ ('onGetEcgValue',
447
+ 45,
448
+ ('int32', 'int32_array'),
449
+ ('int32', 'int32_array'),
450
+ 'void',
451
+ 'void',
452
+ 2),
453
+ ('onGetEcgHistory', 46, ('int64', 'int32'), ('int64', 'int32'), 'void', 'void', 2),
454
+ ('onGetEcgStartEnd',
455
+ 47,
456
+ ('int32', 'int32', 'int64'),
457
+ ('int32', 'int32', 'int64'),
458
+ 'void',
459
+ 'void',
460
+ 3),
461
+ ('onGetEcgHistoryData',
462
+ 48,
463
+ ('int32', 'int32_array'),
464
+ ('int32', 'int32_array'),
465
+ 'void',
466
+ 'void',
467
+ 2),
468
+ ('onSetDeviceName', 49, ('int32',), ('int32',), 'void', 'void', 1),
469
+ ('onGetDeviceRssi', 50, ('int32',), ('int32',), 'void', 'void', 1),
470
+ ('onSetReminder', 51, ('int32',), ('int32',), 'void', 'void', 1),
471
+ ('onSetReminderText', 52, ('int32',), ('int32',), 'void', 'void', 1),
472
+ ('onSetBPAdjust', 53, ('int32',), ('int32',), 'void', 'void', 1),
473
+ ('onSetTemperatureMode', 54, ('int32',), ('int32',), 'void', 'void', 1),
474
+ ('onGetTemperatureData',
475
+ 55,
476
+ ('int32', 'int32'),
477
+ ('int32', 'int32'),
478
+ 'void',
479
+ 'void',
480
+ 2),
481
+ ('onTemperatureModeChange', 56, ('int32',), ('int32',), 'void', 'void', 1),
482
+ ('onGetDeviceDial',
483
+ 57,
484
+ ('string',
485
+ 'string',
486
+ 'int32',
487
+ 'int32',
488
+ 'int32',
489
+ 'int32',
490
+ 'int32',
491
+ 'int32',
492
+ 'int32',
493
+ 'int32',
494
+ 'int32'),
495
+ ('string',
496
+ 'string',
497
+ 'int32',
498
+ 'int32',
499
+ 'int32',
500
+ 'int32',
501
+ 'int32',
502
+ 'int32',
503
+ 'int32',
504
+ 'int32',
505
+ 'int32'),
506
+ 'void',
507
+ 'void',
508
+ 11),
509
+ ('onSetDeviceDialState', 58, (), (), 'void', 'void', 0),
510
+ ('onSetDeviceWallpaperState', 59, (), (), 'void', 'void', 0),
511
+ ('onEditDeviceDialCustom', 60, (), (), 'void', 'void', 0),
512
+ ('onGetDeviceDialCustom',
513
+ 61,
514
+ ('int32', 'int32', 'int32', 'int32'),
515
+ ('int32', 'int32', 'int32', 'int32'),
516
+ 'void',
517
+ 'void',
518
+ 4),
519
+ ('onSetFemaleReminder', 62, (), (), 'void', 'void', 0),
520
+ ('onNotifyClassicBtName', 63, ('string',), ('string',), 'void', 'void', 1),
521
+ ('onNotifyClassicBtInfo',
522
+ 64,
523
+ ('int32', 'int32', 'string', 'string'),
524
+ ('int32', 'int32', 'string', 'string'),
525
+ 'void',
526
+ 'void',
527
+ 4),
528
+ ('onNotifyContactCrc', 65, ('string',), ('string',), 'void', 'void', 1),
529
+ ('onNotifyAppId', 66, ('string',), ('string',), 'void', 'void', 1),
530
+ ('onGetPhoneVolume', 67, (), (), 'void', 'void', 0),
531
+ ('onNotifyBindedInfo', 68, ('int32', 'int32'), ('int32', 'int32'), 'void', 'void', 2),
532
+ ('onGetDeviceState',
533
+ 69,
534
+ ('bool', 'bool', 'bool'),
535
+ ('int32', 'int32', 'int32'),
536
+ 'void',
537
+ 'void',
538
+ 3),
539
+ ('onNotifyECardNeedUpdate', 70, ('bytes',), ('byte_array',), 'void', 'void', 1),
540
+ ('onNotifySmsRspNeedUpdate', 71, ('bytes',), ('byte_array',), 'void', 'void', 1),
541
+ ('onNotifySmsRspSend',
542
+ 72,
543
+ ('int32', 'string'),
544
+ ('int32', 'string'),
545
+ 'void',
546
+ 'void',
547
+ 2),
548
+ ('onGetChatgptAction', 73, ('int32',), ('int32',), 'void', 'void', 1),
549
+ ('onGetFactoryTestData', 74, ('bytes',), ('byte_array',), 'void', 'void', 1),
550
+ ('onNotifyDialJsonContent', 75, ('string',), ('string',), 'void', 'void', 1),
551
+ ('onGetSportSteps', 76, ('int32',), ('int32',), 'void', 'void', 1),
552
+ ('onDeviceTestCmd', 77, (), (), 'void', 'void', 0),
553
+ ('onGetEqInfo2',
554
+ 78,
555
+ ('int32', 'int32', 'int32', 'int32_array'),
556
+ ('int32', 'int32', 'int32', 'int32_array'),
557
+ 'int32',
558
+ 'int32',
559
+ 4),
560
+ ('onSetEqInfo2',
561
+ 79,
562
+ ('int32', 'int32', 'int32', 'int32_array'),
563
+ ('int32', 'int32', 'int32', 'int32_array'),
564
+ 'int32',
565
+ 'int32',
566
+ 4),
567
+ ('onGetWifiState',
568
+ 80,
569
+ ('int32', 'string', 'string', 'string', 'int32'),
570
+ ('int32', 'string', 'string', 'string', 'int32'),
571
+ 'void',
572
+ 'void',
573
+ 5),
574
+ ('onGetWifiSsidCount', 81, ('int32',), ('int32',), 'void', 'void', 1),
575
+ ('onGetWifiSsid',
576
+ 82,
577
+ ('int32', 'int32', 'int32', 'int32', 'string'),
578
+ ('int32', 'int32', 'int32', 'int32', 'string'),
579
+ 'void',
580
+ 'void',
581
+ 5),
582
+ ('onGetDeviceFileState', 83, ('int32',), ('int32',), 'void', 'void', 1),
583
+ ('onNotifyDeviceSystemStateInfo', 84, ('int32',), ('int32',), 'void', 'void', 1),
584
+ ('onGetGSensorData',
585
+ 85,
586
+ ('int32', 'int32_array'),
587
+ ('int32', 'int32_array'),
588
+ 'void',
589
+ 'void',
590
+ 2),
591
+ ('onNotifyFtpStateInfo',
592
+ 86,
593
+ ('int32', 'string', 'int64', 'int32'),
594
+ ('int32', 'string', 'int64', 'int32'),
595
+ 'void',
596
+ 'void',
597
+ 4),
598
+ ('onNotifyNewMediaInfo',
599
+ 87,
600
+ ('int32', 'string', 'string'),
601
+ ('int32', 'string', 'string'),
602
+ 'void',
603
+ 'void',
604
+ 3),
605
+ ('onNotifyDeviceWifiApState', 88, ('int32',), ('int32',), 'void', 'void', 1),
606
+ ('onGetOfflineSpeechRecognitionMode', 89, ('int32',), ('int32',), 'void', 'void', 1),
607
+ ('onGetWorshipInfo', 90, ('int32', 'int32'), ('int32', 'int32'), 'void', 'void', 2),
608
+ ('onGetWorshipTimesData', 91, ('int32',), ('int32',), 'void', 'void', 1),
609
+ ('onGetTouchMode', 92, ('int32',), ('int32',), 'void', 'void', 1),
610
+ ('onNotifyAiConnectionMethod', 93, ('int32',), ('int32',), 'void', 'void', 1),
611
+ ('onGetOxygenOfflineData',
612
+ 94,
613
+ ('int64', 'int32'),
614
+ ('int64', 'int32'),
615
+ 'void',
616
+ 'void',
617
+ 2),
618
+ ('onGetOxygenOfflineDataEnd', 95, ('int64',), ('int64',), 'void', 'void', 1),
619
+ ('onGetAdvSensorOfflineData',
620
+ 96,
621
+ ('int64', 'int32', 'int32', 'int32', 'int32', 'int32'),
622
+ ('int64', 'int32', 'int32', 'int32', 'int32', 'int32'),
623
+ 'void',
624
+ 'void',
625
+ 6),
626
+ ('onGetAdvSensorOfflineDataEnd', 97, ('int64',), ('int64',), 'void', 'void', 1),
627
+ ('onGetAiAction', 98, ('int32',), ('int32',), 'void', 'void', 1),
628
+ ('onGetRawData',
629
+ 99,
630
+ ('int32', 'int32', 'int32', 'int32', 'bytes'),
631
+ ('int32', 'int32', 'int32', 'int32', 'byte_array'),
632
+ 'void',
633
+ 'void',
634
+ 5),
635
+ ('onGetAiState', 100, ('int32', 'int32'), ('int32', 'int32'), 'void', 'void', 2),
636
+ ('onDeviceConnectedWifi',
637
+ 101,
638
+ ('string', 'string', 'string', 'int32', 'string'),
639
+ ('string', 'string', 'string', 'int32', 'string'),
640
+ 'void',
641
+ 'void',
642
+ 5),
643
+ ('onGetScreenLightTime', 102, ('int32',), ('int32',), 'void', 'void', 1),
644
+ ('onRecvDeviceVoiceCommandConfirm', 103, ('int32',), ('int32',), 'void', 'void', 1),
645
+ ('onOpenRawDataNotificationState', 104, ('bool',), ('int32',), 'void', 'void', 1),
646
+ ('onGetAiCommandType', 105, ('int32',), ('int32',), 'void', 'void', 1))
@@ -0,0 +1,14 @@
1
+ """Shared primitives for callback-faithful offline vendor decoding."""
2
+
3
+ from .protocol import ProtocolError
4
+
5
+
6
+ def apk_hex_u32(field: bytes) -> int:
7
+ """Mirror Java Integer.parseInt(hex, 16) for a four-byte LE field."""
8
+
9
+ if len(field) != 4:
10
+ raise ProtocolError("vendor integer field must be exactly four bytes")
11
+ value = int.from_bytes(field, "little")
12
+ if value > 0x7FFFFFFF:
13
+ raise ProtocolError("vendor integer value exceeds APK signed range")
14
+ return value