expo-flic2 0.3.0 → 0.3.2
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/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/results.bin +1 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/BuildConfig.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$createButtonListener$1.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$1$3$1.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$1.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$2.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$3.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$4.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$5.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$6.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$7.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$8.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$9.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$1.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$2.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$3.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$4.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$OnDestroy$1.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/ExpoFlic2Module.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/expo/modules/flic2/Flic2ButtonRecordKt.dex +0 -0
- package/android/build/.transforms/62bfdea1d2792e3c919549d30b412f00/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/.transforms/65c4cccd8d2440dd65bfb89bcb7c6d05/results.bin +1 -0
- package/android/build/.transforms/65c4cccd8d2440dd65bfb89bcb7c6d05/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/generated/source/buildConfig/debug/expo/modules/flic2/BuildConfig.java +10 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/expo-flic2_debug.kotlin_module +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/expo/modules/flic2/BuildConfig.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/expo-flic2_debug.kotlin_module +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$createButtonListener$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$1$3$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$4.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$5.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$6.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$7.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$8.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$9.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$4.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$OnDestroy$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/ExpoFlic2Module.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/expo/modules/flic2/Flic2ButtonRecordKt.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +16 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/expo-flic2_debug.kotlin_module +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$createButtonListener$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$1$3$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$3.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$4.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$5.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$6.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$7.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$8.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$Function$9.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$3.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$FunctionWithoutArgs$4.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module$definition$lambda$14$$inlined$OnDestroy$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/ExpoFlic2Module.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/expo/modules/flic2/Flic2ButtonRecordKt.class +0 -0
- package/android/build.gradle +3 -2
- package/android/src/main/java/expo/modules/flic2/AgeCalculator.kt +28 -0
- package/android/src/main/java/expo/modules/flic2/ExpoFlic2Module.kt +19 -8
- package/android/src/test/java/expo/modules/flic2/AgeCalculatorTest.kt +68 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
o/bundleLibRuntimeToDirDebug
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
o/classes
|
|
Binary file
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Automatically generated file. DO NOT MODIFY
|
|
3
|
+
*/
|
|
4
|
+
package expo.modules.flic2;
|
|
5
|
+
|
|
6
|
+
public final class BuildConfig {
|
|
7
|
+
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
|
8
|
+
public static final String LIBRARY_PACKAGE_NAME = "expo.modules.flic2";
|
|
9
|
+
public static final String BUILD_TYPE = "debug";
|
|
10
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"artifactType": {
|
|
4
|
+
"type": "AAPT_FRIENDLY_MERGED_MANIFESTS",
|
|
5
|
+
"kind": "Directory"
|
|
6
|
+
},
|
|
7
|
+
"applicationId": "expo.modules.flic2",
|
|
8
|
+
"variantName": "debug",
|
|
9
|
+
"elements": [
|
|
10
|
+
{
|
|
11
|
+
"type": "SINGLE",
|
|
12
|
+
"filters": [],
|
|
13
|
+
"attributes": [],
|
|
14
|
+
"outputFile": "AndroidManifest.xml"
|
|
15
|
+
}
|
|
16
|
+
],
|
|
17
|
+
"elementType": "File"
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#Tue Mar 17 22:01:08 EET 2026
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/build/generated/res/resValues/debug"/></dataSet><mergedItems/></merger>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/code/expo-flic2/android/src/main/assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/code/expo-flic2/android/src/debug/assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/code/expo-flic2/android/build/intermediates/shader_assets/debug/compileDebugShaders/out"/></dataSet></merger>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/code/expo-flic2/android/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/code/expo-flic2/android/src/debug/jniLibs"/></dataSet></merger>
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/code/expo-flic2/android/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:<dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ziller321/code/expo-flic2/android/src/debug/shaders"/></dataSet></merger>
|
|
Binary file
|
|
Binary file
|
package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0 Warning/Error
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
expo.modules.flic2
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len
ADDED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i
ADDED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at
ADDED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len
ADDED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i
ADDED
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len
ADDED
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len
ADDED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i
ADDED
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len
ADDED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at
ADDED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len
ADDED
|
Binary file
|
|
Binary file
|
package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin
ADDED
|
Binary file
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
-- Merging decision tree log ---
|
|
2
|
+
manifest
|
|
3
|
+
ADDED from /Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/main/AndroidManifest.xml:1:1-2:12
|
|
4
|
+
INJECTED from /Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/main/AndroidManifest.xml:1:1-2:12
|
|
5
|
+
package
|
|
6
|
+
INJECTED from /Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/main/AndroidManifest.xml
|
|
7
|
+
xmlns:android
|
|
8
|
+
ADDED from /Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/main/AndroidManifest.xml:1:11-69
|
|
9
|
+
uses-sdk
|
|
10
|
+
INJECTED from /Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/main/AndroidManifest.xml reason: use-sdk injection requested
|
|
11
|
+
INJECTED from /Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/main/AndroidManifest.xml
|
|
12
|
+
INJECTED from /Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/main/AndroidManifest.xml
|
|
13
|
+
android:targetSdkVersion
|
|
14
|
+
INJECTED from /Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/main/AndroidManifest.xml
|
|
15
|
+
android:minSdkVersion
|
|
16
|
+
INJECTED from /Users/ziller321/work/kuori/fingridshellnative/node_modules/expo-flic2/android/src/main/AndroidManifest.xml
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build.gradle
CHANGED
|
@@ -4,14 +4,14 @@ plugins {
|
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
group = 'expo.modules.flic2'
|
|
7
|
-
version = '0.3.
|
|
7
|
+
version = '0.3.2'
|
|
8
8
|
|
|
9
9
|
android {
|
|
10
10
|
namespace "expo.modules.flic2"
|
|
11
11
|
|
|
12
12
|
defaultConfig {
|
|
13
13
|
versionCode 1
|
|
14
|
-
versionName "0.3.
|
|
14
|
+
versionName "0.3.2"
|
|
15
15
|
minSdkVersion 24
|
|
16
16
|
}
|
|
17
17
|
|
|
@@ -32,4 +32,5 @@ repositories {
|
|
|
32
32
|
|
|
33
33
|
dependencies {
|
|
34
34
|
implementation 'com.github.50ButtonsEach:flic2lib-android:2.0.1'
|
|
35
|
+
testImplementation 'junit:junit:4.13.2'
|
|
35
36
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
package expo.modules.flic2
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Translates a Flic2 button event timestamp into an age (ms since the physical press).
|
|
5
|
+
*
|
|
6
|
+
* The Flic2 SDK provides timestamps in milliseconds since the *button's own boot*, which is
|
|
7
|
+
* unrelated to Android's clocks. To convert, we establish a correlation at onReady time:
|
|
8
|
+
* we record both the button's readyTimestamp and Android's SystemClock.elapsedRealtime()
|
|
9
|
+
* at the same moment, then use that offset for all subsequent events.
|
|
10
|
+
*/
|
|
11
|
+
object AgeCalculator {
|
|
12
|
+
/**
|
|
13
|
+
* @param nowElapsedMs SystemClock.elapsedRealtime() at the moment of processing
|
|
14
|
+
* @param androidReadyElapsedMs SystemClock.elapsedRealtime() recorded when onReady fired
|
|
15
|
+
* @param buttonReadyTimestamp button's readyTimestamp (ms since button boot) from onReady
|
|
16
|
+
* @param eventTimestamp button's event timestamp (ms since button boot)
|
|
17
|
+
* @return age in milliseconds, clamped to 0 (never negative)
|
|
18
|
+
*/
|
|
19
|
+
fun computeAgeMs(
|
|
20
|
+
nowElapsedMs: Long,
|
|
21
|
+
androidReadyElapsedMs: Long,
|
|
22
|
+
buttonReadyTimestamp: Long,
|
|
23
|
+
eventTimestamp: Long
|
|
24
|
+
): Long {
|
|
25
|
+
val estimatedAndroidEventTime = androidReadyElapsedMs + (eventTimestamp - buttonReadyTimestamp)
|
|
26
|
+
return maxOf(0L, nowElapsedMs - estimatedAndroidEventTime)
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -2,6 +2,7 @@ package expo.modules.flic2
|
|
|
2
2
|
|
|
3
3
|
import android.os.Handler
|
|
4
4
|
import android.os.Looper
|
|
5
|
+
import android.os.SystemClock
|
|
5
6
|
import expo.modules.kotlin.modules.Module
|
|
6
7
|
import expo.modules.kotlin.modules.ModuleDefinition
|
|
7
8
|
import io.flic.flic2libandroid.Flic2Button
|
|
@@ -16,6 +17,9 @@ class ExpoFlic2Module : Module() {
|
|
|
16
17
|
private var manager: Flic2Manager? = null
|
|
17
18
|
private val triggerModes = ConcurrentHashMap<String, String>()
|
|
18
19
|
private val buttonListeners = mutableMapOf<String, Flic2ButtonListener>()
|
|
20
|
+
// Correlation between button clock and Android clock, established at onReady.
|
|
21
|
+
// Maps uuid -> Pair(androidReadyElapsedMs, buttonReadyTimestampMs)
|
|
22
|
+
private val readyCorrelations = ConcurrentHashMap<String, Pair<Long, Long>>()
|
|
19
23
|
|
|
20
24
|
override fun definition() = ModuleDefinition {
|
|
21
25
|
Name("ExpoFlic2")
|
|
@@ -37,6 +41,7 @@ class ExpoFlic2Module : Module() {
|
|
|
37
41
|
}
|
|
38
42
|
buttonListeners.clear()
|
|
39
43
|
triggerModes.clear()
|
|
44
|
+
readyCorrelations.clear()
|
|
40
45
|
}
|
|
41
46
|
|
|
42
47
|
Function("initialize") {
|
|
@@ -114,6 +119,11 @@ class ExpoFlic2Module : Module() {
|
|
|
114
119
|
}
|
|
115
120
|
}
|
|
116
121
|
|
|
122
|
+
private fun ageMs(uuid: String, eventTimestamp: Long): Long {
|
|
123
|
+
val (androidReadyMs, buttonReadyMs) = readyCorrelations[uuid] ?: return 0L
|
|
124
|
+
return AgeCalculator.computeAgeMs(SystemClock.elapsedRealtime(), androidReadyMs, buttonReadyMs, eventTimestamp)
|
|
125
|
+
}
|
|
126
|
+
|
|
117
127
|
private fun findButton(uuid: String): Flic2Button? {
|
|
118
128
|
return manager?.getButtons()?.find { it.uuid == uuid }
|
|
119
129
|
}
|
|
@@ -137,12 +147,12 @@ class ExpoFlic2Module : Module() {
|
|
|
137
147
|
) {
|
|
138
148
|
val mode = triggerModes[button.uuid] ?: "clickAndDoubleClickAndHold"
|
|
139
149
|
if (mode != "click" && mode != "clickAndHold") return
|
|
140
|
-
val
|
|
150
|
+
val age = ageMs(button.uuid, timestamp)
|
|
141
151
|
if (isClick) {
|
|
142
|
-
sendEvent("onFlic2Click", mapOf("uuid" to button.uuid, "queued" to wasQueued, "age" to
|
|
152
|
+
sendEvent("onFlic2Click", mapOf("uuid" to button.uuid, "queued" to wasQueued, "age" to age))
|
|
143
153
|
}
|
|
144
154
|
if (isHold && mode == "clickAndHold") {
|
|
145
|
-
sendEvent("onFlic2Hold", mapOf("uuid" to button.uuid, "queued" to wasQueued, "age" to
|
|
155
|
+
sendEvent("onFlic2Hold", mapOf("uuid" to button.uuid, "queued" to wasQueued, "age" to age))
|
|
146
156
|
}
|
|
147
157
|
}
|
|
148
158
|
|
|
@@ -157,7 +167,7 @@ class ExpoFlic2Module : Module() {
|
|
|
157
167
|
) {
|
|
158
168
|
val mode = triggerModes[button.uuid] ?: "clickAndDoubleClickAndHold"
|
|
159
169
|
if (mode == "click" || mode == "clickAndHold") return
|
|
160
|
-
val
|
|
170
|
+
val age = ageMs(button.uuid, timestamp)
|
|
161
171
|
val emitClick = isSingleClick && mode != "clickAndDoubleClick"
|
|
162
172
|
val emitDoubleClick = isDoubleClick
|
|
163
173
|
val emitHold = isHold && mode != "clickAndDoubleClick"
|
|
@@ -165,21 +175,21 @@ class ExpoFlic2Module : Module() {
|
|
|
165
175
|
sendEvent("onFlic2Click", mapOf(
|
|
166
176
|
"uuid" to button.uuid,
|
|
167
177
|
"queued" to wasQueued,
|
|
168
|
-
"age" to
|
|
178
|
+
"age" to age
|
|
169
179
|
))
|
|
170
180
|
}
|
|
171
181
|
if (emitDoubleClick) {
|
|
172
182
|
sendEvent("onFlic2DoubleClick", mapOf(
|
|
173
183
|
"uuid" to button.uuid,
|
|
174
184
|
"queued" to wasQueued,
|
|
175
|
-
"age" to
|
|
185
|
+
"age" to age
|
|
176
186
|
))
|
|
177
187
|
}
|
|
178
188
|
if (emitHold) {
|
|
179
189
|
sendEvent("onFlic2Hold", mapOf(
|
|
180
190
|
"uuid" to button.uuid,
|
|
181
191
|
"queued" to wasQueued,
|
|
182
|
-
"age" to
|
|
192
|
+
"age" to age
|
|
183
193
|
))
|
|
184
194
|
}
|
|
185
195
|
}
|
|
@@ -196,7 +206,7 @@ class ExpoFlic2Module : Module() {
|
|
|
196
206
|
"uuid" to button.uuid,
|
|
197
207
|
"isDown" to isDown,
|
|
198
208
|
"queued" to wasQueued,
|
|
199
|
-
"age" to (
|
|
209
|
+
"age" to ageMs(button.uuid, timestamp)
|
|
200
210
|
))
|
|
201
211
|
}
|
|
202
212
|
|
|
@@ -208,6 +218,7 @@ class ExpoFlic2Module : Module() {
|
|
|
208
218
|
}
|
|
209
219
|
|
|
210
220
|
override fun onReady(button: Flic2Button, timestamp: Long) {
|
|
221
|
+
readyCorrelations[button.uuid] = Pair(SystemClock.elapsedRealtime(), timestamp)
|
|
211
222
|
sendEvent("onFlic2Connection", mapOf(
|
|
212
223
|
"uuid" to button.uuid,
|
|
213
224
|
"state" to "ready"
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
package expo.modules.flic2
|
|
2
|
+
|
|
3
|
+
import org.junit.Assert.assertEquals
|
|
4
|
+
import org.junit.Test
|
|
5
|
+
|
|
6
|
+
class AgeCalculatorTest {
|
|
7
|
+
|
|
8
|
+
// Scenario: button has been running for 10_000ms since its own boot.
|
|
9
|
+
// Android has been running for 5_000ms since its own boot.
|
|
10
|
+
// onReady fired when button reported 10_000ms and Android was at 5_000ms.
|
|
11
|
+
|
|
12
|
+
private val androidReady = 5_000L
|
|
13
|
+
private val buttonReady = 10_000L
|
|
14
|
+
|
|
15
|
+
@Test
|
|
16
|
+
fun `fresh press arrives with near-zero latency`() {
|
|
17
|
+
// Button pressed at button-time 10_050ms (50ms after ready).
|
|
18
|
+
// Android receives the event at android-time 5_080ms (80ms after ready).
|
|
19
|
+
// Expected age = 80 - 50 = 30ms.
|
|
20
|
+
val age = AgeCalculator.computeAgeMs(
|
|
21
|
+
nowElapsedMs = 5_080L,
|
|
22
|
+
androidReadyElapsedMs = androidReady,
|
|
23
|
+
buttonReadyTimestamp = buttonReady,
|
|
24
|
+
eventTimestamp = 10_050L
|
|
25
|
+
)
|
|
26
|
+
assertEquals(30L, age)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
@Test
|
|
30
|
+
fun `queued press that happened 5 seconds before button connected`() {
|
|
31
|
+
// Button pressed at button-time 5_000ms (5_000ms before ready at 10_000ms).
|
|
32
|
+
// Android receives at android-time 5_100ms (100ms after ready).
|
|
33
|
+
// Expected age = 5_100 - (5_000 + (5_000 - 10_000)) = 5_100 - 0 = 5_100ms.
|
|
34
|
+
val age = AgeCalculator.computeAgeMs(
|
|
35
|
+
nowElapsedMs = 5_100L,
|
|
36
|
+
androidReadyElapsedMs = androidReady,
|
|
37
|
+
buttonReadyTimestamp = buttonReady,
|
|
38
|
+
eventTimestamp = 5_000L
|
|
39
|
+
)
|
|
40
|
+
assertEquals(5_100L, age)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@Test
|
|
44
|
+
fun `age is clamped to zero when button clock is slightly ahead of android clock`() {
|
|
45
|
+
// eventTimestamp slightly ahead of ready (clock drift), should not go negative.
|
|
46
|
+
val age = AgeCalculator.computeAgeMs(
|
|
47
|
+
nowElapsedMs = 5_000L,
|
|
48
|
+
androidReadyElapsedMs = androidReady,
|
|
49
|
+
buttonReadyTimestamp = buttonReady,
|
|
50
|
+
eventTimestamp = 10_020L // 20ms into the future relative to now
|
|
51
|
+
)
|
|
52
|
+
assertEquals(0L, age)
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@Test
|
|
56
|
+
fun `age is zero when event happens exactly now`() {
|
|
57
|
+
// Button pressed at button-time 10_200ms (200ms after ready).
|
|
58
|
+
// Android receives at android-time 5_200ms (200ms after ready).
|
|
59
|
+
// Perfectly synchronised clocks => age = 0.
|
|
60
|
+
val age = AgeCalculator.computeAgeMs(
|
|
61
|
+
nowElapsedMs = 5_200L,
|
|
62
|
+
androidReadyElapsedMs = androidReady,
|
|
63
|
+
buttonReadyTimestamp = buttonReady,
|
|
64
|
+
eventTimestamp = 10_200L
|
|
65
|
+
)
|
|
66
|
+
assertEquals(0L, age)
|
|
67
|
+
}
|
|
68
|
+
}
|