@mentra/bluetooth-sdk 3.3.0-dev.382 → 3.3.0-dev.391
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.
- package/android/src/main/java/com/mentra/bluetoothsdk/DeviceManager.kt +7 -3
- package/android/src/main/java/com/mentra/bluetoothsdk/GeneratedReleaseMetadata.kt +5 -5
- package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/G1.kt +2 -2
- package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/G2.kt +8 -7
- package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/MentraLive.kt +15 -10
- package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/MentraNex.kt +12 -8
- package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/SelectedDeviceAddress.kt +17 -0
- package/android/src/test/java/com/mentra/bluetoothsdk/DeviceIdentityPairingTest.kt +59 -0
- package/android/src/test/java/com/mentra/bluetoothsdk/sgcs/G1PairingTest.kt +105 -0
- package/android/src/test/java/com/mentra/bluetoothsdk/sgcs/G2PairingTargetTest.kt +90 -0
- package/android/src/test/java/com/mentra/bluetoothsdk/sgcs/MentraLivePairingTargetTest.kt +65 -0
- package/android/src/test/java/com/mentra/bluetoothsdk/sgcs/MentraNexPairingTest.kt +151 -0
- package/android/src/test/java/com/mentra/bluetoothsdk/sgcs/SelectedDeviceAddressTest.kt +27 -0
- package/build/generated/releaseMetadata.js +5 -5
- package/build/generated/releaseMetadata.js.map +1 -1
- package/ios/Source/BluetoothSdkDefaults.swift +1 -1
- package/ios/Source/DeviceManager.swift +7 -3
- package/ios/Source/GeneratedReleaseMetadata.swift +5 -5
- package/ios/Source/sgcs/G1.swift +21 -6
- package/ios/Source/sgcs/G1ConnectionTarget.swift +13 -0
- package/ios/Source/sgcs/Mach1.swift +19 -7
- package/ios/Source/sgcs/MentraLive.swift +5 -2
- package/ios/Source/sgcs/MentraNex.swift +8 -31
- package/ios/Source/sgcs/NexConnectionTarget.swift +15 -0
- package/ios/Source/sgcs/VuzixConnectionTarget.swift +15 -0
- package/ios/Tests/DeviceIdentityPairingTests.swift +49 -0
- package/ios/Tests/SGCConnectionTargetTests.swift +48 -0
- package/ios/Tests/VersionInfoCommandTests.swift +53 -0
- package/package.json +2 -2
- package/src/generated/releaseMetadata.ts +5 -5
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
@testable import MentraBluetoothSDK
|
|
2
|
+
import XCTest
|
|
3
|
+
|
|
4
|
+
@MainActor
|
|
5
|
+
private final class VersionInfoCommandTransport: MentraLive {
|
|
6
|
+
var requestId: String?
|
|
7
|
+
|
|
8
|
+
override func sendJson(_ jsonOriginal: [String: Any], wakeUp: Bool, requireAck: Bool) {
|
|
9
|
+
XCTAssertEqual(jsonOriginal["type"] as? String, "request_version")
|
|
10
|
+
XCTAssertTrue(wakeUp, "An idle ASG must wake to finish its version response")
|
|
11
|
+
XCTAssertTrue(requireAck)
|
|
12
|
+
do {
|
|
13
|
+
let bytes = try JSONSerialization.data(withJSONObject: jsonOriginal)
|
|
14
|
+
let command = try XCTUnwrap(JSONSerialization.jsonObject(with: bytes) as? [String: Any])
|
|
15
|
+
let id = try XCTUnwrap(command["request_id"] as? String)
|
|
16
|
+
requestId = id
|
|
17
|
+
let common: [String: Any] = ["request_id": id, "sid": "asg-1", "chunkCount": 2]
|
|
18
|
+
for chunk: [String: Any] in [
|
|
19
|
+
["type": "version_info_1", "chunkIndex": 1, "final": false,
|
|
20
|
+
"build_number": "303000008", "app_version": "3.3.0"],
|
|
21
|
+
["type": "version_info_3", "chunkIndex": 2, "final": true,
|
|
22
|
+
"bes_fw_version": "26.9.23.0", "mtk_fw_version": "MentraLive_20260921.0"],
|
|
23
|
+
] {
|
|
24
|
+
let response = common.merging(chunk) { _, value in value }
|
|
25
|
+
try processReceivedData(JSONSerialization.data(withJSONObject: response))
|
|
26
|
+
}
|
|
27
|
+
} catch {
|
|
28
|
+
XCTFail("Could not replay version request: \(error)")
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
@MainActor
|
|
34
|
+
final class VersionInfoCommandTests: XCTestCase {
|
|
35
|
+
func testPublicVersionRequestWakesGlassesAndCombinesBothResponseChunks() async throws {
|
|
36
|
+
let previous = DeviceManager.shared.sgc
|
|
37
|
+
let transport = VersionInfoCommandTransport()
|
|
38
|
+
DeviceManager.shared.sgc = transport
|
|
39
|
+
let sdk = MentraBluetoothSDK()
|
|
40
|
+
defer {
|
|
41
|
+
sdk.invalidate()
|
|
42
|
+
DeviceManager.shared.sgc = previous
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
let result = try await sdk.requestVersionInfo()
|
|
46
|
+
|
|
47
|
+
XCTAssertNotNil(transport.requestId)
|
|
48
|
+
XCTAssertEqual(result.buildNumber, "303000008")
|
|
49
|
+
XCTAssertEqual(result.appVersion, "3.3.0")
|
|
50
|
+
XCTAssertEqual(result.besFirmwareVersion, "26.9.23.0")
|
|
51
|
+
XCTAssertEqual(result.mtkFirmwareVersion, "MentraLive_20260921.0")
|
|
52
|
+
}
|
|
53
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mentra/bluetooth-sdk",
|
|
3
|
-
"version": "3.3.0-dev.
|
|
3
|
+
"version": "3.3.0-dev.391",
|
|
4
4
|
"description": "SDK for communicating with smart glasses",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"react-native": "src/index.ts",
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
"registry": "https://registry.npmjs.org/"
|
|
115
115
|
},
|
|
116
116
|
"dependencies": {
|
|
117
|
-
"@mentra/cloud-protocol": "3.3.0-dev.
|
|
117
|
+
"@mentra/cloud-protocol": "3.3.0-dev.391"
|
|
118
118
|
},
|
|
119
119
|
"devDependencies": {
|
|
120
120
|
"@types/node": "^25.9.3",
|
|
@@ -12,9 +12,9 @@ export interface BluetoothSdkReleaseMetadata {
|
|
|
12
12
|
export const BLUETOOTH_SDK_RELEASE_METADATA: Readonly<BluetoothSdkReleaseMetadata> = Object.freeze({
|
|
13
13
|
"schemaVersion": 1,
|
|
14
14
|
"familyBaseVersion": "3.3.0",
|
|
15
|
-
"releaseIdentity": "3.3.0-dev.
|
|
16
|
-
"releaseSetId": "mentra-3.3.0-dev.
|
|
17
|
-
"sourceCommit": "
|
|
18
|
-
"otaManifestUrl": "https://artifactscdn.mentraglass.com/Mentra-Community/MentraOS/releases/mentra-builds-v3.3.0/mentra-live-ota-3.3.0-dev.
|
|
19
|
-
"otaManifestSha256": "
|
|
15
|
+
"releaseIdentity": "3.3.0-dev.391",
|
|
16
|
+
"releaseSetId": "mentra-3.3.0-dev.391",
|
|
17
|
+
"sourceCommit": "2763761a9cff7660e63412e9d006b4e20033f90b",
|
|
18
|
+
"otaManifestUrl": "https://artifactscdn.mentraglass.com/Mentra-Community/MentraOS/releases/mentra-builds-v3.3.0/mentra-live-ota-3.3.0-dev.391.json",
|
|
19
|
+
"otaManifestSha256": "c079797bc98050c666d513a4960fd41a6fb5dba5ea809f876954633ae08621fa"
|
|
20
20
|
})
|