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.
- package/Flic2.podspec +22 -0
- package/{LICENSE.md → LICENSE} +1 -1
- package/README.md +17 -523
- package/android/build.gradle +64 -132
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +17 -29
- package/android/src/main/java/com/flic2/Flic2ButtonListener.kt +132 -0
- package/android/src/main/java/com/flic2/Flic2Converter.kt +103 -0
- package/android/src/main/java/com/flic2/Flic2Module.kt +480 -0
- package/android/src/main/java/com/flic2/Flic2Package.kt +33 -0
- package/android/src/main/java/com/flic2/Flic2Service.kt +112 -0
- package/ios/Flic2.h +9 -4
- package/ios/Flic2.mm +610 -0
- package/ios/flic2lib.framework/Headers/FLICButton.h +1 -1
- package/ios/flic2lib.framework/Headers/FLICManager.h +1 -1
- package/ios/flic2lib.framework/Info.plist +0 -0
- package/ios/flic2lib.framework/Modules/module.modulemap +1 -1
- package/ios/flic2lib.framework/flic2lib +0 -0
- package/lib/module/NativeFlic2.js +14 -0
- package/lib/module/NativeFlic2.js.map +1 -0
- package/lib/module/index.js +91 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NativeFlic2.d.ts +119 -0
- package/lib/typescript/src/NativeFlic2.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +81 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/package.json +132 -19
- package/src/NativeFlic2.ts +157 -0
- package/src/index.tsx +159 -0
- package/.editorconfig +0 -7
- package/.gitattributes +0 -1
- package/.idea/codeStyles/Project.xml +0 -116
- package/.idea/modules.xml +0 -8
- package/.idea/react-native-flic2.iml +0 -9
- package/.idea/vcs.xml +0 -6
- package/.idea/workspace.xml +0 -140
- package/android/.classpath +0 -6
- package/android/.gradle/5.4.1/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/5.4.1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/5.4.1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/5.4.1/fileContent/fileContent.lock +0 -0
- package/android/.gradle/5.4.1/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/5.4.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/5.4.1/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/5.4.1/gc.properties +0 -0
- package/android/.gradle/5.4.1/javaCompile/classAnalysis.bin +0 -0
- package/android/.gradle/5.4.1/javaCompile/jarAnalysis.bin +0 -0
- package/android/.gradle/5.4.1/javaCompile/javaCompile.lock +0 -0
- package/android/.gradle/5.4.1/javaCompile/taskHistory.bin +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/caches/build_file_checksums.ser +0 -0
- package/android/.idea/codeStyles/Project.xml +0 -116
- package/android/.idea/gradle.xml +0 -18
- package/android/.idea/libraries/Gradle__android_arch_core_common_1_1_1_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_collections_28_0_0_jar.xml +0 -9
- package/android/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0_jar.xml +0 -9
- package/android/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_1_10_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_1_10_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_1_10_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_1_10_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_1_10_0_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_1_10_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2_jar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_59_10_aar.xml +0 -17
- package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_6_0_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2_jar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1_jar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_1_jar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0_jar.xml +0 -13
- package/android/.idea/libraries/Gradle__io_flic_flic2lib_android_1_1_0_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml +0 -13
- package/android/.idea/misc.xml +0 -14
- package/android/.idea/modules.xml +0 -8
- package/android/.idea/runConfigurations.xml +0 -12
- package/android/.idea/vcs.xml +0 -6
- package/android/.idea/workspace.xml +0 -348
- package/android/.project +0 -34
- package/android/.settings/org.eclipse.buildship.core.prefs +0 -13
- package/android/README.md +0 -14
- package/android/android.iml +0 -139
- package/android/build/generated/source/buildConfig/debug/nl/xguard/flic2/BuildConfig.java +0 -13
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -46
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
- package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
- package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -15
- package/android/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml +0 -4
- package/android/build/intermediates/incremental/packageDebugResources/merger.xml +0 -2
- package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -46
- package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
- package/android/build/intermediates/packaged_res/debug/drawable/ic_launcher_background.xml +0 -74
- package/android/build/intermediates/packaged_res/debug/drawable-v24/ic_launcher_foreground.xml +0 -34
- package/android/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher.xml +0 -5
- package/android/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
- package/android/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher.png +0 -0
- package/android/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher_round.png +0 -0
- package/android/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher.png +0 -0
- package/android/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher_round.png +0 -0
- package/android/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher.png +0 -0
- package/android/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher_round.png +0 -0
- package/android/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher.png +0 -0
- package/android/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher_round.png +0 -0
- package/android/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher.png +0 -0
- package/android/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher_round.png +0 -0
- package/android/build/intermediates/packaged_res/debug/values/values.xml +0 -4
- package/android/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt +0 -989
- package/android/build/intermediates/symbols/debug/R.txt +0 -1302
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -95
- package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/android/gradle/wrapper/gradle-wrapper.properties +0 -6
- package/android/gradlew +0 -172
- package/android/gradlew.bat +0 -84
- package/android/local.properties +0 -8
- package/android/src/main/ic_launcher-web.png +0 -0
- package/android/src/main/java/nl/xguard/flic2/Flic2.java +0 -213
- package/android/src/main/java/nl/xguard/flic2/Flic2Package.java +0 -28
- package/android/src/main/java/nl/xguard/flic2/communication/IReactEvent.java +0 -15
- package/android/src/main/java/nl/xguard/flic2/communication/NullReactEvent.java +0 -47
- package/android/src/main/java/nl/xguard/flic2/communication/ReactEvent.java +0 -230
- package/android/src/main/java/nl/xguard/flic2/model/IReactFlic2Manager.java +0 -27
- package/android/src/main/java/nl/xguard/flic2/model/NullReactFlic2Manager.java +0 -70
- package/android/src/main/java/nl/xguard/flic2/model/ReactAndroidHandler.java +0 -33
- package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2ButtonListener.java +0 -106
- package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2Manager.java +0 -168
- package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2ScanCallback.java +0 -48
- package/android/src/main/java/nl/xguard/flic2/model/ReactLogger.java +0 -14
- package/android/src/main/java/nl/xguard/flic2/service/Flic2Service.java +0 -200
- package/android/src/main/java/nl/xguard/flic2/service/Flic2ServiceConnection.java +0 -41
- package/android/src/main/java/nl/xguard/flic2/service/IFlic2Service.java +0 -13
- package/android/src/main/java/nl/xguard/flic2/sharedpreferences/flic2SharedPreferences.java +0 -35
- package/android/src/main/java/nl/xguard/flic2/util/ActivityUtil.java +0 -29
- package/android/src/main/java/nl/xguard/flic2/util/Consumer.java +0 -12
- package/android/src/main/res/drawable/ic_launcher_background.xml +0 -74
- package/android/src/main/res/drawable-v24/ic_launcher_foreground.xml +0 -34
- package/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -5
- package/android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
- package/android/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/android/src/main/res/values/ids.xml +0 -5
- package/build/generated/source/buildConfig/debug/com/flic2/BuildConfig.java +0 -13
- package/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -46
- package/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output.json +0 -1
- package/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
- package/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
- package/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
- package/build/intermediates/incremental/debug-mergeJniLibs/merge-state +0 -0
- package/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
- package/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
- package/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
- package/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -15
- package/build/intermediates/incremental/packageDebugResources/merger.xml +0 -2
- package/build/intermediates/intermediate-jars/debug/classes.jar +0 -0
- package/build/intermediates/intermediate-jars/debug/res.jar +0 -0
- package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/BuildConfig.class +0 -0
- package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Module$1.class +0 -0
- package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Module.class +0 -0
- package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Package.class +0 -0
- package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/callback/flic2ButtonCallback.class +0 -0
- package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/communication/ReactEvent.class +0 -0
- package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service$BootUpReceiver.class +0 -0
- package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service$UpdateReceiver.class +0 -0
- package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service.class +0 -0
- package/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -46
- package/build/intermediates/merged_manifests/debug/output.json +0 -1
- package/build/intermediates/packaged-classes/debug/classes.jar +0 -0
- package/build/intermediates/packaged_res/debug/drawable/ic_launcher_background.xml +0 -74
- package/build/intermediates/packaged_res/debug/drawable-v24/ic_launcher_foreground.xml +0 -34
- package/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher.xml +0 -5
- package/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
- package/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher.png +0 -0
- package/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher_round.png +0 -0
- package/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher.png +0 -0
- package/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher_round.png +0 -0
- package/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher.png +0 -0
- package/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher_round.png +0 -0
- package/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher.png +0 -0
- package/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher_round.png +0 -0
- package/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher.png +0 -0
- package/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher_round.png +0 -0
- package/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt +0 -1290
- package/build/intermediates/symbols/debug/R.txt +0 -1764
- package/build/intermediates/transforms/mergeJavaRes/debug/0.jar +0 -0
- package/build/intermediates/transforms/mergeJavaRes/debug/__content__.json +0 -1
- package/build/intermediates/transforms/mergeJniLibs/debug/__content__.json +0 -1
- package/build/intermediates/transforms/stripDebugSymbol/debug/__content__.json +0 -1
- package/build/outputs/aar/react-native-flic2-debug.aar +0 -0
- package/build/outputs/logs/manifest-merger-debug-report.txt +0 -95
- package/flic2Button.js +0 -170
- package/index.js +0 -430
- package/ios/Flic2.m +0 -611
- package/ios/Flic2.xcodeproj/project.pbxproj +0 -320
- package/ios/Flic2.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
- package/ios/Flic2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/Flic2.xcodeproj/project.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Flic2.xcodeproj/xcshareddata/xcschemes/Flic2.xcscheme +0 -66
- package/ios/Flic2.xcodeproj/xcuserdata/wesdewitte.xcuserdatad/xcschemes/xcschememanagement.plist +0 -22
- package/ios/Flic2.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/Flic2.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/ios/Flic2.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -5
- package/ios/Flic2.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Flic2.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/WorkspaceSettings.xcsettings +0 -14
- package/react-native-flic2.podspec +0 -26
package/android/build.gradle
CHANGED
|
@@ -1,149 +1,81 @@
|
|
|
1
|
-
// android/build.gradle
|
|
2
|
-
|
|
3
|
-
// based on:
|
|
4
|
-
//
|
|
5
|
-
// * https://github.com/facebook/react-native/blob/0.60-stable/template/android/build.gradle
|
|
6
|
-
// original location:
|
|
7
|
-
// - https://github.com/facebook/react-native/blob/0.58-stable/local-cli/templates/HelloWorld/android/build.gradle
|
|
8
|
-
//
|
|
9
|
-
// * https://github.com/facebook/react-native/blob/0.60-stable/template/android/app/build.gradle
|
|
10
|
-
// original location:
|
|
11
|
-
// - https://github.com/facebook/react-native/blob/0.58-stable/local-cli/templates/HelloWorld/android/app/build.gradle
|
|
12
|
-
|
|
13
|
-
def DEFAULT_COMPILE_SDK_VERSION = 28
|
|
14
|
-
def DEFAULT_BUILD_TOOLS_VERSION = '28.0.3'
|
|
15
|
-
def DEFAULT_MIN_SDK_VERSION = 23
|
|
16
|
-
def DEFAULT_TARGET_SDK_VERSION = 28
|
|
17
|
-
|
|
18
|
-
def safeExtGet(prop, fallback) {
|
|
19
|
-
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
20
|
-
}
|
|
21
|
-
|
|
22
1
|
buildscript {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
// ref: https://docs.gradle.org/current/userguide/tutorial_using_tasks.html#sec:build_script_external_dependencies
|
|
27
|
-
if (project == rootProject) {
|
|
28
|
-
repositories {
|
|
29
|
-
google()
|
|
30
|
-
}
|
|
31
|
-
dependencies {
|
|
32
|
-
classpath 'com.android.tools.build:gradle:3.4.1'
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
apply plugin: 'com.android.library'
|
|
38
|
-
apply plugin: 'maven-publish'
|
|
39
|
-
|
|
40
|
-
android {
|
|
41
|
-
compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION)
|
|
42
|
-
buildToolsVersion safeExtGet('buildToolsVersion', DEFAULT_BUILD_TOOLS_VERSION)
|
|
43
|
-
defaultConfig {
|
|
44
|
-
minSdkVersion safeExtGet('minSdkVersion', DEFAULT_MIN_SDK_VERSION)
|
|
45
|
-
targetSdkVersion safeExtGet('targetSdkVersion', DEFAULT_TARGET_SDK_VERSION)
|
|
46
|
-
versionCode 1
|
|
47
|
-
versionName "1.0"
|
|
48
|
-
}
|
|
49
|
-
lintOptions {
|
|
50
|
-
abortOnError false
|
|
51
|
-
}
|
|
52
|
-
}
|
|
2
|
+
ext.getExtOrDefault = {name ->
|
|
3
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['Flic2_' + name]
|
|
4
|
+
}
|
|
53
5
|
|
|
54
|
-
repositories {
|
|
55
|
-
// ref: https://www.baeldung.com/maven-local-repository
|
|
56
|
-
mavenLocal()
|
|
57
|
-
maven {
|
|
58
|
-
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
|
59
|
-
url "$rootDir/../node_modules/react-native/android"
|
|
60
|
-
}
|
|
61
|
-
maven {
|
|
62
|
-
// Android JSC is installed from npm
|
|
63
|
-
url "$rootDir/../node_modules/jsc-android/dist"
|
|
64
|
-
}
|
|
65
|
-
maven { url 'https://jitpack.io' }
|
|
6
|
+
repositories {
|
|
66
7
|
google()
|
|
8
|
+
mavenCentral()
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
dependencies {
|
|
12
|
+
classpath "com.android.tools.build:gradle:8.7.2"
|
|
13
|
+
// noinspection DifferentKotlinGradleVersion
|
|
14
|
+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}"
|
|
15
|
+
}
|
|
67
16
|
}
|
|
68
17
|
|
|
69
|
-
dependencies {
|
|
70
|
-
//noinspection GradleDynamicVersion
|
|
71
|
-
implementation 'com.facebook.react:react-native:+' // From node_modules
|
|
72
|
-
implementation 'com.github.50ButtonsEach:flic2lib-android:1.3.1'
|
|
73
18
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
}
|
|
19
|
+
apply plugin: "com.android.library"
|
|
20
|
+
apply plugin: "kotlin-android"
|
|
77
21
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
name packageJson.title
|
|
83
|
-
artifactId packageJson.name
|
|
84
|
-
version = packageJson.version
|
|
85
|
-
group = "nl.xguard.flic2"
|
|
86
|
-
description packageJson.description
|
|
87
|
-
url packageJson.repository.baseUrl
|
|
88
|
-
|
|
89
|
-
licenses {
|
|
90
|
-
license {
|
|
91
|
-
name packageJson.license
|
|
92
|
-
url packageJson.repository.baseUrl + '/blob/master/' + packageJson.licenseFilename
|
|
93
|
-
distribution 'repo'
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
developers {
|
|
98
|
-
developer {
|
|
99
|
-
id packageJson.author
|
|
100
|
-
name packageJson.author
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
22
|
+
apply plugin: "com.facebook.react"
|
|
23
|
+
|
|
24
|
+
def getExtOrIntegerDefault(name) {
|
|
25
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["Flic2_" + name]).toInteger()
|
|
104
26
|
}
|
|
105
27
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
// https://www.oreilly.com/library/view/gradle-beyond-the/9781449373801/ch03.html
|
|
109
|
-
task androidJavadoc(type: Javadoc) {
|
|
110
|
-
source = android.sourceSets.main.java.srcDirs
|
|
111
|
-
classpath += files(android.bootClasspath)
|
|
112
|
-
project.getConfigurations().getByName('implementation').setCanBeResolved(true)
|
|
113
|
-
classpath += files(project.getConfigurations().getByName('implementation').asList())
|
|
114
|
-
include '**/*.java'
|
|
115
|
-
}
|
|
28
|
+
android {
|
|
29
|
+
namespace "com.flic2"
|
|
116
30
|
|
|
117
|
-
|
|
118
|
-
classifier = 'javadoc'
|
|
119
|
-
from androidJavadoc.destinationDir
|
|
120
|
-
}
|
|
31
|
+
compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
|
|
121
32
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
33
|
+
defaultConfig {
|
|
34
|
+
minSdkVersion getExtOrIntegerDefault("minSdkVersion")
|
|
35
|
+
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
|
36
|
+
}
|
|
127
37
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
38
|
+
buildFeatures {
|
|
39
|
+
buildConfig true
|
|
40
|
+
}
|
|
131
41
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
42
|
+
buildTypes {
|
|
43
|
+
release {
|
|
44
|
+
minifyEnabled false
|
|
135
45
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
lintOptions {
|
|
49
|
+
disable "GradleCompatible"
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
compileOptions {
|
|
53
|
+
sourceCompatibility JavaVersion.VERSION_1_8
|
|
54
|
+
targetCompatibility JavaVersion.VERSION_1_8
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
sourceSets {
|
|
58
|
+
main {
|
|
59
|
+
java.srcDirs += [
|
|
60
|
+
"generated/java",
|
|
61
|
+
"generated/jni"
|
|
62
|
+
]
|
|
140
63
|
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
141
66
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
67
|
+
repositories {
|
|
68
|
+
mavenCentral()
|
|
69
|
+
google()
|
|
70
|
+
maven { url 'https://jitpack.io' }
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
def kotlin_version = getExtOrDefault("kotlinVersion")
|
|
74
|
+
|
|
75
|
+
dependencies {
|
|
76
|
+
implementation "com.facebook.react:react-android"
|
|
77
|
+
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
78
|
+
implementation 'com.github.50ButtonsEach:flic2lib-android:1.+'
|
|
79
|
+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
|
|
80
|
+
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3'
|
|
149
81
|
}
|
|
@@ -1,39 +1,27 @@
|
|
|
1
1
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
2
|
-
|
|
2
|
+
xmlns:tools="http://schemas.android.com/tools">
|
|
3
3
|
|
|
4
|
-
<
|
|
4
|
+
<!-- Bluetooth permissions for API < 31 -->
|
|
5
|
+
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
|
|
6
|
+
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
|
|
7
|
+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="30" />
|
|
8
|
+
|
|
9
|
+
<!-- Bluetooth permissions for API >= 31 -->
|
|
10
|
+
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"
|
|
11
|
+
android:usesPermissionFlags="neverForLocation"
|
|
12
|
+
tools:targetApi="s" />
|
|
13
|
+
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
|
|
14
|
+
|
|
15
|
+
<!-- Foreground service permission -->
|
|
5
16
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
|
6
|
-
<uses-permission android:name="android.permission.
|
|
17
|
+
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE" />
|
|
7
18
|
|
|
8
19
|
<application>
|
|
9
20
|
<service
|
|
10
|
-
android:name="
|
|
11
|
-
android:enabled="true"
|
|
12
|
-
android:exported="false" />
|
|
13
|
-
|
|
14
|
-
<receiver
|
|
15
|
-
android:name="nl.xguard.flic2.service.Flic2Service$BootUpReceiver"
|
|
16
|
-
android:enabled="true"
|
|
17
|
-
android:permission="android.permission.RECEIVE_BOOT_COMPLETED"
|
|
18
|
-
android:exported="false">
|
|
19
|
-
<intent-filter>
|
|
20
|
-
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
|
21
|
-
<category android:name="android.intent.category.DEFAULT" />
|
|
22
|
-
</intent-filter>
|
|
23
|
-
</receiver>
|
|
24
|
-
|
|
25
|
-
<receiver
|
|
26
|
-
android:name="nl.xguard.flic2.service.Flic2Service$UpdateReceiver"
|
|
21
|
+
android:name=".Flic2Service"
|
|
27
22
|
android:enabled="true"
|
|
28
|
-
android:exported="false"
|
|
29
|
-
|
|
30
|
-
<action android:name="android.intent.action.PACKAGE_REPLACED" />
|
|
31
|
-
<data
|
|
32
|
-
android:path="nl.xguard.flic2"
|
|
33
|
-
android:scheme="package" />
|
|
34
|
-
<category android:name="android.intent.category.LAUNCHER" />
|
|
35
|
-
</intent-filter>
|
|
36
|
-
</receiver>
|
|
23
|
+
android:exported="false"
|
|
24
|
+
android:foregroundServiceType="connectedDevice" />
|
|
37
25
|
</application>
|
|
38
26
|
|
|
39
27
|
</manifest>
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
package com.flic2
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Arguments
|
|
4
|
+
import com.facebook.react.bridge.WritableMap
|
|
5
|
+
import io.flic.flic2libandroid.BatteryLevel
|
|
6
|
+
import io.flic.flic2libandroid.Flic2Button
|
|
7
|
+
import io.flic.flic2libandroid.Flic2ButtonListener
|
|
8
|
+
|
|
9
|
+
class Flic2ButtonEventListener(
|
|
10
|
+
private val emitEvent: (WritableMap) -> Unit
|
|
11
|
+
) : Flic2ButtonListener() {
|
|
12
|
+
|
|
13
|
+
// Map Android library's onConnect() to emit "connected" (matches iOS)
|
|
14
|
+
override fun onConnect(button: Flic2Button) {
|
|
15
|
+
emitEvent(createButtonEvent(button, "connected"))
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Map Android library's onReady() to emit "ready" (matches iOS)
|
|
19
|
+
override fun onReady(button: Flic2Button, timestamp: Long) {
|
|
20
|
+
emitEvent(createButtonEvent(button, "ready"))
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Map Android library's onDisconnect() to emit "disconnected" (matches iOS)
|
|
24
|
+
override fun onDisconnect(button: Flic2Button) {
|
|
25
|
+
emitEvent(createButtonEvent(button, "disconnected"))
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// Map Android library's onFailure() to emit "connectionFailed" (matches iOS)
|
|
29
|
+
override fun onFailure(button: Flic2Button, errorCode: Int, subCode: Int) {
|
|
30
|
+
emitEvent(createButtonEvent(button, "connectionFailed").apply {
|
|
31
|
+
putMap("error", Arguments.createMap().apply {
|
|
32
|
+
putInt("code", errorCode)
|
|
33
|
+
putInt("subCode", subCode)
|
|
34
|
+
putString("message", "Connection failed: code=$errorCode, subCode=$subCode")
|
|
35
|
+
})
|
|
36
|
+
})
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
override fun onButtonUpOrDown(
|
|
40
|
+
button: Flic2Button,
|
|
41
|
+
wasQueued: Boolean,
|
|
42
|
+
lastQueued: Boolean,
|
|
43
|
+
timestamp: Long,
|
|
44
|
+
isUp: Boolean,
|
|
45
|
+
isDown: Boolean
|
|
46
|
+
) {
|
|
47
|
+
val event = if (isDown) "buttonDown" else "buttonUp"
|
|
48
|
+
emitEvent(createButtonEvent(button, event).apply {
|
|
49
|
+
putBoolean("queued", wasQueued)
|
|
50
|
+
putDouble("age", System.currentTimeMillis() - timestamp.toDouble())
|
|
51
|
+
})
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
override fun onButtonClickOrHold(
|
|
55
|
+
button: Flic2Button,
|
|
56
|
+
wasQueued: Boolean,
|
|
57
|
+
lastQueued: Boolean,
|
|
58
|
+
timestamp: Long,
|
|
59
|
+
isClick: Boolean,
|
|
60
|
+
isHold: Boolean
|
|
61
|
+
) {
|
|
62
|
+
val event = if (isClick) "click" else "hold"
|
|
63
|
+
emitEvent(createButtonEvent(button, event).apply {
|
|
64
|
+
putBoolean("queued", wasQueued)
|
|
65
|
+
putDouble("age", System.currentTimeMillis() - timestamp.toDouble())
|
|
66
|
+
})
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
override fun onButtonSingleOrDoubleClick(
|
|
70
|
+
button: Flic2Button,
|
|
71
|
+
wasQueued: Boolean,
|
|
72
|
+
lastQueued: Boolean,
|
|
73
|
+
timestamp: Long,
|
|
74
|
+
isSingleClick: Boolean,
|
|
75
|
+
isDoubleClick: Boolean
|
|
76
|
+
) {
|
|
77
|
+
val event = if (isSingleClick) "click" else "doubleClick"
|
|
78
|
+
emitEvent(createButtonEvent(button, event).apply {
|
|
79
|
+
putBoolean("queued", wasQueued)
|
|
80
|
+
putDouble("age", System.currentTimeMillis() - timestamp.toDouble())
|
|
81
|
+
})
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
override fun onButtonSingleOrDoubleClickOrHold(
|
|
85
|
+
button: Flic2Button,
|
|
86
|
+
wasQueued: Boolean,
|
|
87
|
+
lastQueued: Boolean,
|
|
88
|
+
timestamp: Long,
|
|
89
|
+
isSingleClick: Boolean,
|
|
90
|
+
isDoubleClick: Boolean,
|
|
91
|
+
isHold: Boolean
|
|
92
|
+
) {
|
|
93
|
+
val event = when {
|
|
94
|
+
isSingleClick -> "click"
|
|
95
|
+
isDoubleClick -> "doubleClick"
|
|
96
|
+
isHold -> "hold"
|
|
97
|
+
else -> "unknown"
|
|
98
|
+
}
|
|
99
|
+
emitEvent(createButtonEvent(button, event).apply {
|
|
100
|
+
putBoolean("queued", wasQueued)
|
|
101
|
+
putDouble("age", System.currentTimeMillis() - timestamp.toDouble())
|
|
102
|
+
})
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Map Android library's onUnpaired() to emit "unpaired" (matches iOS)
|
|
106
|
+
override fun onUnpaired(button: Flic2Button) {
|
|
107
|
+
emitEvent(createButtonEvent(button, "unpaired"))
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Map Android library's onBatteryLevelUpdated() to emit "batteryUpdate" (matches iOS)
|
|
111
|
+
override fun onBatteryLevelUpdated(button: Flic2Button, level: BatteryLevel) {
|
|
112
|
+
emitEvent(createButtonEvent(button, "batteryUpdate").apply {
|
|
113
|
+
putDouble("voltage", level.voltage.toDouble())
|
|
114
|
+
})
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Map Android library's onNameUpdated() to emit "nicknameUpdate" (matches iOS)
|
|
118
|
+
override fun onNameUpdated(button: Flic2Button, newName: String) {
|
|
119
|
+
emitEvent(createButtonEvent(button, "nicknameUpdate").apply {
|
|
120
|
+
putString("nickname", newName)
|
|
121
|
+
})
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
private fun createButtonEvent(button: Flic2Button, event: String): WritableMap {
|
|
125
|
+
return Arguments.createMap().apply {
|
|
126
|
+
putString("uuid", button.uuid)
|
|
127
|
+
putString("event", event)
|
|
128
|
+
putMap("button", Flic2Converter.buttonToMap(button))
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
package com.flic2
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Arguments
|
|
4
|
+
import com.facebook.react.bridge.WritableArray
|
|
5
|
+
import com.facebook.react.bridge.WritableMap
|
|
6
|
+
import io.flic.flic2libandroid.Flic2Button
|
|
7
|
+
|
|
8
|
+
object Flic2Converter {
|
|
9
|
+
|
|
10
|
+
fun buttonToMap(button: Flic2Button): WritableMap {
|
|
11
|
+
return Arguments.createMap().apply {
|
|
12
|
+
putString("uuid", button.uuid)
|
|
13
|
+
putString("identifier", button.uuid) // Android uses UUID as identifier
|
|
14
|
+
putString("name", button.getName() ?: "")
|
|
15
|
+
putString("nickname", button.getName() ?: "")
|
|
16
|
+
putString("bluetoothAddress", button.getBdAddr() ?: "")
|
|
17
|
+
putString("serialNumber", button.getSerialNumber() ?: "")
|
|
18
|
+
|
|
19
|
+
// Use connection state constants instead of enum
|
|
20
|
+
val connState = button.getConnectionState()
|
|
21
|
+
putInt("state", connectionStateToInt(connState))
|
|
22
|
+
putString("stateName", connectionStateToString(connState))
|
|
23
|
+
|
|
24
|
+
// iOS-only: Return defaults for trigger/latency mode (not supported in Android v1.1.0+)
|
|
25
|
+
putInt("triggerMode", 0)
|
|
26
|
+
putString("triggerModeName", "")
|
|
27
|
+
putInt("latencyMode", 0)
|
|
28
|
+
putString("latencyModeName", "")
|
|
29
|
+
|
|
30
|
+
putInt("pressCount", button.getPressCount())
|
|
31
|
+
putInt("firmwareRevision", button.getFirmwareVersion())
|
|
32
|
+
|
|
33
|
+
// Check if ready by comparing connection state
|
|
34
|
+
val isReady = connState == Flic2Button.CONNECTION_STATE_CONNECTED_READY
|
|
35
|
+
putBoolean("isReady", isReady)
|
|
36
|
+
|
|
37
|
+
// Get battery level from BatteryLevel object
|
|
38
|
+
val batteryLevel = button.getLastKnownBatteryLevel()
|
|
39
|
+
putDouble("batteryVoltage", batteryLevel?.voltage?.toDouble() ?: 0.0)
|
|
40
|
+
|
|
41
|
+
putBoolean("isUnpaired", button.isUnpaired())
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
fun buttonsToArray(buttons: List<Flic2Button>): WritableArray {
|
|
46
|
+
return Arguments.createArray().apply {
|
|
47
|
+
buttons.forEach { button ->
|
|
48
|
+
pushMap(buttonToMap(button))
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private fun connectionStateToInt(state: Int): Int {
|
|
54
|
+
return when (state) {
|
|
55
|
+
Flic2Button.CONNECTION_STATE_DISCONNECTED -> 0
|
|
56
|
+
Flic2Button.CONNECTION_STATE_CONNECTING -> 1
|
|
57
|
+
Flic2Button.CONNECTION_STATE_CONNECTED_STARTING -> 2
|
|
58
|
+
Flic2Button.CONNECTION_STATE_CONNECTED_READY -> 3
|
|
59
|
+
else -> 0
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
private fun connectionStateToString(state: Int): String {
|
|
64
|
+
return when (state) {
|
|
65
|
+
Flic2Button.CONNECTION_STATE_DISCONNECTED -> "disconnected"
|
|
66
|
+
Flic2Button.CONNECTION_STATE_CONNECTING -> "connecting"
|
|
67
|
+
Flic2Button.CONNECTION_STATE_CONNECTED_STARTING -> "connected"
|
|
68
|
+
Flic2Button.CONNECTION_STATE_CONNECTED_READY -> "connected"
|
|
69
|
+
else -> "disconnected"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Trigger mode and latency mode are iOS-only features (removed from Android library v1.1.0+)
|
|
74
|
+
|
|
75
|
+
fun scanResultToString(result: Int): String {
|
|
76
|
+
return when (result) {
|
|
77
|
+
0 -> "success"
|
|
78
|
+
1 -> "alreadyRunning"
|
|
79
|
+
2 -> "bluetoothNotActivated"
|
|
80
|
+
3 -> "unknown"
|
|
81
|
+
4 -> "noPublicButtonDiscovered"
|
|
82
|
+
5 -> "alreadyConnectedToAnotherDevice"
|
|
83
|
+
6 -> "connectionTimeout"
|
|
84
|
+
7 -> "invalidVerifier"
|
|
85
|
+
8 -> "blePairingFailedPreviousPairingAlreadyExisting"
|
|
86
|
+
9 -> "blePairingFailedUserCanceled"
|
|
87
|
+
10 -> "blePairingFailedUnknownReason"
|
|
88
|
+
11 -> "appCredentialsDontMatch"
|
|
89
|
+
12 -> "userCanceled"
|
|
90
|
+
13 -> "invalidBluetoothAddress"
|
|
91
|
+
14 -> "genuineCheckFailed"
|
|
92
|
+
15 -> "tooManyApps"
|
|
93
|
+
16 -> "couldNotSetBluetoothNotify"
|
|
94
|
+
17 -> "couldNotDiscoverBluetoothServices"
|
|
95
|
+
18 -> "buttonDisconnectedDuringVerification"
|
|
96
|
+
19 -> "failedToEstablish"
|
|
97
|
+
20 -> "connectionLimitReached"
|
|
98
|
+
21 -> "notInPublicMode"
|
|
99
|
+
else -> "unknown"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|