react-native-flic2 0.3.26 → 2.0.0-alpha.39

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 (243) hide show
  1. package/Flic2.podspec +22 -0
  2. package/{LICENSE.md → LICENSE} +1 -1
  3. package/README.md +17 -523
  4. package/android/build.gradle +64 -132
  5. package/android/gradle.properties +5 -0
  6. package/android/src/main/AndroidManifest.xml +17 -29
  7. package/android/src/main/java/com/flic2/Flic2ButtonListener.kt +132 -0
  8. package/android/src/main/java/com/flic2/Flic2Converter.kt +103 -0
  9. package/android/src/main/java/com/flic2/Flic2Module.kt +480 -0
  10. package/android/src/main/java/com/flic2/Flic2Package.kt +33 -0
  11. package/android/src/main/java/com/flic2/Flic2Service.kt +112 -0
  12. package/ios/Flic2.h +9 -4
  13. package/ios/Flic2.mm +610 -0
  14. package/ios/flic2lib.framework/Headers/FLICButton.h +1 -1
  15. package/ios/flic2lib.framework/Headers/FLICManager.h +1 -1
  16. package/ios/flic2lib.framework/Info.plist +0 -0
  17. package/ios/flic2lib.framework/Modules/module.modulemap +1 -1
  18. package/ios/flic2lib.framework/flic2lib +0 -0
  19. package/lib/module/NativeFlic2.js +14 -0
  20. package/lib/module/NativeFlic2.js.map +1 -0
  21. package/lib/module/index.js +91 -0
  22. package/lib/module/index.js.map +1 -0
  23. package/lib/module/package.json +1 -0
  24. package/lib/typescript/package.json +1 -0
  25. package/lib/typescript/src/NativeFlic2.d.ts +119 -0
  26. package/lib/typescript/src/NativeFlic2.d.ts.map +1 -0
  27. package/lib/typescript/src/index.d.ts +81 -0
  28. package/lib/typescript/src/index.d.ts.map +1 -0
  29. package/package.json +132 -19
  30. package/src/NativeFlic2.ts +157 -0
  31. package/src/index.tsx +159 -0
  32. package/.editorconfig +0 -7
  33. package/.gitattributes +0 -1
  34. package/.idea/codeStyles/Project.xml +0 -116
  35. package/.idea/modules.xml +0 -8
  36. package/.idea/react-native-flic2.iml +0 -9
  37. package/.idea/vcs.xml +0 -6
  38. package/.idea/workspace.xml +0 -140
  39. package/android/.classpath +0 -6
  40. package/android/.gradle/5.4.1/executionHistory/executionHistory.bin +0 -0
  41. package/android/.gradle/5.4.1/executionHistory/executionHistory.lock +0 -0
  42. package/android/.gradle/5.4.1/fileChanges/last-build.bin +0 -0
  43. package/android/.gradle/5.4.1/fileContent/fileContent.lock +0 -0
  44. package/android/.gradle/5.4.1/fileHashes/fileHashes.bin +0 -0
  45. package/android/.gradle/5.4.1/fileHashes/fileHashes.lock +0 -0
  46. package/android/.gradle/5.4.1/fileHashes/resourceHashesCache.bin +0 -0
  47. package/android/.gradle/5.4.1/gc.properties +0 -0
  48. package/android/.gradle/5.4.1/javaCompile/classAnalysis.bin +0 -0
  49. package/android/.gradle/5.4.1/javaCompile/jarAnalysis.bin +0 -0
  50. package/android/.gradle/5.4.1/javaCompile/javaCompile.lock +0 -0
  51. package/android/.gradle/5.4.1/javaCompile/taskHistory.bin +0 -0
  52. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  53. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  54. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  55. package/android/.gradle/vcs-1/gc.properties +0 -0
  56. package/android/.idea/caches/build_file_checksums.ser +0 -0
  57. package/android/.idea/codeStyles/Project.xml +0 -116
  58. package/android/.idea/gradle.xml +0 -18
  59. package/android/.idea/libraries/Gradle__android_arch_core_common_1_1_1_jar.xml +0 -11
  60. package/android/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml +0 -12
  61. package/android/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1_jar.xml +0 -11
  62. package/android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml +0 -12
  63. package/android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml +0 -12
  64. package/android/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml +0 -12
  65. package/android/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml +0 -12
  66. package/android/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml +0 -10
  67. package/android/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml +0 -13
  68. package/android/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml +0 -10
  69. package/android/.idea/libraries/Gradle__com_android_support_collections_28_0_0_jar.xml +0 -9
  70. package/android/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml +0 -13
  71. package/android/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml +0 -10
  72. package/android/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml +0 -10
  73. package/android/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml +0 -10
  74. package/android/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml +0 -13
  75. package/android/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml +0 -10
  76. package/android/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml +0 -10
  77. package/android/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml +0 -10
  78. package/android/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml +0 -13
  79. package/android/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml +0 -10
  80. package/android/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0_jar.xml +0 -9
  81. package/android/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml +0 -13
  82. package/android/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml +0 -10
  83. package/android/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml +0 -10
  84. package/android/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml +0 -13
  85. package/android/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml +0 -10
  86. package/android/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml +0 -13
  87. package/android/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml +0 -10
  88. package/android/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml +0 -10
  89. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_1_10_0_aar.xml +0 -12
  90. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_1_10_0_aar.xml +0 -15
  91. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_1_10_0_aar.xml +0 -15
  92. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_1_10_0_aar.xml +0 -15
  93. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_1_10_0_aar.xml +0 -15
  94. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_1_10_0_aar.xml +0 -12
  95. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2_jar.xml +0 -13
  96. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_59_10_aar.xml +0 -17
  97. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_6_0_aar.xml +0 -14
  98. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2_jar.xml +0 -13
  99. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1_jar.xml +0 -13
  100. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_1_jar.xml +0 -13
  101. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0_jar.xml +0 -13
  102. package/android/.idea/libraries/Gradle__io_flic_flic2lib_android_1_1_0_aar.xml +0 -14
  103. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml +0 -13
  104. package/android/.idea/misc.xml +0 -14
  105. package/android/.idea/modules.xml +0 -8
  106. package/android/.idea/runConfigurations.xml +0 -12
  107. package/android/.idea/vcs.xml +0 -6
  108. package/android/.idea/workspace.xml +0 -348
  109. package/android/.project +0 -34
  110. package/android/.settings/org.eclipse.buildship.core.prefs +0 -13
  111. package/android/README.md +0 -14
  112. package/android/android.iml +0 -139
  113. package/android/build/generated/source/buildConfig/debug/nl/xguard/flic2/BuildConfig.java +0 -13
  114. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -46
  115. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
  116. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  117. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  118. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -15
  119. package/android/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml +0 -4
  120. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +0 -2
  121. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -46
  122. package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
  123. package/android/build/intermediates/packaged_res/debug/drawable/ic_launcher_background.xml +0 -74
  124. package/android/build/intermediates/packaged_res/debug/drawable-v24/ic_launcher_foreground.xml +0 -34
  125. package/android/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher.xml +0 -5
  126. package/android/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
  127. package/android/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher.png +0 -0
  128. package/android/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher_round.png +0 -0
  129. package/android/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher.png +0 -0
  130. package/android/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher_round.png +0 -0
  131. package/android/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher.png +0 -0
  132. package/android/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher_round.png +0 -0
  133. package/android/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher.png +0 -0
  134. package/android/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher_round.png +0 -0
  135. package/android/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher.png +0 -0
  136. package/android/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher_round.png +0 -0
  137. package/android/build/intermediates/packaged_res/debug/values/values.xml +0 -4
  138. package/android/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt +0 -989
  139. package/android/build/intermediates/symbols/debug/R.txt +0 -1302
  140. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -95
  141. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  142. package/android/gradle/wrapper/gradle-wrapper.properties +0 -6
  143. package/android/gradlew +0 -172
  144. package/android/gradlew.bat +0 -84
  145. package/android/local.properties +0 -8
  146. package/android/src/main/ic_launcher-web.png +0 -0
  147. package/android/src/main/java/nl/xguard/flic2/Flic2.java +0 -213
  148. package/android/src/main/java/nl/xguard/flic2/Flic2Package.java +0 -28
  149. package/android/src/main/java/nl/xguard/flic2/communication/IReactEvent.java +0 -15
  150. package/android/src/main/java/nl/xguard/flic2/communication/NullReactEvent.java +0 -47
  151. package/android/src/main/java/nl/xguard/flic2/communication/ReactEvent.java +0 -230
  152. package/android/src/main/java/nl/xguard/flic2/model/IReactFlic2Manager.java +0 -27
  153. package/android/src/main/java/nl/xguard/flic2/model/NullReactFlic2Manager.java +0 -70
  154. package/android/src/main/java/nl/xguard/flic2/model/ReactAndroidHandler.java +0 -33
  155. package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2ButtonListener.java +0 -106
  156. package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2Manager.java +0 -168
  157. package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2ScanCallback.java +0 -48
  158. package/android/src/main/java/nl/xguard/flic2/model/ReactLogger.java +0 -14
  159. package/android/src/main/java/nl/xguard/flic2/service/Flic2Service.java +0 -200
  160. package/android/src/main/java/nl/xguard/flic2/service/Flic2ServiceConnection.java +0 -41
  161. package/android/src/main/java/nl/xguard/flic2/service/IFlic2Service.java +0 -13
  162. package/android/src/main/java/nl/xguard/flic2/sharedpreferences/flic2SharedPreferences.java +0 -35
  163. package/android/src/main/java/nl/xguard/flic2/util/ActivityUtil.java +0 -29
  164. package/android/src/main/java/nl/xguard/flic2/util/Consumer.java +0 -12
  165. package/android/src/main/res/drawable/ic_launcher_background.xml +0 -74
  166. package/android/src/main/res/drawable-v24/ic_launcher_foreground.xml +0 -34
  167. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -5
  168. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
  169. package/android/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  170. package/android/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  171. package/android/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  172. package/android/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  173. package/android/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  174. package/android/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  175. package/android/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  176. package/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  177. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  178. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  179. package/android/src/main/res/values/ids.xml +0 -5
  180. package/build/generated/source/buildConfig/debug/com/flic2/BuildConfig.java +0 -13
  181. package/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -46
  182. package/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output.json +0 -1
  183. package/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  184. package/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
  185. package/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  186. package/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  187. package/build/intermediates/incremental/debug-mergeJniLibs/merge-state +0 -0
  188. package/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  189. package/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  190. package/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  191. package/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -15
  192. package/build/intermediates/incremental/packageDebugResources/merger.xml +0 -2
  193. package/build/intermediates/intermediate-jars/debug/classes.jar +0 -0
  194. package/build/intermediates/intermediate-jars/debug/res.jar +0 -0
  195. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/BuildConfig.class +0 -0
  196. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Module$1.class +0 -0
  197. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Module.class +0 -0
  198. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Package.class +0 -0
  199. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/callback/flic2ButtonCallback.class +0 -0
  200. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/communication/ReactEvent.class +0 -0
  201. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service$BootUpReceiver.class +0 -0
  202. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service$UpdateReceiver.class +0 -0
  203. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service.class +0 -0
  204. package/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -46
  205. package/build/intermediates/merged_manifests/debug/output.json +0 -1
  206. package/build/intermediates/packaged-classes/debug/classes.jar +0 -0
  207. package/build/intermediates/packaged_res/debug/drawable/ic_launcher_background.xml +0 -74
  208. package/build/intermediates/packaged_res/debug/drawable-v24/ic_launcher_foreground.xml +0 -34
  209. package/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher.xml +0 -5
  210. package/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
  211. package/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher.png +0 -0
  212. package/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher_round.png +0 -0
  213. package/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher.png +0 -0
  214. package/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher_round.png +0 -0
  215. package/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher.png +0 -0
  216. package/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher_round.png +0 -0
  217. package/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher.png +0 -0
  218. package/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher_round.png +0 -0
  219. package/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher.png +0 -0
  220. package/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher_round.png +0 -0
  221. package/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt +0 -1290
  222. package/build/intermediates/symbols/debug/R.txt +0 -1764
  223. package/build/intermediates/transforms/mergeJavaRes/debug/0.jar +0 -0
  224. package/build/intermediates/transforms/mergeJavaRes/debug/__content__.json +0 -1
  225. package/build/intermediates/transforms/mergeJniLibs/debug/__content__.json +0 -1
  226. package/build/intermediates/transforms/stripDebugSymbol/debug/__content__.json +0 -1
  227. package/build/outputs/aar/react-native-flic2-debug.aar +0 -0
  228. package/build/outputs/logs/manifest-merger-debug-report.txt +0 -95
  229. package/flic2Button.js +0 -170
  230. package/index.js +0 -430
  231. package/ios/Flic2.m +0 -611
  232. package/ios/Flic2.xcodeproj/project.pbxproj +0 -320
  233. package/ios/Flic2.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
  234. package/ios/Flic2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  235. package/ios/Flic2.xcodeproj/project.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  236. package/ios/Flic2.xcodeproj/xcshareddata/xcschemes/Flic2.xcscheme +0 -66
  237. package/ios/Flic2.xcodeproj/xcuserdata/wesdewitte.xcuserdatad/xcschemes/xcschememanagement.plist +0 -22
  238. package/ios/Flic2.xcworkspace/contents.xcworkspacedata +0 -7
  239. package/ios/Flic2.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  240. package/ios/Flic2.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -5
  241. package/ios/Flic2.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  242. package/ios/Flic2.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/WorkspaceSettings.xcsettings +0 -14
  243. package/react-native-flic2.podspec +0 -26
