react-native-flic2 2.0.0-beta.2 → 2.0.0-beta.21

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.
@@ -1,4 +1,4 @@
1
- package com.flic2
1
+ package nl.xguard.flic2
2
2
 
3
3
  import android.app.Notification
4
4
  import android.app.NotificationChannel
@@ -29,7 +29,7 @@ class Flic2Service : Service() {
29
29
  private const val TAG = "Flic2Service"
30
30
  private const val DEFAULT_NOTIFICATION_ID = 123321
31
31
  private const val DEFAULT_CHANNEL_ID = "Notification_Channel_Flic2Service"
32
-
32
+
33
33
  // Metadata keys for notification configuration
34
34
  private const val KEY_CHANNEL_NAME = "nl.xguard.flic2.notification_channel_name"
35
35
  private const val KEY_CHANNEL_DESCRIPTION = "nl.xguard.flic2.notification_channel_description"
@@ -101,8 +101,7 @@ class Flic2Service : Service() {
101
101
  if (!isServiceStarted && notification != null) {
102
102
  isServiceStarted = true
103
103
  try {
104
- val notificationId = getNotificationId()
105
- startForeground(notificationId, notification)
104
+ startForeground(getNotificationId(), notification)
106
105
  } catch (e: Exception) {
107
106
  Log.w(TAG, "startForegroundService() exception", e)
108
107
  }
@@ -118,21 +117,16 @@ class Flic2Service : Service() {
118
117
 
119
118
  private fun createNotificationChannel() {
120
119
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
121
- val channelId = getChannelId()
122
- val channelName = getChannelName()
123
- val channelDescription = getChannelDescription()
124
-
125
120
  val channel = NotificationChannel(
126
- channelId,
127
- channelName,
121
+ getChannelId(),
122
+ getChannelName(),
128
123
  NotificationManager.IMPORTANCE_LOW
129
124
  ).apply {
130
- description = channelDescription
125
+ description = getChannelDescription()
131
126
  setShowBadge(false)
132
127
  }
133
128
 
134
- val notificationManager = getSystemService(NotificationManager::class.java)
135
- notificationManager.createNotificationChannel(channel)
129
+ getSystemService(NotificationManager::class.java).createNotificationChannel(channel)
136
130
  }
137
131
  }
138
132
 
@@ -145,15 +139,10 @@ class Flic2Service : Service() {
145
139
  PendingIntent.FLAG_IMMUTABLE
146
140
  )
147
141
 
148
- val channelId = getChannelId()
149
- val title = getNotificationTitle()
150
- val text = getNotificationText()
151
- val icon = getNotificationIcon()
152
-
153
- return NotificationCompat.Builder(this, channelId)
154
- .setContentTitle(title)
155
- .setContentText(text)
156
- .setSmallIcon(icon)
142
+ return NotificationCompat.Builder(this, getChannelId())
143
+ .setContentTitle(getNotificationTitle())
144
+ .setContentText(getNotificationText())
145
+ .setSmallIcon(getNotificationIcon())
157
146
  .setContentIntent(pendingIntent)
158
147
  .setPriority(NotificationCompat.PRIORITY_LOW)
159
148
  .setOngoing(true)
package/ios/Flic2.mm CHANGED
@@ -18,7 +18,7 @@
18
18
  FLICManager *manager = [FLICManager configureWithDelegate:self buttonDelegate:self background:background];
19
19
 
20
20
  if (manager) {
21
- resolve(@{@"success": @YES, @"message": @"Manager initialized successfully"});
21
+ resolve(nil);
22
22
  } else {
23
23
  reject(@"INIT_ERROR", @"Failed to initialize FLICManager", nil);
24
24
  }
@@ -32,11 +32,6 @@
32
32
  return;
33
33
  }
34
34
 
35
- if (!self.managerRestored) {
36
- reject(@"NOT_RESTORED", @"Manager not restored yet. Wait for managerDidRestoreState", nil);
37
- return;
38
- }
39
-
40
35
  NSArray<FLICButton *> *buttons = [[FLICManager sharedManager] buttons];
41
36
  NSMutableArray *buttonDicts = [[NSMutableArray alloc] init];
42
37
 
@@ -114,7 +109,7 @@
114
109
  }];
