Phone authorization support for Insta360 GO 3S pair/reconnect flows. Source-compatible with 0.9.x.
Added
Insta360CameraStream.requestPhoneAuthorization(timeoutSeconds:onCameraPromptStarted:)andcancelPhoneAuthorization()expose the GO 3S BLE phone-authorization handshake needed when the camera asks the user to approve a new phone/controller device.Insta360BLEController.phoneAuthorizationDeviceId()returns the SDK-generated authorization device id that host apps should surface withPHONE_AUTH_REQUIREDfailures.PhoneAuthorizationCacheStateandphoneAuthorizationStatuslet hosts distinguish unknown, authorized, and failed authorization cache states per remembered GO 3S identity.- Persistent phone-authorization cache metadata in
Insta360IdentityStorerecords successful authorization by the camera's stable serial suffix and survives Bluetooth UUID rotation.
Changed
- GO 3S connect, standalone pair, and adopt flows now fail fast with
phoneAuthorizationRequired(uuid:deviceId:)on phone-authorization cache miss, so the host can present an explicit modal before any camera-side approval UI is triggered. - GO 3S phone authorization now treats the initial SDK
.unauthorizedstatus as "waiting for camera user decision" and waits forINSCameraAuthorizationResultNotificationbefore resolving success, reject, timeout, or system-busy outcomes. SyncFieldVersion.currentbumped to0.9.6.
Fixed
- Unauthorized GO 3S cameras no longer continue into clock sync / Wi-Fi credential reads where the command channel would fail later with ambiguous SDK errors.