forked from BasedHardware/omi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrayban_meta_bridge.dart
More file actions
73 lines (61 loc) · 2.24 KB
/
Copy pathrayban_meta_bridge.dart
File metadata and controls
73 lines (61 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import 'dart:typed_data';
import 'package:omi/gen/pigeon_communicator.g.dart';
/// Public bridge that implements Pigeon callbacks and forwards them to Dart-side listeners.
class RayBanMetaFlutterBridge implements RayBanMetaFlutterAPI {
final void Function(String state)? onRegistrationStateChangedCb;
final void Function(RayBanMetaGlasses glasses)? onGlassesDiscoveredCb;
final void Function(String deviceId, String state)? onConnectionStateChangedCb;
final void Function(Uint8List pcm16Frame, double sampleRate)? onAudioFrameCb;
final void Function(bool glassesRouteActive)? onAudioRouteChangedCb;
final void Function(Uint8List jpegBytes, int orientationDegrees)? onPhotoCapturedCb;
final void Function(String state)? onCameraStateChangedCb;
final void Function(String status)? onCameraPermissionChangedCb;
final void Function(String code, String message)? onErrorCb;
RayBanMetaFlutterBridge({
this.onRegistrationStateChangedCb,
this.onGlassesDiscoveredCb,
this.onConnectionStateChangedCb,
this.onAudioFrameCb,
this.onAudioRouteChangedCb,
this.onPhotoCapturedCb,
this.onCameraStateChangedCb,
this.onCameraPermissionChangedCb,
this.onErrorCb,
});
@override
void onRegistrationStateChanged(String state) {
onRegistrationStateChangedCb?.call(state);
}
@override
void onGlassesDiscovered(RayBanMetaGlasses glasses) {
onGlassesDiscoveredCb?.call(glasses);
}
@override
void onConnectionStateChanged(String deviceId, String state) {
onConnectionStateChangedCb?.call(deviceId, state);
}
@override
void onAudioFrame(Uint8List pcm16Frame, double sampleRate) {
onAudioFrameCb?.call(pcm16Frame, sampleRate);
}
@override
void onAudioRouteChanged(bool glassesRouteActive) {
onAudioRouteChangedCb?.call(glassesRouteActive);
}
@override
void onPhotoCaptured(Uint8List jpegBytes, int orientationDegrees) {
onPhotoCapturedCb?.call(jpegBytes, orientationDegrees);
}
@override
void onCameraStateChanged(String state) {
onCameraStateChangedCb?.call(state);
}
@override
void onCameraPermissionChanged(String status) {
onCameraPermissionChangedCb?.call(status);
}
@override
void onError(String code, String message) {
onErrorCb?.call(code, message);
}
}