115
110
 
116
111
  // Return immediately - scan results will come through events
117
- resolve(@{@"success": @YES, @"message": @"Scan started"});
112
+ resolve(nil);
118
113
  }
119
114
 
120
115
  - (void)stopScan:(RCTPromiseResolveBlock)resolve
@@ -128,7 +123,7 @@
128
123
  NSLog(@"Stopping scan");
129
124
  [[FLICManager sharedManager] stopScan];
130
125
 
131
- resolve(@{@"success": @YES, @"message": @"Scan stopped"});
126
+ resolve(nil);
132
127
  }
133
128
 
134
129
  - (void)forgetButton:(NSString *)uuid
@@ -154,7 +149,7 @@
154
149
  if (error) {
155
150
  reject(@"FORGET_ERROR", error.localizedDescription, error);
156
151
  } else {
157
- resolve(@{@"success": @YES, @"message": @"Button forgotten"});
152
+ resolve(nil);
158
153
  }
159
154
  }];
160
155
  }
@@ -173,7 +168,7 @@
173
168
  }
174
169
 
175
170
  [button connect];
176
- resolve(@{@"success": @YES, @"message": @"Connection initiated"});
171
+ resolve([self buttonToDictionary:button]);
177
172
  }
178
173
 
179
174
  - (void)disconnectButton:(NSString *)uuid
@@ -188,10 +183,10 @@
188
183
  }
189
184
 
190
185
  [button disconnect];
191
- resolve(@{@"success": @YES, @"message": @"Disconnection initiated"});
186
+ resolve([self buttonToDictionary:button]);
192
187
  }
193
188
 
194
- - (void)setTriggerMode:(NSString *)uuid mode:(NSInteger)mode
189
+ - (void)setTriggerMode:(NSString *)uuid mode:(double)mode
195
190
  resolve:(RCTPromiseResolveBlock)resolve
196
191
  reject:(RCTPromiseRejectBlock)reject
197
192
  {
@@ -202,11 +197,11 @@
202
197
  return;
203
198
  }
204
199
 
205
- button.triggerMode = (FLICButtonTriggerMode)mode;
206
- resolve(@{@"success": @YES, @"message": @"Trigger mode set"});
200
+ button.triggerMode = (FLICButtonTriggerMode)((NSInteger)mode);
201
+ resolve([self buttonToDictionary:button]);
207
202
  }
208
203
 
209
- - (void)setLatencyMode:(NSString *)uuid mode:(NSInteger)mode
204
+ - (void)setLatencyMode:(NSString *)uuid mode:(double)mode
210
205
  resolve:(RCTPromiseResolveBlock)resolve
211
206
  reject:(RCTPromiseRejectBlock)reject
212
207
  {
@@ -217,8 +212,8 @@
217
212
  return;
218
213
  }
219
214
 
220
- button.latencyMode = (FLICLatencyMode)mode;
221
- resolve(@{@"success": @YES, @"message": @"Latency mode set"});
215
+ button.latencyMode = (FLICLatencyMode)((NSInteger)mode);
216
+ resolve([self buttonToDictionary:button]);
222
217
  }
223
218
 
224
219
  - (void)setNickname:(NSString *)uuid nickname:(NSString *)nickname
@@ -233,7 +228,7 @@
233
228
  }
234
229
 
235
230
  button.nickname = nickname;
236
- resolve(@{@"success": @YES, @"message": @"Nickname set"});
231
+ resolve([self buttonToDictionary:button]);
237
232
  }
238
233
 
239
234
  // MARK: - Helper Methods
@@ -254,7 +249,7 @@
254
249
  [button connect];
255
250
  }
256
251
 
257
- resolve(@{@"success": @YES, @"message": @"All buttons connection initiated"});
252
+ resolve(nil);
258
253
  }
259
254
 
260
255
  - (void)disconnectAllKnownButtons:(RCTPromiseResolveBlock)resolve
@@ -272,7 +267,7 @@
272
267
  [button disconnect];
273
268
  }
274
269
 
275
- resolve(@{@"success": @YES, @"message": @"All buttons disconnection initiated"});
270
+ resolve(nil);
276
271
  }