package/ios/Flic2.m DELETED
@@ -1,611 +0,0 @@
1
- #import "Flic2.h"
2
- @import flic2lib;
3
-
4
- @implementation Flic2 {
5
- bool hasListeners;
6
- }
7
-
8
- + (BOOL) requiresMainQueueSetup {
9
- return YES;
10
- }
11
-
12
- - (void) startObserving {
13
- hasListeners = YES;
14
- }
15
-
16
- - (void) stopObserving {
17
- hasListeners = NO;
18
- }
19
-
20
- - (void) sendEventScanMessage:(FLICButton *)button event:(NSString *) event errorCode:(NSInteger) error {
21
- NSLog(@"FLIC2LIB sendEventScanMessage %@", event);
22
- Boolean errorBool;
23
- if(error == 0) {
24
- errorBool = false;
25
- } else {
26
- errorBool = true;
27
- }
28
-
29
- if (hasListeners) {
30
- if (errorBool == false && button != nil) {
31
- [self sendEventWithName:@"scanResult" body: @{
32
- @"event": event,
33
- @"error": @(errorBool),
34
- @"result": @(0),
35
- @"button": [self convertButtonToDictForScan:button]
36
- }];
37
- } else {
38
- [self sendEventWithName:@"scanResult" body: @{
39
- @"event": event,
40
- @"error": @(errorBool),
41
- @"result": @([self getCorrectScanResultCode:error]),
42
- }];
43
- }
44
-
45
- }
46
- }
47
-
48
- - (void) sendEventScanStatusMessage:(NSString *)event {
49
- NSLog(@"FLIC2LIB sendEventScanStatusMessage %@", event);
50
- if (hasListeners) {
51
-
52
- [self sendEventWithName:@"scanResult" body: @{
53
- @"event": event,
54
- }];
55
-
56
- }
57
- }
58
-
59
- - (void) sendEventMessage:(NSString *)event button:(FLICButton *)button errorCode:(NSInteger) error {
60
- NSLog(@"FLIC2LIB EVENT button error %@", event);
61
-
62
- if (hasListeners) {
63
- [self sendEventWithName:@"didReceiveButtonEvent" body: @{
64
- @"event": event,
65
- @"error": @([self getCorrectFlicErrorCode:error]),
66
- @"button": [self convertButtonToDictForScan:button]
67
- }];
68
- }
69
- }
70
-
71
- - (void) sendEventMessage:(NSString *)event button:(FLICButton *)button {
72
- NSLog(@"FLIC2LIB EVENT only button %@", event);
73
-
74
- if (hasListeners) {
75
- [self sendEventWithName:@"didReceiveButtonEvent" body: @{
76
- @"event": event,
77
- @"button": [self convertButtonToDictForScan:button]
78
- }];
79
- }
80
- }
81
-
82
- - (void) sendEventMessage:(NSString *)event button:(FLICButton *)button queued:(BOOL) queued age:(NSInteger) age {
83
- NSLog(@"FLIC2LIB EVENT button queed age %@", event);
84
-
85
- if (hasListeners) {
86
- [self sendEventWithName:@"didReceiveButtonEvent" body: @{
87
- @"event": event,
88
- @"queued": @(queued),
89
- @"age": @(age),
90
- @"button": [self convertButtonToDictForScan:button]
91
- }];
92
- }
93
- }
94
-
95
- -(NSDictionary *) convertButtonToDictForScan: (FLICButton *) button
96
- {
97
- NSLog(@"FLIC2LIB convertButtonToDictForScan %@ %@ %@ %@ %f %@ %u %@ %@", button.name, button.uuid, button.bluetoothAddress, button.nickname, button.batteryVoltage,@(button.pressCount),button.firmwareRevision, button.serialNumber, @([self batteryVoltageToEstimatedPercentage:button.batteryVoltage]));
98
-
99
- if (button != nil) {
100
- return @{
101
- @"uuid": button.uuid,
102
- @"bluetoothAddress": button.bluetoothAddress,
103
- @"name": button.nickname == nil ? button.name : button.nickname,
104
- @"batteryLevelIsOk": @([self batteryVoltageToEstimatedPercentage:button.batteryVoltage]),
105
- @"voltage": @(button.batteryVoltage),
106
- @"isReady": @(button.isReady),
107
- @"isUnpaired": @(button.isUnpaired),
108
- @"pressCount": @(button.pressCount),
109
- @"firmwareRevision": @(button.firmwareRevision),
110
- @"serial": button.serialNumber
111
- };
112
- } else {
113
- return false;
114
- }
115
-
116
- }
117
-
118
- - (dispatch_queue_t)methodQueue {
119
- return dispatch_get_main_queue();
120
- }
121
-
122
- RCT_EXPORT_MODULE()
123
-
124
- - (NSArray<NSString *> *)supportedEvents {
125
- return @[
126
- @"managerInitialized",
127
- @"scanResult",
128
- @"didReceiveButtonEvent",
129
- ];
130
- }
131
-
132
- -(NSInteger) getCorrectFlicErrorCode: (NSInteger) code {
133
-
134
- switch (code) {
135
- /**
136
- * An unknown error has occurred.
137
- */
138
- case FLICErrorUnknown:
139
- return 0;
140
- break;
141
- /**
142
- * You are trying to use the manager while it has not been configured yet.
143
- */
144
- case FLICErrorNotConfigured:
145
- return 1;
146
- break;
147
- /**
148
- * A bluetooth specific error code. This means that something went wrong while the phone tried to establish a connection with the Flic peripheral.
149
- */
150
- case FLICErrorCouldNotDiscoverBluetoothServices:
151
- return 2;
152
- break;
153
- /**
154
- * The framework was unable to verify the cryptographic signature from the Flic while setting up a session.
155
- */
156
- case FLICErrorVerificationSignatureMismatch:
157
- return 3;
158
- break;
159
- /**
160
- * The UUID of a button is not correct.
161
- */
162
- case FLICErrorInvalidUuid:
163
- return 4;
164
- break;
165
- /**
166
- * While establishing a connection with the Flic the framework was unable to verify the authenticity of the button.
167
- */
168
- case FLICErrorGenuineCheckFailed:
169
- return 5;
170
- break;
171
- /**
172
- * The app was unable to establish a connection with the Flic button because it already had a connection with too many apps on this particular phone.
173
- */
174
- case FLICErrorTooManyApps:
175
- return 6;
176
- break;
177
- /**
178
- * The pairing on the Flic button has been lost so the app's pairing data is no longer valid. This typically happens if the Flic is factory reset.
179
- */
180
- case FLICErrorUnpaired:
181
- return 7;
182
- break;
183
- /**
184
- * The manager was unable to complete the task since the device is not running on a supported iOS version.
185
- */
186
- case FLICErrorUnsupportedOSVersion:
187
- return 8;
188
- break;
189
- /**
190
- * You are trying to use a FLICButton object that has already been forgotten by the manager. Please discard of your references to this object.
191
- */
192
- case FLICErrorAlreadyForgotten:
193
- return 9;
194
- break;
195
-
196
- default:
197
- return 0;
198
- break;
199
- }
200
- }
201
-
202
- -(NSInteger) getCorrectScanResultCode: (NSInteger) code {
203
-
204
- switch (code) {
205
- case FLICButtonScannerErrorCodeBluetoothNotActivated:
206
- return 2;
207
- break;
208
- case FLICButtonScannerErrorCodeUnknown:
209
- return 3;
210
- break;
211
- case FLICButtonScannerErrorCodeNoPublicButtonDiscovered:
212
- return 4;
213
- break;
214
- case FLICButtonScannerErrorCodeAlreadyConnectedToAnotherDevice:
215
- return 5;
216
- break;
217
- case FLICButtonScannerErrorCodeConnectionTimeout:
218
- return 6;
219
- break;
220
- case FLICButtonScannerErrorCodeInvalidVerifier:
221
- return 7;
222
- break;
223
- case FLICButtonScannerErrorCodeBLEPairingFailedPreviousPairingAlreadyExisting:
224
- return 8;
225
- break;
226
- case FLICButtonScannerErrorCodeBLEPairingFailedUserCanceled:
227
- return 9;
228
- break;
229
- case FLICButtonScannerErrorCodeBLEPairingFailedUnknownReason:
230
- return 10;
231
- break;
232
- case FLICButtonScannerErrorCodeAppCredentialsDontMatch:
233
- return 11;
234
- break;
235
- case FLICButtonScannerErrorCodeUserCanceled:
236
- return 12;
237
- break;
238
- case FLICButtonScannerErrorCodeInvalidBluetoothAddress:
239
- return 13;
240
- break;
241
- case FLICButtonScannerErrorCodeGenuineCheckFailed:
242
- return 14;
243
- break;
244
- case FLICButtonScannerErrorCodeTooManyApps:
245
- return 15;
246
- break;
247
- case FLICButtonScannerErrorCodeCouldNotSetBluetoothNotify:
248
- return 16;
249
- break;
250
- case FLICButtonScannerErrorCodeCouldNotDiscoverBluetoothServices:
251
- return 17;
252
- break;
253
- case FLICButtonScannerErrorCodeButtonDisconnectedDuringVerification:
254
- return 18;
255
- break;
256
- case FLICButtonScannerErrorCodeFailedToEstablish:
257
- return 19;
258
- break;
259
- case FLICButtonScannerErrorCodeConnectionLimitReached:
260
- return 20;
261
- break;
262
- case FLICButtonScannerErrorCodeNotInPublicMode:
263
- return 21;
264
- break;
265
- default:
266
- return 3;
267
- break;
268
- }
269
-
270
- }
271
-
272
- -(BOOL) batteryVoltageToEstimatedPercentage: (float)voltage {
273
- float mvolt = (float)(voltage * 1000);
274
-
275
- if (mvolt >= 2650) {
276
- return true;
277
- } else {
278
- return false;
279
- }
280
- }
281
-
282
- -(NSDictionary *) convertButtonToDict: (FLICButton *) button
283
- {
284
- NSLog(@"FLIC2LIB convertButtonToDict %@ %@ %@ %@ %f %@ %u %@ %@", button.name, button.uuid, button.bluetoothAddress, button.nickname, button.batteryVoltage,@(button.pressCount),button.firmwareRevision, button.serialNumber, @([self batteryVoltageToEstimatedPercentage:button.batteryVoltage]));
285
-
286
- return @{
287
- @"uuid": button.uuid,
288
- @"bluetoothAddress": button.bluetoothAddress,
289
- @"name": button.nickname == nil ? button.name : button.nickname,
290
- @"batteryLevelIsOk": @([self batteryVoltageToEstimatedPercentage:button.batteryVoltage]),
291
- @"voltage": @(button.batteryVoltage),
292
- @"isReady": @(button.isReady),
293
- @"isUnpaired": @(button.isUnpaired),
294
- @"pressCount": @(button.pressCount),
295
- @"firmwareRevision": @(button.firmwareRevision),
296
- @"serial": button.serialNumber
297
- };
298
- }
299
-
300
-
301
- // -- SCLFlicManagerDelegate --
302
-
303
- RCT_EXPORT_METHOD(startup) {
304
- [FLICManager configureWithDelegate:self buttonDelegate:self background:YES];
305
- }
306
-
307
- RCT_EXPORT_METHOD(getButtons:(RCTResponseSenderBlock)callback callback:(RCTResponseSenderBlock)calback) {
308
-
309
- NSMutableArray *buttonArray = [[NSMutableArray alloc] init];
310
- NSArray<FLICButton *> *buttons = [FLICManager sharedManager].buttons;
311
-
312
- for (FLICButton *button in buttons) {
313
- NSLog(@"FLIC2LIB getButtons %@ %@ %@ %@ %f %@ %u %@ %@", button.name, button.uuid, button.bluetoothAddress, button.nickname, button.batteryVoltage,@(button.pressCount),button.firmwareRevision, button.serialNumber, @([self batteryVoltageToEstimatedPercentage:button.batteryVoltage]));
314
- [buttonArray addObject: [self convertButtonToDict: button]];
315
- }
316
-
317
- callback(@[buttonArray]);
318
-
319
- }
320
-
321
- RCT_EXPORT_METHOD(connectButton:(NSString *) uuid callback:(RCTResponseSenderBlock) successCallBack) {
322
- NSArray<FLICButton *> *buttons = [FLICManager sharedManager].buttons;
323
-
324
- for (FLICButton *button in buttons) {
325
- if ([button.uuid isEqualToString:uuid]) {
326
- [button connect];
327
- successCallBack(@[]);
328
- break;
329
- }
330
- }
331
-
332
- return;
333
-
334
- }
335
-
336
- RCT_EXPORT_METHOD(connectAllKnownButtons) {
337
-
338
- NSArray<FLICButton *> *buttons = [FLICManager sharedManager].buttons;
339
-
340
- for (FLICButton *button in buttons) {
341
- NSLog(@"Flic2 Connect button: %@", button.name);
342
- button.triggerMode = FLICButtonTriggerModeClickAndDoubleClickAndHold;
343
- [button connect];
344
- }
345
- }
346
-
347
- RCT_EXPORT_METHOD(disconnectAllKnownButtons) {
348
-
349
- NSArray<FLICButton *> *buttons = [FLICManager sharedManager].buttons;
350
-
351
- for (FLICButton *button in buttons) {
352
- NSLog(@"Flic2 diconnect button: %@", button.name);
353
- [button disconnect];
354
- }
355
- }
356
-
357
- RCT_EXPORT_METHOD(disconnectButton:(NSString *) uuid callback:(RCTResponseSenderBlock) successCallBack) {
358
- NSArray<FLICButton *> *buttons = [FLICManager sharedManager].buttons;
359
-
360
- for (FLICButton *button in buttons) {
361
- if ([button.uuid isEqualToString:uuid]) {
362
- [button disconnect];
363
- successCallBack(@[]);
364
- break;
365
- }
366
- }
367
-
368
- return;
369
-
370
- }
371
-
372
- RCT_EXPORT_METHOD(startScan) {
373
-
374
- [self scanForButton];
375
- }
376
-
377
- RCT_EXPORT_METHOD(stopScan) {
378
- [self stopScanForButton];
379
- }
380
-
381
- RCT_EXPORT_METHOD(forgetAllButtons) {
382
- NSArray<FLICButton *> *buttons = [FLICManager sharedManager].buttons;
383
-
384
- for (FLICButton *button in buttons) {
385
- [button disconnect];
386
- [[FLICManager sharedManager] forgetButton:(button) completion:^(NSUUID * _Nonnull uuid, NSError * _Nullable error) {
387
- }];
388
- }
389
- }
390
-
391
- RCT_EXPORT_METHOD(forgetButton:(NSString *) uuid callback:(RCTResponseSenderBlock) successCallBack) {
392
- NSArray<FLICButton *> *buttons = [FLICManager sharedManager].buttons;
393
-
394
- for (FLICButton *button in buttons) {
395
- if ([button.uuid isEqualToString:uuid]) {
396
- [button disconnect];
397
- [[FLICManager sharedManager] forgetButton:(button) completion:^(NSUUID * _Nonnull uuid, NSError * _Nullable error) {
398
-
399
- successCallBack(@[]);
400
- }];
401
- break;
402
- }
403
- }
404
-
405
- return;
406
-
407
- }
408
-
409
- RCT_EXPORT_METHOD(setMode:(NSString *)uuid mode:(NSInteger) mode callback:(RCTResponseSenderBlock) successCallBack) {
410
- NSArray<FLICButton *> *buttons = [FLICManager sharedManager].buttons;
411
-
412
- for (FLICButton *button in buttons) {
413
-
414
- if ([button.uuid isEqualToString:uuid]) {
415
-
416
- if(FLICButtonTriggerModeClick == mode) {
417
- button.triggerMode = FLICButtonTriggerModeClick;
418
- } else if(FLICButtonTriggerModeClickAndHold == mode) {
419
- button.triggerMode = FLICButtonTriggerModeClickAndHold;
420
- } else if(FLICButtonTriggerModeClickAndDoubleClick == mode) {
421
- button.triggerMode = FLICButtonTriggerModeClickAndDoubleClick;
422
- } else {
423
- button.triggerMode = FLICButtonTriggerModeClickAndDoubleClickAndHold;
424
- }
425
-
426
- successCallBack(@[]);
427
- break;
428
- }
429
- }
430
-
431
- return;
432
-
433
- }
434
-
435
- RCT_EXPORT_METHOD(setName:(NSString *)uuid name:(NSString *) name callback:(RCTResponseSenderBlock) successCallBack) {
436
- NSArray<FLICButton *> *buttons = [FLICManager sharedManager].buttons;
437
-
438
- for (FLICButton *button in buttons) {
439
- if ([button.uuid isEqualToString:uuid]) {
440
- button.nickname = name;
441
- successCallBack(@[]);
442
- break;
443
- }
444
- }
445
- return;
446
- }
447
-
448
- RCT_EXPORT_METHOD(isScanning: callback:(RCTResponseSenderBlock) successCallBack) {
449
-
450
- Boolean scanBool = [FLICManager sharedManager].isScanning;
451
- successCallBack(@(scanBool));
452
-
453
- return;
454
- }
455
-
456
- - (void)stopScanForButton {
457
-
458
- [[FLICManager sharedManager] stopScan];
459
- }
460
-
461
- - (void)scanForButton;
462
- {
463
- NSLog(@"A Flic2 scanForButton");
464
- [[FLICManager sharedManager] scanForButtonsWithStateChangeHandler:^(FLICButtonScannerStatusEvent event) {
465
-
466
- NSLog(@"A Flic2 scanForButtonsWithStateChangeHandler %ld", (long)event);
467
- // You can use these events to update your UI.
468
- switch (event)
469
- {
470
- case FLICButtonScannerStatusEventDiscovered:
471
- NSLog(@"A Flic2 was discovered.");
472
- [self sendEventScanStatusMessage: (@"discovered")];
473
- break;
474
- case FLICButtonScannerStatusEventConnected:
475
- NSLog(@"A Flic2 is being connected.");
476
- [self sendEventScanStatusMessage: (@"connected")];
477
- break;
478
- case FLICButtonScannerStatusEventVerified:
479
- NSLog(@"The Flic2 was verified successfully.");
480
- [self sendEventScanStatusMessage: (@"verified")];
481
- break;
482
- case FLICButtonScannerStatusEventVerificationFailed:
483
- NSLog(@"The Flic2 verification failed.");
484
- [self sendEventScanStatusMessage: (@"failed")];
485
- break;
486
- default:
487
- break;
488
- }
489
- } completion:^(FLICButton *button, NSError *error) {
490
- NSLog(@"Flic2 Scanner completed with error: %@", error);
491
- if (!error)
492
- {
493
- NSLog(@"Flic2 Successfully verified: %@, %@, %@", button.name, button.bluetoothAddress, button.serialNumber);
494
- // Listen to single click only.
495
- button.triggerMode = FLICButtonTriggerModeClickAndDoubleClickAndHold;
496
- [button connect];
497
-
498
- [self sendEventScanMessage: (button) event:(@"completion") errorCode:(0)];
499
- } else {
500
- [self sendEventScanMessage: (button) event:(@"completion") errorCode:(error.code)];
501
- }
502
- }];
503
- }
504
-
505
- - (void)managerDidRestoreState:(FLICManager *)manager;
506
- {
507
-
508
- [self sendEventWithName:@"managerInitialized" body: @{}];
509
-
510
- // The mager was restored and can now be used.
511
- for (FLICButton *button in manager.buttons)
512
- {
513
- NSLog(@"Did restore Flic2: %@", button.name);
514
- }
515
- }
516
-
517
- - (void)manager:(nonnull FLICManager *)manager didUpdateState:(FLICManagerState)state {
518
- NSLog(@"Did update manager: %ld", (long)state);
519
- }
520
-
521
-
522
- // -- SCLFlicButtonDelegate --
523
-
524
- - (void)buttonDidConnect:(FLICButton *)button;
525
- {
526
- NSLog(@"Did connect Flic2: %@", button.name);
527
- [self sendEventMessage:(@"buttonConnectionCompleted") button:(button)];
528
- }
529
-
530
- - (void)button:(FLICButton *)button didDisconnectWithError:(NSError *)error;
531
- {
532
- NSLog(@"Did disconnect Flic2: %@", button.name);
533
- if(!error) {
534
- [self sendEventMessage:(@"buttonDisconnected") button:(button)];
535
- } else {
536
- [self sendEventMessage:(@"buttonDisconnected") button:(button) errorCode:(error.code)];
537
- }
538
- }
539
-
540
- - (void)button:(FLICButton *)button didReceiveButtonDown:(BOOL)queued age:(NSInteger)age;
541
- {
542
- NSLog(@"Flic2: %@ was clicked down", button.name);
543
- [self sendEventMessage: (@"didReceiveButtonDown") button:(button) queued:(queued) age:(age)];
544
- }
545
-
546
- - (void)button:(FLICButton *)button didReceiveButtonUp:(BOOL)queued age:(NSInteger)age;
547
- {
548
- NSLog(@"Flic2: %@ was clicked up", button.name);
549
- [self sendEventMessage: (@"didReceiveButtonUp") button:(button) queued:(queued) age:(age)];
550
- }
551
-
552
- - (void)button:(FLICButton *)button didReceiveButtonClick:(BOOL)queued age:(NSInteger)age;
553
- {
554
- NSLog(@"Flic2: %@ was clicked", button.name);
555
- [self sendEventMessage: (@"didReceiveButtonClick") button:(button) queued:(queued) age:(age)];
556
- }
557
-
558
- - (void)button:(FLICButton *)button didReceiveButtonDoubleClick:(BOOL)queued age:(NSInteger)age;
559
- {
560
- NSLog(@"Flic2: %@ was clicked double", button.name);
561
- [self sendEventMessage: (@"didReceiveButtonDoubleClick") button:(button) queued:(queued) age:(age)];
562
- }
563
-
564
- - (void)button:(FLICButton *)button didReceiveButtonHold:(BOOL)queued age:(NSInteger)age;
565
- {
566
- NSLog(@"Flic2: %@ was hold", button.name);
567
- [self sendEventMessage: (@"didReceiveButtonHold") button:(button) queued:(queued) age:(age)];
568
- }
569
-
570
- - (void)button:(FLICButton *)button didFailToConnectWithError:(NSError * _Nullable)error;
571
- {
572
- NSLog(@"Did fail to connect Flic2: %@", button.name);
573
- if(!error) {
574
- [self sendEventMessage:(@"buttonConnectionFailure") button:(button)];
575
-
576
- } else {
577
- [self sendEventMessage:(@"buttonConnectionFailure") button:(button) errorCode:(error.code)];
578
- }
579
- }
580
-
581
- - (void)button:(FLICButton *)button didUnpairWithError:(NSError * _Nullable)error;
582
- {
583
- NSLog(@"Did unpair with error Flic2: %@", button.name);
584
- if(!error) {
585
- [self sendEventMessage:(@"buttonConnectionUnpaired") button:(button)];
586
-
587
- } else {
588
- [self sendEventMessage:(@"buttonConnectionUnpaired") button:(button) errorCode:(error.code)];
589
- }
590
-
591
- }
592
-
593
- - (void)button:(FLICButton *)button didUpdateBatteryVoltage:(float)voltage;
594
- {
595
- NSLog(@"Flic2: %@ dit update battery voltage", button.name);
596
- [self sendEventMessage: (@"batteryLevelIsOk") button:(button)];
597
- }
598
-
599
- - (void)button:(FLICButton *)button didUpdateNickname:(NSString *)nickname;
600
- {
601
- NSLog(@"Flic2: %@ dit update nickname", button.name);
602
- [self sendEventMessage: (@"didReceiveNewName") button:(button)];
603
- }
604
-
605
- - (void)buttonIsReady:(nonnull FLICButton *)button {
606
- NSLog(@"Flic2: %@ is ready", button.name);
607
- [self sendEventMessage:(@"buttonConnectionReady") button:(button)];
608
- }
609
-
610
-
611
- @end