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
@@ -1,47 +0,0 @@
1
- package nl.xguard.flic2.communication;
2
-
3
- import android.util.Log;
4
-
5
- import com.facebook.react.bridge.WritableMap;
6
- import com.facebook.react.bridge.WritableNativeMap;
7
-
8
- import io.flic.flic2libandroid.Flic2Button;
9
-
10
- public class NullReactEvent implements IReactEvent {
11
- private static final String TAG = "NullReactEvent";
12
-
13
- public NullReactEvent() {
14
- }
15
-
16
- @Override
17
- public void send(String event, String value) {
18
- Log.d(TAG, "sendEventMessage() called with: event = [" + event + "], value = [" + value + "]");
19
- }
20
-
21
- @Override
22
- public void send(Flic2Button flic2Button, String value) {
23
- Log.d(TAG, "send() called with: button = [" + flic2Button + "], value = [" + value + "]");
24
- }
25
-
26
- @Override
27
- public void send(Flic2Button button, String event, Boolean queued, long age) {
28
- Log.d(TAG, "send() called with: button = [" + button + "], event = [" + event + "], queued = [" + queued + "], age = [" + age + "]");
29
- }
30
-
31
- @Override
32
- public WritableMap getButtonArgs(Flic2Button button) {
33
- WritableMap args = new WritableNativeMap();
34
- args.putString(TAG, "Called from NullReactEvent");
35
- return args;
36
- }
37
-
38
- @Override
39
- public void sendScanStatusMessage(String event) {
40
- Log.d(TAG, "sendScanStatusMessage() called with: event = [" + event + "]");
41
- }
42
-
43
- @Override
44
- public void sendScanMessage(String event, Boolean error, int code, Flic2Button button) {
45
- Log.d(TAG, "sendScanMessage() called with: event = [" + event + "], error = [" + error + "], code = [" + code + "], button = [" + button + "]");
46
- }
47
- }
@@ -1,230 +0,0 @@
1
- package nl.xguard.flic2.communication;
2
-
3
- import android.util.Log;
4
-
5
- import com.facebook.react.bridge.ReactContext;
6
- import com.facebook.react.bridge.WritableMap;
7
- import com.facebook.react.bridge.WritableNativeMap;
8
- import com.facebook.react.modules.core.DeviceEventManagerModule;
9
-
10
- import io.flic.flic2libandroid.BatteryLevel;
11
- import io.flic.flic2libandroid.Flic2Button;
12
-
13
- public class ReactEvent implements IReactEvent {
14
- private static final String TAG = "Flic2ReactEvent";
15
- private static final String EVENT_NAMESPACE = "didReceiveButtonEvent";
16
- private static final String KEY_EVENT = "event";
17
- private static final String KEY_VALUE = "value";
18
- private static final String KEY_BUTTON_ID = "uuid";
19
- private static final String KEY_BUTTON_SERIAL = "serial";
20
- private static final String KEY_BUTTON_NAME = "name";
21
- private static final String KEY_BUTTON_BatteryLevel = "batteryLevelIsOk";
22
- private static final String KEY_BUTTON_Voltage = "voltage";
23
- private static final String KEY_BUTTON_ISREADY = "isReady";
24
- private static final String KEY_BUTTON_ISUNPAIRED = "isUnpaired";
25
- private static final String KEY_BUTTON_PRESSCOUNT = "pressCount";
26
- private static final String KEY_BUTTON_FIRMWAREREVISION = "firmwareRevision";
27
- private static final String KEY_BUTTON_BLUETOOTHADDRESS = "bluetoothAddress";
28
- private static final String KEY_BUTTON_READY_TIME = "isReadyTimeStamp";
29
-
30
- public static final String EVENT_MANAGER_INITIALIZED = "initFlic2";
31
- public static final String EVENT_MANAGER_IS_INITIALIZED = "isInitialized";
32
-
33
- public static final String EVENT_BUTTON_STATUS_DISCONNECTED = "buttonDisconnected";
34
- public static final String EVENT_BUTTON_STATUS_CONNECTION_ON_READY = "buttonConnectionReady";
35
- public static final String EVENT_BUTTON_STATUS_CONNECTION_STARTED = "buttonConnectionStarted";
36
- public static final String EVENT_BUTTON_STATUS_CONNECTION_COMPLETED = "buttonConnectionCompleted";
37
- public static final String EVENT_BUTTON_STATUS_CONNECTION_UNPAIRED = "buttonConnectionUnpaired";
38
- public static final String EVENT_BUTTON_STATUS_UNKNOWN = "buttonConnectionUnknown";
39
- public static final String EVENT_BUTTON_STATUS_ON_FAILURE = "buttonConnectionFailure";
40
- public static final String EVENT_BUTTON_DOWN = "didReceiveButtonDown";
41
- public static final String EVENT_BUTTON_UP = "didReceiveButtonUp";
42
- public static final String EVENT_BUTTON_SINGLE_CLICK = "didReceiveButtonClick";
43
- public static final String EVENT_BUTTON_DOUBLE_CLICK = "didReceiveButtonDoubleClick";
44
- public static final String EVENT_BUTTON_HOLD = "didReceiveButtonHold";
45
- public static final String EVENT_BUTTON_REMOVED = "removeAllButtons";
46
- public static final String EVENT_BUTTON_BATTERY_LEVEL = "batteryLevelIsOk";
47
- public static final String EVENT_BUTTON_NEW_NAME = "didReceiveNewName";
48
- public static final String EVENT_BUTTON_NEW_FIRMWARE = "didReceiveNewFirmware";
49
- public static final String EVENT_SCAN_RESULT = "scanResult";
50
-
51
- private ReactContext mReactContext;
52
-
53
- private static ReactEvent mReactEvent = null;
54
-
55
- public static IReactEvent createInstance(ReactContext reactContext) {
56
- mReactEvent = new ReactEvent(reactContext);
57
- return mReactEvent;
58
- }
59
-
60
- public static IReactEvent getInstance() {
61
- if (mReactEvent == null) {
62
- return new NullReactEvent();
63
- }
64
- return mReactEvent;
65
- }
66
-
67
- private ReactEvent(ReactContext reactContext) {
68
- mReactContext = reactContext;
69
- }
70
-
71
- @Override
72
- public void send(String event, String value) {
73
-
74
- if (mReactContext == null) {
75
- Log.d(TAG, "sendEventMessage() called with: react = [null]");
76
- return;
77
- }
78
-
79
- Log.d(TAG, "sendEventMessage() called with: event = [" + event + "], value = [" + value + "]");
80
- WritableMap args = new WritableNativeMap();
81
- args.putString(KEY_EVENT, event);
82
- args.putString(KEY_VALUE, value);
83
-
84
- mReactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
85
- .emit(EVENT_NAMESPACE, args);
86
- }
87
-
88
- @Override
89
- public void send(Flic2Button button, String event) {
90
- Log.d(TAG, "send() called with: button = [" + button + "], event = [" + event + "]");
91
- WritableMap args = new WritableNativeMap();
92
- WritableMap buttonMap = this.getButtonArgs(button);
93
- args.putString(KEY_EVENT, event);
94
- args.putMap("button", buttonMap);
95
-
96
-
97
- mReactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
98
- .emit(EVENT_NAMESPACE, args);
99
- }
100
-
101
- @Override
102
- public void send(Flic2Button button, String event, Boolean queued, long age) {
103
- Log.d(TAG, "send() called with: button = [" + button + "], event = [" + event + "], queued = [" + queued + "], age = [" + age + "]");
104
- WritableMap args = new WritableNativeMap();
105
- WritableMap buttonMap = this.getButtonArgs(button);
106
- args.putString(KEY_EVENT, event);
107
- args.putMap("button", buttonMap);
108
- args.putBoolean("queued", queued);
109
- args.putDouble("age", queued ? (button.getReadyTimestamp() - age) / 1000 : 0);
110
-
111
-
112
- mReactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
113
- .emit(EVENT_NAMESPACE, args);
114
- }
115
-
116
- public void send(String event) {
117
- Log.d(TAG, "send() called with: event = [" + event + "]");
118
- WritableMap args = new WritableNativeMap();
119
- args.putString(KEY_EVENT, event);
120
-
121
- mReactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
122
- .emit(EVENT_NAMESPACE, args);
123
- }
124
-
125
- public void sendEvent(String event) {
126
- Log.d(TAG, "sendEvent() called with: event = [" + event + "]");
127
-
128
- mReactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
129
- .emit(event, null);
130
- }
131
-
132
- private void send(String event, String value, String keyValue) {
133
- Log.d(TAG, "send() called with: event = [" + event + "], value = [" + value + "], keyValue = [" + keyValue + "]");
134
- WritableMap args = new WritableNativeMap();
135
- args.putString(KEY_EVENT, event);
136
- args.putString(keyValue, value);
137
-
138
- mReactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
139
- .emit(EVENT_NAMESPACE, args);
140
- }
141
-
142
- public void send(String event, int value, String keyValue) {
143
- Log.d(TAG, "send() called with: event = [" + event + "], value = [" + value + "], keyValue = [" + keyValue + "]");
144
- WritableMap args = new WritableNativeMap();
145
- args.putString(KEY_EVENT, event);
146
- args.putInt(keyValue, value);
147
-
148
- mReactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
149
- .emit(EVENT_NAMESPACE, args);
150
- }
151
-
152
- public void send(String event, Boolean value, String keyValue) {
153
- Log.d(TAG, "send() called with: event = [" + event + "], value = [" + value + "], keyValue = [" + keyValue + "]");
154
- WritableMap args = new WritableNativeMap();
155
- args.putString(KEY_EVENT, event);
156
- args.putBoolean(keyValue, value);
157
-
158
- mReactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
159
- .emit(EVENT_NAMESPACE, args);
160
- }
161
-
162
- public void send(String event, int level) {
163
- Log.d(TAG, "send() called with: event = [" + event + "], level = [" + level + "]");
164
- WritableMap args = new WritableNativeMap();
165
- args.putString(KEY_EVENT, event);
166
- args.putInt("BatteryLevel", level);
167
-
168
- mReactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
169
- .emit(EVENT_NAMESPACE, args);
170
- }
171
-
172
-
173
- @Override
174
- public void sendScanMessage(String event, Boolean error, int code, Flic2Button button) {
175
- Log.d(TAG, "sendScanMessage() called with: event = [" + EVENT_SCAN_RESULT + "]");
176
- WritableMap args = new WritableNativeMap();
177
- args.putString(KEY_EVENT, event);
178
- args.putBoolean("error", error);
179
- args.putInt("result", code);
180
-
181
- if (button != null) {
182
- WritableMap buttonMap = this.getButtonArgs(button);
183
- args.putMap("button", buttonMap);
184
- }
185
-
186
- mReactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
187
- .emit(EVENT_SCAN_RESULT, args);
188
- }
189
-
190
- @Override
191
- public void sendScanStatusMessage(String event) {
192
- Log.d(TAG, "sendScanMessage() called with: event = [" + EVENT_SCAN_RESULT + "]");
193
- WritableMap args = new WritableNativeMap();
194
-
195
- args.putString(KEY_EVENT, event);
196
-
197
- mReactContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
198
- .emit(EVENT_SCAN_RESULT, args);
199
- }
200
-
201
- @Override
202
- public WritableMap getButtonArgs(Flic2Button button) {
203
- WritableMap args = new WritableNativeMap();
204
- args.putString(KEY_BUTTON_ID, button.getUuid());
205
- args.putString(KEY_BUTTON_SERIAL, button.getSerialNumber());
206
- args.putString(KEY_BUTTON_BLUETOOTHADDRESS, button.getBdAddr());
207
- args.putString(KEY_BUTTON_NAME, button.getName());
208
- args.putBoolean(KEY_BUTTON_ISUNPAIRED, button.isUnpaired());
209
- args.putInt(KEY_BUTTON_PRESSCOUNT, button.getPressCount() / 2);
210
- args.putInt(KEY_BUTTON_FIRMWAREREVISION, button.getFirmwareVersion());
211
- args.putString(KEY_BUTTON_READY_TIME, String.valueOf(button.getReadyTimestamp()));
212
-
213
- if (button.getConnectionState() == Flic2Button.CONNECTION_STATE_CONNECTED_READY) {
214
- args.putBoolean(KEY_BUTTON_ISREADY, true);
215
- } else {
216
- args.putBoolean(KEY_BUTTON_ISREADY, false);
217
- }
218
-
219
- BatteryLevel level = button.getLastKnownBatteryLevel();
220
-
221
- if (level != null) {
222
- float voltage = level.getVoltage();
223
- args.putBoolean(KEY_BUTTON_BatteryLevel, (voltage * 1000) > 2650 ? true : false);
224
- args.putDouble(KEY_BUTTON_Voltage, voltage);
225
- }
226
-
227
- return args;
228
- }
229
-
230
- }
@@ -1,27 +0,0 @@
1
- package nl.xguard.flic2.model;
2
-
3
- import com.facebook.react.bridge.WritableArray;
4
-
5
- public interface IReactFlic2Manager {
6
- void startScan();
7
-
8
- void stopScan();
9
-
10
- void initButtons();
11
-
12
- void connectAllButtons();
13
-
14
- void disconnectAllKnownButtons();
15
-
16
- void forgetAllButtons();
17
-
18
- void connectButton(String uuid);
19
-
20
- void setName(String uuid, String name);
21
-
22
- void disconnectButton(String uuid);
23
-
24
- void forgetButton(String uuid);
25
-
26
- WritableArray getButtons();
27
- }
@@ -1,70 +0,0 @@
1
- package nl.xguard.flic2.model;
2
-
3
- import android.util.Log;
4
-
5
- import com.facebook.react.bridge.WritableArray;
6
- import com.facebook.react.bridge.WritableNativeArray;
7
-
8
- public class NullReactFlic2Manager implements IReactFlic2Manager {
9
- private static final String TAG = NullReactFlic2Manager.class.getSimpleName();
10
-
11
- @Override
12
- public void startScan() {
13
- logNullReactFlic2Manager();
14
- }
15
-
16
- @Override
17
- public void stopScan() {
18
- logNullReactFlic2Manager();
19
- }
20
-
21
- @Override
22
- public void initButtons() {
23
- logNullReactFlic2Manager();
24
- }
25
-
26
- @Override
27
- public void connectAllButtons() {
28
- logNullReactFlic2Manager();
29
- }
30
-
31
- @Override
32
- public void disconnectAllKnownButtons() {
33
- logNullReactFlic2Manager();
34
- }
35
-
36
- @Override
37
- public void forgetAllButtons() {
38
- logNullReactFlic2Manager();
39
- }
40
-
41
- @Override
42
- public void connectButton(String uuid) {
43
- logNullReactFlic2Manager();
44
- }
45
-
46
- @Override
47
- public void setName(String uuid, String name) {
48
- logNullReactFlic2Manager();
49
- }
50
-
51
- @Override
52
- public void disconnectButton(String uuid) {
53
- logNullReactFlic2Manager();
54
- }
55
-
56
- @Override
57
- public void forgetButton(String uuid) {
58
- logNullReactFlic2Manager();
59
- }
60
-
61
- @Override
62
- public WritableArray getButtons() {
63
- logNullReactFlic2Manager();
64
- return new WritableNativeArray();
65
- }
66
-
67
- private void logNullReactFlic2Manager() {
68
- Log.w(TAG, "logNullReactFlic2Manager: The Flic2Manager is not yet initialized, check if the Flic2Service is running");
69
- }
70
- }
@@ -1,33 +0,0 @@
1
- package nl.xguard.flic2.model;
2
-
3
- import android.os.Handler;
4
-
5
- import io.flic.flic2libandroid.HandlerInterface;
6
-
7
- public class ReactAndroidHandler implements HandlerInterface {
8
- private Handler handler;
9
-
10
- public ReactAndroidHandler(Handler handler) {
11
- this.handler = handler;
12
- }
13
-
14
- @Override
15
- public void post(Runnable r) {
16
- handler.post(r);
17
- }
18
-
19
- @Override
20
- public void postDelayed(Runnable r, long delay) {
21
- handler.postDelayed(r, delay);
22
- }
23
-
24
- @Override
25
- public void removeCallbacks(Runnable r) {
26
- handler.removeCallbacks(r);
27
- }
28
-
29
- @Override
30
- public boolean currentThreadIsHandlerThread() {
31
- return Thread.currentThread() == handler.getLooper().getThread();
32
- }
33
- }
@@ -1,106 +0,0 @@
1
- package nl.xguard.flic2.model;
2
-
3
- import android.util.Log;
4
-
5
- import io.flic.flic2libandroid.BatteryLevel;
6
- import io.flic.flic2libandroid.Flic2Button;
7
- import io.flic.flic2libandroid.Flic2ButtonListener;
8
- import nl.xguard.flic2.communication.ReactEvent;
9
-
10
- public class ReactFlic2ButtonListener extends Flic2ButtonListener {
11
-
12
- private static final String TAG = ReactFlic2ButtonListener.class.getSimpleName();
13
-
14
- public ReactFlic2ButtonListener() {
15
- super();
16
- }
17
-
18
- @Override
19
- public void onDisconnect(Flic2Button button) {
20
- Log.d(TAG, "onDisconnect() called with: button = [" + button + "]");
21
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_STATUS_DISCONNECTED);
22
- }
23
-
24
- @Override
25
- public void onConnect(Flic2Button button) {
26
- Log.d(TAG, "onConnect() called with: button = [" + button + "]");
27
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_STATUS_CONNECTION_COMPLETED);
28
- }
29
-
30
- @Override
31
- public void onFailure(Flic2Button button, int errorCode, int subCode) {
32
- Log.d(TAG, "onFailure() called with: button = [" + button + "]" + " error: " + errorCode);
33
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_STATUS_ON_FAILURE);
34
- }
35
-
36
- @Override
37
- public void onReady(Flic2Button button, long timestamp) {
38
- Log.d(TAG, "onReady() called with: button = [" + button + "]");
39
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_STATUS_CONNECTION_ON_READY);
40
- }
41
-
42
- @Override
43
- public void onUnpaired(Flic2Button button) {
44
- Log.d(TAG, "onUnpaired() called with: button = [" + button + "]");
45
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_STATUS_CONNECTION_UNPAIRED);
46
- }
47
-
48
- @Override
49
- public void onButtonClickOrHold(Flic2Button button, boolean wasQueued, boolean lastQueued, long timestamp, boolean isClick, boolean isHold) {
50
- // Log.d(TAG, "onButtonClickOrHold() called with: button = [" + button + "]");
51
- // if (isHold) {
52
- // mReactEvent.send(button, ReactEvent.EVENT_BUTTON_HOLD, wasQueued, timestamp);
53
- // } else {
54
- // mReactEvent.send(button, ReactEvent.EVENT_BUTTON_SINGLE_CLICK, wasQueued, timestamp);
55
- // }
56
-
57
- }
58
-
59
- @Override
60
- public void onButtonUpOrDown(final Flic2Button button, boolean wasQueued, boolean lastQueued, long timestamp, boolean isUp, boolean isDown) {
61
- Log.d(TAG, "onButtonUpOrDown()");
62
-
63
- if (isDown) {
64
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_DOWN, wasQueued, timestamp);
65
- }
66
- if (isUp) {
67
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_UP, wasQueued, timestamp);
68
- }
69
- }
70
-
71
- @Override
72
- public void onButtonSingleOrDoubleClick(Flic2Button button, boolean wasQueued, boolean lastQueued, long timestamp, boolean isSingleClick, boolean isDoubleClick) {
73
- // if (isSingleClick) {
74
- // mReactEvent.send(button, ReactEvent.EVENT_BUTTON_SINGLE_CLICK, wasQueued, timestamp);
75
- // } else {
76
- // mReactEvent.send(button, ReactEvent.EVENT_BUTTON_DOUBLE_CLICK, wasQueued, timestamp);
77
- // }
78
- }
79
-
80
- @Override
81
- public void onButtonSingleOrDoubleClickOrHold(Flic2Button button, boolean wasQueued, boolean lastQueued, long timestamp, boolean isSingleClick, boolean isDoubleClick, boolean isHold) {
82
- if (isSingleClick) {
83
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_SINGLE_CLICK, wasQueued, timestamp);
84
- } else if (isHold) {
85
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_HOLD, wasQueued, timestamp);
86
- } else {
87
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_DOUBLE_CLICK, wasQueued, timestamp);
88
- }
89
- }
90
-
91
- @Override
92
- public void onFirmwareVersionUpdated(Flic2Button button, int newVersion) {
93
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_NEW_FIRMWARE);
94
- }
95
-
96
- @Override
97
- public void onNameUpdated(Flic2Button button, String newName) {
98
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_NEW_NAME);
99
- }
100
-
101
- @Override
102
- public void onBatteryLevelUpdated(Flic2Button button, BatteryLevel level) {
103
- Log.d(TAG, "onBatteryLevelUpdated() called with: button = [" + level.getEstimatedPercentage() + "]");
104
- ReactEvent.getInstance().send(button, ReactEvent.EVENT_BUTTON_BATTERY_LEVEL);
105
- }
106
- }
@@ -1,168 +0,0 @@
1
- package nl.xguard.flic2.model;
2
-
3
- import android.util.Log;
4
-
5
- import com.facebook.react.bridge.WritableArray;
6
- import com.facebook.react.bridge.WritableMap;
7
- import com.facebook.react.bridge.WritableNativeArray;
8
-
9
- import java.util.ArrayList;
10
- import io.flic.flic2libandroid.Flic2Button;
11
- import io.flic.flic2libandroid.Flic2Manager;
12
- import nl.xguard.flic2.communication.ReactEvent;
13
- import nl.xguard.flic2.util.Consumer;
14
- import nl.xguard.flic2.service.IFlic2Service;
15
-
16
- public class ReactFlic2Manager implements IReactFlic2Manager {
17
- private static final String TAG = ReactFlic2Manager.class.getSimpleName();
18
-
19
- private Flic2Manager mFlic2Manager;
20
- private ReactFlic2ButtonListener mReactFlic2ButtonListener;
21
- private ArrayList<Flic2Button> mRegisteredFlic2Buttons = new ArrayList<>();
22
- private IFlic2Service mFlic2Service;
23
-
24
- public ReactFlic2Manager(Flic2Manager flic2Manager, ReactFlic2ButtonListener reactFlic2ButtonListener, IFlic2Service flic2Service) {
25
- mFlic2Manager = flic2Manager;
26
- mReactFlic2ButtonListener = reactFlic2ButtonListener;
27
- mFlic2Service = flic2Service;
28
- }
29
-
30
- @Override
31
- public void startScan() {
32
- mFlic2Manager.startScan(new ReactFlic2ScanCallback(this::registerFlic2Button));
33
- }
34
-
35
- @Override
36
- public void stopScan() {
37
- mFlic2Manager.stopScan();
38
- }
39
-
40
- @Override
41
- public void initButtons() {
42
- for (Flic2Button flic2Button : mFlic2Manager.getButtons()) {
43
- registerFlic2Button(flic2Button);
44
- }
45
-
46
- if (mRegisteredFlic2Buttons.size() == 0) {
47
- mFlic2Service.stopForegroundService();
48
- }
49
- }
50
-
51
- @Override
52
- public void connectAllButtons() {
53
- updateButtons(this::connectButton);
54
- }
55
-
56
- @Override
57
- public void disconnectAllKnownButtons() {
58
- updateButtons(this::disconnectButton);
59
- }
60
-
61
- @Override
62
- public void forgetAllButtons() {
63
- updateButtons(this::forgetButton);
64
- }
65
-
66
- @Override
67
- public void connectButton(String uuid) {
68
- Log.w(TAG, "connectButton() called with: size = [" + mRegisteredFlic2Buttons.size() + "]");
69
- Flic2Button flic2Button = getButton(uuid);
70
- if (flic2Button != null) {
71
- connectButton(flic2Button);
72
- }
73
- }
74
-
75
- @Override
76
- public void setName(String uuid, String name) {
77
- Flic2Button flic2Button = getButton(uuid);
78
- if (flic2Button != null) {
79
- flic2Button.setName(name);
80
- }
81
- }
82
-
83
- @Override
84
- public void disconnectButton(String uuid) {
85
- Flic2Button flic2Button = getButton(uuid);
86
- if (flic2Button != null) {
87
- disconnectButton(flic2Button);
88
- }
89
- }
90
-
91
- @Override
92
- public void forgetButton(String uuid) {
93
- Flic2Button flic2Button = getButton(uuid);
94
- if (flic2Button != null) {
95
- forgetButton(flic2Button);
96
- }
97
- }
98
-
99
- @Override
100
- public WritableArray getButtons() {
101
- WritableArray array = new WritableNativeArray();
102
-
103
- for (Flic2Button button : mRegisteredFlic2Buttons) {
104
- WritableMap map = ReactEvent.getInstance().getButtonArgs(button);
105
- array.pushMap(map);
106
- }
107
- return array;
108
- }
109
-
110
-
111
- private Flic2Button getButton(String uuid) {
112
- Flic2Button flic2Button = getButtonByBdAddr(uuid);
113
- if (flic2Button != null) {
114
- Log.d(TAG, "getButton() found with uuid: " + flic2Button.getUuid());
115
- } else {
116
- Log.d(TAG, "getButton() no button found " + uuid);
117
- }
118
- return flic2Button;
119
- }
120
-
121
- private Flic2Button getButtonByBdAddr(String uuid) {
122
- for (Flic2Button button : mRegisteredFlic2Buttons) {
123
- if (button.getUuid().equalsIgnoreCase(uuid)) {
124
- return button;
125
- }
126
- }
127
- return null;
128
- }
129
-
130
- private void updateButtons(Consumer<Flic2Button> consumer) {
131
- for (Flic2Button flic2Button : mRegisteredFlic2Buttons) {
132
- consumer.accept(flic2Button);
133
- }
134
- }
135
-
136
- private void registerFlic2Button(Flic2Button flic2Button) {
137
- flic2Button.addListener(mReactFlic2ButtonListener);
138
- mRegisteredFlic2Buttons.add(flic2Button);
139
- if (mRegisteredFlic2Buttons.size() > 0) {
140
- mFlic2Service.startForegroundService();
141
- }
142
- }
143
-
144
- private void unregisterFlic2Button(Flic2Button flic2Button) {
145
- mRegisteredFlic2Buttons.remove(flic2Button);
146
- flic2Button.removeListener(mReactFlic2ButtonListener);
147
- if (mRegisteredFlic2Buttons.size() == 0) {
148
- mFlic2Service.stopForegroundService();
149
- }
150
- }
151
-
152
- private void connectButton(Flic2Button flic2Button) {
153
- flic2Button.connect();
154
- if (mRegisteredFlic2Buttons.size() > 0) {
155
- mFlic2Service.startForegroundService();
156
- }
157
- }
158
-
159
- private void disconnectButton(Flic2Button flic2Button) {
160
- flic2Button.disconnectOrAbortPendingConnection();
161
- }
162
-
163
- private void forgetButton(Flic2Button flic2Button) {
164
- disconnectButton(flic2Button);
165
- unregisterFlic2Button(flic2Button);
166
- mFlic2Manager.forgetButton(flic2Button);
167
- }
168
- }