277
272
 
278
273
  - (void)forgetAllButtons:(RCTPromiseResolveBlock)resolve
@@ -292,7 +287,7 @@
292
287
  }];
293
288
  }
294
289
 
295
- resolve(@{@"success": @YES, @"message": @"All buttons forgotten"});
290
+ resolve(nil);
296
291
  }
297
292
 
298
293
  - (void)isScanning:(RCTPromiseResolveBlock)resolve
@@ -310,17 +305,23 @@
310
305
  // MARK: - FLICManagerDelegate
311
306
 
312
307
  - (void)managerDidRestoreState:(FLICManager *)manager {
313
- self.managerRestored = YES;
314
- NSLog(@"Manager state restored - ready for operations");
315
- dispatch_async(dispatch_get_main_queue(), ^{
316
- [self emitOnManagerStateChange:@{
317
- @"event": @"restored",
318
- @"message": @"Manager state restored"
319
- }];
320
- });
308
+ // Only emit restored event if we haven't already done so
309
+ if (!self.managerRestored) {
310
+ self.managerRestored = YES;
311
+ NSLog(@"Manager state restored - ready for operations");
312
+ dispatch_async(dispatch_get_main_queue(), ^{
313
+ [self emitOnManagerStateChange:@{
314
+ @"event": @"restored",
315
+ @"state": @(manager.state),
316
+ @"stateName": [self managerStateToString:manager.state],
317
+ @"message": @"Manager state restored"
318
+ }];
319
+ });
320
+ }
321
321
  }
322
322
 
323
323
  - (void)manager:(FLICManager *)manager didUpdateState:(FLICManagerState)state {
324
+ // Always emit stateChanged for every state change
324
325
  dispatch_async(dispatch_get_main_queue(), ^{
325
326
  [self emitOnManagerStateChange:@{
326
327
  @"state": @(state),
@@ -328,6 +329,21 @@
328
329
  @"event": @"stateChanged"
329
330
  }];
330
331
  });
332
+
333
+ // Additionally emit restored event when manager becomes powered on (if not already restored)
334
+ // This ensures the event fires on every app launch, not just during state restoration
335
+ if (state == FLICManagerStatePoweredOn && !self.managerRestored) {
336
+ self.managerRestored = YES;
337
+ NSLog(@"Manager powered on - ready for operations");
338
+ dispatch_async(dispatch_get_main_queue(), ^{
339
+ [self emitOnManagerStateChange:@{
340
+ @"event": @"restored",
341
+ @"state": @(state),
342
+ @"stateName": [self managerStateToString:state],
343
+ @"message": @"Manager ready"
344
+ }];
345
+ });
346
+ }
331
347
  }
332
348
 
333
349
  // MARK: - FLICButtonDelegate
@@ -0,0 +1,5 @@
1
+ #import <Flic2Spec/Flic2Spec.h>
2
+
3
+ @interface Flic2 : NativeFlic2SpecBase <NativeFlic2Spec>
4
+
5
+ @end
@@ -0,0 +1,134 @@
1
+ #import "Flic2SimulatorStub.h"
2
+ #import <React/RCTBridgeModule.h>
3
+
4
+ @implementation Flic2
5
+
6
+ - (void)initialize:(BOOL)background
7
+ resolve:(RCTPromiseResolveBlock)resolve
8
+ reject:(RCTPromiseRejectBlock)reject
9
+ {
10
+ resolve(nil);
11
+ }
12
+
13
+ - (void)getButtons:(RCTPromiseResolveBlock)resolve
14
+ reject:(RCTPromiseRejectBlock)reject
15
+ {
16
+ resolve(@[]);
17
+ }
18
+
19
+ - (void)scanForButtons:(RCTPromiseResolveBlock)resolve
20
+ reject:(RCTPromiseRejectBlock)reject
21
+ {
22
+ resolve(nil);
23
+ }
24
+
25
+ - (void)stopScan:(RCTPromiseResolveBlock)resolve
26
+ reject:(RCTPromiseRejectBlock)reject
27
+ {
28
+ resolve(nil);
29
+ }
30
+
31
+ - (void)forgetButton:(NSString *)uuid
32
+ resolve:(RCTPromiseResolveBlock)resolve
33
+ reject:(RCTPromiseRejectBlock)reject
34
+ {
35
+ resolve(nil);
36
+ }
37
+
38
+ - (void)connectAllKnownButtons:(RCTPromiseResolveBlock)resolve
39
+ reject:(RCTPromiseRejectBlock)reject
40
+ {
41
+ resolve(nil);
42
+ }
43
+
44
+ - (void)disconnectAllKnownButtons:(RCTPromiseResolveBlock)resolve
45
+ reject:(RCTPromiseRejectBlock)reject
46
+ {
47
+ resolve(nil);
48
+ }
49
+
50
+ - (void)forgetAllButtons:(RCTPromiseResolveBlock)resolve
51
+ reject:(RCTPromiseRejectBlock)reject
52
+ {
53
+ resolve(nil);
54
+ }
55
+
56
+ - (void)isScanning:(RCTPromiseResolveBlock)resolve
57
+ reject:(RCTPromiseRejectBlock)reject
58
+ {
59
+ resolve(@(NO));
60
+ }
61
+
62
+ - (void)connectButton:(NSString *)uuid
63
+ resolve:(RCTPromiseResolveBlock)resolve
64
+ reject:(RCTPromiseRejectBlock)reject
65
+ {
66
+ resolve([self emptyButtonDictionary:uuid]);
67
+ }
68
+
69
+ - (void)disconnectButton:(NSString *)uuid
70
+ resolve:(RCTPromiseResolveBlock)resolve
71
+ reject:(RCTPromiseRejectBlock)reject
72
+ {
73
+ resolve([self emptyButtonDictionary:uuid]);
74
+ }
75
+
76
+ - (void)setTriggerMode:(NSString *)uuid mode:(double)mode
77
+ resolve:(RCTPromiseResolveBlock)resolve
78
+ reject:(RCTPromiseRejectBlock)reject
79
+ {
80
+ resolve([self emptyButtonDictionary:uuid]);
81
+ }
82
+
83
+ - (void)setLatencyMode:(NSString *)uuid mode:(double)mode
84
+ resolve:(RCTPromiseResolveBlock)resolve
85
+ reject:(RCTPromiseRejectBlock)reject
86
+ {
87
+ resolve([self emptyButtonDictionary:uuid]);
88
+ }
89
+
90
+ - (void)setNickname:(NSString *)uuid nickname:(NSString *)nickname
91
+ resolve:(RCTPromiseResolveBlock)resolve
92
+ reject:(RCTPromiseRejectBlock)reject
93
+ {
94
+ NSMutableDictionary *button = [[self emptyButtonDictionary:uuid] mutableCopy];
95
+ button[@"nickname"] = nickname ?: @"";
96
+ resolve(button);
97
+ }
98
+
99
+ - (NSDictionary *)emptyButtonDictionary:(NSString *)uuid
100
+ {
101
+ NSString *safeUuid = uuid ?: @"";
102
+ return @{
103
+ @"uuid": safeUuid,
104
+ @"identifier": safeUuid,
105
+ @"name": @"",
106
+ @"nickname": @"",
107
+ @"bluetoothAddress": @"",
108
+ @"serialNumber": @"",
109
+ @"state": @(0),
110
+ @"stateName": @"disconnected",
111
+ @"triggerMode": @(0),
112
+ @"triggerModeName": @"clickAndHold",
113
+ @"latencyMode": @(0),
114
+ @"latencyModeName": @"normal",
115
+ @"pressCount": @(0),
116
+ @"firmwareRevision": @(0),
117
+ @"isReady": @(NO),
118
+ @"batteryVoltage": @(0),
119
+ @"isUnpaired": @(NO)
120
+ };
121
+ }
122
+
123
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
124
+ (const facebook::react::ObjCTurboModule::InitParams &)params
125
+ {
126
+ return std::make_shared<facebook::react::NativeFlic2SpecJSI>(params);
127
+ }
128
+
129
+ + (NSString *)moduleName
130
+ {
131
+ return @"Flic2";
132
+ }
133
+
134
+ @end
@@ -36,5 +36,49 @@ export let ScanResult = /*#__PURE__*/function (ScanResult) {
36
36
 
37
37
  // MARK: - Spec Interface
38
38
 
39
- export default TurboModuleRegistry.getEnforcing('Flic2');
39
+ const createFallbackButton = uuid => ({
40
+ uuid,
41
+ identifier: uuid,
42
+ name: '',
43
+ nickname: '',
44
+ bluetoothAddress: '',
45
+ serialNumber: '',
46
+ state: 0,
47
+ stateName: 'disconnected',
48
+ triggerMode: 0,
49
+ triggerModeName: 'clickAndHold',
50
+ latencyMode: 0,
51
+ latencyModeName: 'normal',
52
+ pressCount: 0,
53
+ firmwareRevision: 0,
54
+ isReady: false,
55
+ batteryVoltage: 0,
56
+ isUnpaired: false
57
+ });
58
+ const fallbackEventEmitter = () => ({
59
+ remove: () => undefined
60
+ });
61
+ const fallbackModule = {
62
+ initialize: async _background => undefined,
63
+ getButtons: async () => [],
64
+ scanForButtons: async () => undefined,
65
+ stopScan: async () => undefined,
66
+ forgetButton: async _uuid => undefined,
67
+ connectAllKnownButtons: async () => undefined,
68
+ disconnectAllKnownButtons: async () => undefined,
69
+ forgetAllButtons: async () => undefined,
70
+ isScanning: async () => false,
71
+ connectButton: async uuid => createFallbackButton(uuid),
72
+ disconnectButton: async uuid => createFallbackButton(uuid),
73
+ setTriggerMode: async (uuid, _mode) => createFallbackButton(uuid),
74
+ setLatencyMode: async (uuid, _mode) => createFallbackButton(uuid),
75
+ setNickname: async (uuid, nickname) => ({
76
+ ...createFallbackButton(uuid),
77
+ nickname
78
+ }),
79
+ onManagerStateChange: fallbackEventEmitter,
80
+ onScanStatusChange: fallbackEventEmitter,
81
+ onButtonEvent: fallbackEventEmitter
82
+ };
83
+ export default TurboModuleRegistry.get('Flic2') ?? fallbackModule;
40
84
  //# sourceMappingURL=NativeFlic2.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","ScanResult","getEnforcing"],"sourceRoot":"../../src","sources":["NativeFlic2.ts"],"mappings":";;AAAA,SACEA,mBAAmB,QAGd,cAAc;;AAErB;;AASA,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;;AA6DtB;;AAgDA;;AAKA;;AAwCA,eAAeD,mBAAmB,CAACE,YAAY,CAAO,OAAO,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","ScanResult","createFallbackButton","uuid","identifier","name","nickname","bluetoothAddress","serialNumber","state","stateName","triggerMode","triggerModeName","latencyMode","latencyModeName","pressCount","firmwareRevision","isReady","batteryVoltage","isUnpaired","fallbackEventEmitter","remove","undefined","fallbackModule","initialize","_background","getButtons","scanForButtons","stopScan","forgetButton","_uuid","connectAllKnownButtons","disconnectAllKnownButtons","forgetAllButtons","isScanning","connectButton","disconnectButton","setTriggerMode","_mode","setLatencyMode","setNickname","onManagerStateChange","onScanStatusChange","onButtonEvent","get"],"sourceRoot":"../../src","sources":["NativeFlic2.ts"],"mappings":";;AAAA,SACEA,mBAAmB,QAGd,cAAc;;AAErB;;AASA,WAAYC,UAAU,0BAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;;AA+DtB;;AAgDA;;AAKA;;AAwCA,MAAMC,oBAAoB,GAAIC,IAAY,KAAkB;EAC1DA,IAAI;EACJC,UAAU,EAAED,IAAI;EAChBE,IAAI,EAAE,EAAE;EACRC,QAAQ,EAAE,EAAE;EACZC,gBAAgB,EAAE,EAAE;EACpBC,YAAY,EAAE,EAAE;EAChBC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAE,cAAc;EACzBC,WAAW,EAAE,CAAC;EACdC,eAAe,EAAE,cAAc;EAC/BC,WAAW,EAAE,CAAC;EACdC,eAAe,EAAE,QAAQ;EACzBC,UAAU,EAAE,CAAC;EACbC,gBAAgB,EAAE,CAAC;EACnBC,OAAO,EAAE,KAAK;EACdC,cAAc,EAAE,CAAC;EACjBC,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,MAAMC,oBAAoB,GAAIA,CAAA,MAAO;EAAEC,MAAM,EAAEA,CAAA,KAAMC;AAAU,CAAC,CAA6C;AAE7G,MAAMC,cAAc,GAAG;EACrBC,UAAU,EAAE,MAAOC,WAAoB,IAAKH,SAAS;EACrDI,UAAU,EAAE,MAAAA,CAAA,KAAY,EAAE;EAC1BC,cAAc,EAAE,MAAAA,CAAA,KAAYL,SAAS;EACrCM,QAAQ,EAAE,MAAAA,CAAA,KAAYN,SAAS;EAC/BO,YAAY,EAAE,MAAOC,KAAa,IAAKR,SAAS;EAChDS,sBAAsB,EAAE,MAAAA,CAAA,KAAYT,SAAS;EAC7CU,yBAAyB,EAAE,MAAAA,CAAA,KAAYV,SAAS;EAChDW,gBAAgB,EAAE,MAAAA,CAAA,KAAYX,SAAS;EACvCY,UAAU,EAAE,MAAAA,CAAA,KAAY,KAAK;EAC7BC,aAAa,EAAE,MAAOhC,IAAY,IAAKD,oBAAoB,CAACC,IAAI,CAAC;EACjEiC,gBAAgB,EAAE,MAAOjC,IAAY,IAAKD,oBAAoB,CAACC,IAAI,CAAC;EACpEkC,cAAc,EAAE,MAAAA,CAAOlC,IAAY,EAAEmC,KAAa,KAAKpC,oBAAoB,CAACC,IAAI,CAAC;EACjFoC,cAAc,EAAE,MAAAA,CAAOpC,IAAY,EAAEmC,KAAa,KAAKpC,oBAAoB,CAACC,IAAI,CAAC;EACjFqC,WAAW,EAAE,MAAAA,CAAOrC,IAAY,EAAEG,QAAgB,MAAM;IACtD,GAAGJ,oBAAoB,CAACC,IAAI,CAAC;IAC7BG;EACF,CAAC,CAAC;EACFmC,oBAAoB,EAAErB,oBAAoB;EAC1CsB,kBAAkB,EAAEtB,oBAA6D;EACjFuB,aAAa,EAAEvB;AACjB,CAAS;AAET,eAAepB,mBAAmB,CAAC4C,GAAG,CAAO,OAAO,CAAC,IAAIrB,cAAc","ignoreList":[]}
@@ -11,10 +11,6 @@ class Flic2 {
11
11
  * @version 2.0.0
12
12
  */
13
13
  constructor() {
14
- // generate a random session ID for the instance
15
- this.sessionId = Math.random().toString(36).substring(2, 15);
16
- console.log('Created new Flic2 instance with sessionId', this.sessionId);
17
-
18
14
  // create event emitter
19
15
  this.eventEmitter = new TypedEmitter();
20
16
 
@@ -37,12 +33,8 @@ class Flic2 {
37
33
  }
38
34
 
39
35
  // initialize the Flic2 manager in background
40
- const result = await NativeFlic2.initialize(true);
41
- if (!result.success) {
42
- throw new Error(result.message);
43
- }
36
+ await NativeFlic2.initialize(true);
44
37
  this.onInitialized();
45
- return true;
46
38
  }
47
39
 
48
40
  /**
@@ -130,7 +122,7 @@ class Flic2 {
130
122
  * Connect a button.
131
123
  *
132
124
  * @param uuid - The UUID of the button to connect.
133
- * @returns A promise that resolves when the button is connected.
125
+ * @returns A promise that resolves with the button when the connection is initiated.
134
126
  */
135
127
  buttonConnect(uuid) {
136
128
  return NativeFlic2.connectButton(uuid);
@@ -140,7 +132,7 @@ class Flic2 {
140
132
  * Disconnect a button.
141
133
  *
142
134
  * @param uuid - The UUID of the button to disconnect.
143
- * @returns A promise that resolves when the button is disconnected.
135
+ * @returns A promise that resolves with the button when the disconnection is initiated.
144
136
  */
145
137
  buttonDisconnect(uuid) {
146
138
  return NativeFlic2.disconnectButton(uuid);
@@ -151,7 +143,7 @@ class Flic2 {
151
143
  *
152
144
  * @param uuid - The UUID of the button to set the trigger mode of.
153
145
  * @param mode - The trigger mode to set.
154
- * @returns A promise that resolves when the trigger mode is set.
146
+ * @returns A promise that resolves with the button when the trigger mode is set.
155
147
  */
156
148
  buttonSetTriggerMode(uuid, mode) {
157
149
  return NativeFlic2.setTriggerMode(uuid, mode);
@@ -162,7 +154,7 @@ class Flic2 {
162
154
  *
163
155
  * @param uuid - The UUID of the button to set the latency mode of.
164
156
  * @param mode - The latency mode to set.
165
- * @returns A promise that resolves when the latency mode is set.
157
+ * @returns A promise that resolves with the button when the latency mode is set.
166
158
  */
167
159
  buttonSetLatencyMode(uuid, mode) {
168
160
  return NativeFlic2.setLatencyMode(uuid, mode);
@@ -173,7 +165,7 @@ class Flic2 {
173
165
  *
174
166
  * @param uuid - The UUID of the button to set the nickname of.
175
167
  * @param nickname - The nickname to set.
176
- * @returns A promise that resolves when the nickname is set.
168
+ * @returns A promise that resolves with the button when the nickname is set.
177
169
  */
178
170
  buttonSetNickname(uuid, nickname) {
179
171
  return NativeFlic2.setNickname(uuid, nickname);
@@ -251,6 +243,10 @@ class Flic2 {
251
243
  * @param event - The manager state change event.
252
244
  */
253
245
  onNativeManagerStateChange(event) {
246
+ // When manager is restored, mark it as initialized
247
+ if (event.event === 'restored' && !this.isFlic2ManagerInitialized) {
248
+ this.onInitialized();
249
+ }
254
250
  this.eventEmitter.emit('managerStateChange', event);
255
251
  }
256
252
 
@@ -1 +1 @@
1
- {"version":3,"names":["TypedEmitter","NativeFlic2","Flic2","isFlic2ManagerInitialized","constructor","sessionId","Math","random","toString","substring","console","log","eventEmitter","onButtonEvent","onNativeButtonEvent","bind","onManagerStateChange","onNativeManagerStateChange","onScanStatusChange","onNativeScanStatusChange","initialize","isInitialized","Error","result","success","message","onInitialized","startScan","scanForButtons","stopScan","connectAllKnownButtons","disconnectAllKnownButtons","forgetAllButtons","isScanning","forgetButton","uuid","buttonConnect","connectButton","buttonDisconnect","disconnectButton","buttonSetTriggerMode","mode","setTriggerMode","buttonSetLatencyMode","setLatencyMode","buttonSetNickname","nickname","setNickname","getButtons","getButton","buttons","button","find","item","getBatteryHealth","isBatteryVoltageOk","batteryVoltage","voltage","event","enrichedEvent","batteryVoltageOk","emit"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TypedEmitter","NativeFlic2","Flic2","isFlic2ManagerInitialized","constructor","eventEmitter","onButtonEvent","onNativeButtonEvent","bind","onManagerStateChange","onNativeManagerStateChange","onScanStatusChange","onNativeScanStatusChange","initialize","isInitialized","Error","onInitialized","startScan","scanForButtons","stopScan","connectAllKnownButtons","disconnectAllKnownButtons","forgetAllButtons","isScanning","forgetButton","uuid","buttonConnect","connectButton","buttonDisconnect","disconnectButton","buttonSetTriggerMode","mode","setTriggerMode","buttonSetLatencyMode","setLatencyMode","buttonSetNickname","nickname","setNickname","getButtons","getButton","buttons","button","find","item","getBatteryHealth","isBatteryVoltageOk","batteryVoltage","voltage","event","enrichedEvent","batteryVoltageOk","emit"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -35,9 +35,10 @@ export type ScanStatusChangeEvent = {
35
35
  eventName: ScanStatus;
36
36
  result?: ScanResult;
37
37
  };
38
+ export type ButtonEventName = 'discovered' | 'connected' | 'ready' | 'disconnected' | 'connectionFailed' | 'buttonDown' | 'buttonUp' | 'click' | 'doubleClick' | 'hold' | 'unpaired' | 'batteryUpdate' | 'nicknameUpdate';
38
39
  export type ButtonEvent = {
39
40
  uuid: string;
40
- event: 'discovered' | 'connected' | 'ready' | 'disconnected' | 'connectionFailed' | 'buttonDown' | 'buttonUp' | 'click' | 'doubleClick' | 'hold' | 'unpaired' | 'batteryUpdate' | 'nicknameUpdate';
41
+ event: ButtonEventName;
41
42
  queued?: boolean;
42
43
  age?: number;
43
44
  nickname?: string;
@@ -79,56 +80,20 @@ export type FlicLatencyMode = 'normal' | 'low';
79
80
  export type TriggerModeType = 0 | 1 | 2 | 3;
80
81
  export type LatencyModeType = 0 | 1;
81
82
  export interface Spec extends TurboModule {
82
- initialize(background: boolean): Promise<{
83
- success: boolean;
84
- message: string;
85
- }>;
83
+ initialize(background: boolean): Promise<void>;
86
84
  getButtons(): Promise<FlicButton[]>;
87
- scanForButtons(): Promise<{
88
- success: boolean;
89
- message: string;
90
- }>;
91
- stopScan(): Promise<{
92
- success: boolean;
93
- message: string;
94
- }>;
95
- forgetButton(uuid: string): Promise<{
96
- success: boolean;
97
- message: string;
98
- }>;
99
- connectAllKnownButtons(): Promise<{
100
- success: boolean;
101
- message: string;
102
- }>;
103
- disconnectAllKnownButtons(): Promise<{
104
- success: boolean;
105
- message: string;
106
- }>;
107
- forgetAllButtons(): Promise<{
108
- success: boolean;
109
- message: string;
110
- }>;
85
+ scanForButtons(): Promise<void>;
86
+ stopScan(): Promise<void>;
87
+ forgetButton(uuid: string): Promise<void>;
88
+ connectAllKnownButtons(): Promise<void>;
89
+ disconnectAllKnownButtons(): Promise<void>;
90
+ forgetAllButtons(): Promise<void>;
111
91
  isScanning(): Promise<boolean>;
112
- connectButton(uuid: string): Promise<{
113
- success: boolean;
114
- message: string;
115
- }>;
116
- disconnectButton(uuid: string): Promise<{
117
- success: boolean;
118
- message: string;
119
- }>;
120
- setTriggerMode(uuid: string, mode: TriggerModeType): Promise<{
121
- success: boolean;
122
- message: string;
123
- }>;
124
- setLatencyMode(uuid: string, mode: LatencyModeType): Promise<{
125
- success: boolean;
126
- message: string;
127
- }>;
128
- setNickname(uuid: string, nickname: string): Promise<{
129
- success: boolean;
130
- message: string;
131
- }>;
92
+ connectButton(uuid: string): Promise<FlicButton>;
93
+ disconnectButton(uuid: string): Promise<FlicButton>;
94
+ setTriggerMode(uuid: string, mode: number): Promise<FlicButton>;
95
+ setLatencyMode(uuid: string, mode: number): Promise<FlicButton>;
96
+ setNickname(uuid: string, nickname: string): Promise<FlicButton>;
132
97
  readonly onManagerStateChange: CodegenTypes.EventEmitter<ManagerStateChangeEvent>;
133
98
  readonly onScanStatusChange: CodegenTypes.EventEmitter<ScanStatusChangeEvent>;
134
99
  readonly onButtonEvent: CodegenTypes.EventEmitter<ButtonEvent>;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeFlic2.d.ts","sourceRoot":"","sources":["../../../src/NativeFlic2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeFlic2.d.ts","sourceRoot":"","sources":["../../../src/NativeFlic2.ts"],"names":[],"mappings":"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"}