@getquip/expo-nordic-dfu 0.1.0
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/.eslintrc.js +2 -0
- package/.github/CODEOWNERS +3 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- package/.github/workflows/actionlint.yml +21 -0
- package/.nvmrc +1 -0
- package/CONTRIBUTING.md +17 -0
- package/LICENSE +21 -0
- package/README.md +108 -0
- package/android/.gradle/8.10/checksums/checksums.lock +0 -0
- package/android/.gradle/8.10/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.10/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.10/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.10/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.10/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.10/gc.properties +0 -0
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/config.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/AndroidProjectSystem.xml +6 -0
- package/android/.idea/caches/deviceStreaming.xml +607 -0
- package/android/.idea/gradle.xml +12 -0
- package/android/.idea/migrations.xml +10 -0
- package/android/.idea/misc.xml +10 -0
- package/android/.idea/runConfigurations.xml +17 -0
- package/android/.idea/vcs.xml +6 -0
- package/android/build/.transforms/101a0f3c1cbb0bc0a96b13b14ea5674e/results.bin +1 -0
- package/android/build/.transforms/101a0f3c1cbb0bc0a96b13b14ea5674e/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/10fbbfccaf4a64ec5b26f25e62756ce4/results.bin +1 -0
- package/android/build/.transforms/10fbbfccaf4a64ec5b26f25e62756ce4/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/results.bin +1 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/BuildConfig.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/DfuService.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$1$1.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$1$2.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$8$$inlined$AsyncFunction$1.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$8$$inlined$AsyncFunction$2.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$8$$inlined$AsyncFunction$3.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$1.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$2.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$3.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$4.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$5.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$6.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$dfuProgressListener$1.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NotificationActivity.dex +0 -0
- package/android/build/.transforms/24ed67b53a64c100db2f1ab2b51b1aff/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/results.bin +1 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/BuildConfig.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/DfuService.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$definition$1$1.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$definition$1$2.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$definition$lambda$8$$inlined$AsyncFunction$1.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$definition$lambda$8$$inlined$AsyncFunction$2.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$definition$lambda$8$$inlined$AsyncFunction$3.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$1.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$2.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$3.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$4.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$5.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$definition$lambda$8$$inlined$AsyncFunctionWithPromise$6.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule$dfuProgressListener$1.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NordicDfuModule.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NotificationActivity.dex +0 -0
- package/android/build/.transforms/3f9e9d2e8b81b6aa1c435113a221ed39/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/.transforms/412eeb48a8e50f46bc3ba54d3a3d875a/results.bin +1 -0
- package/android/build/.transforms/412eeb48a8e50f46bc3ba54d3a3d875a/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/results.bin +1 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/BuildConfig.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/DfuService.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$1$1.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$1$2.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunction$1.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunction$2.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunction$3.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$1.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$2.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$3.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$4.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$5.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$6.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$7.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$8.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule$dfuProgressListener$1.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/ExpoNordicDfuModule.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/getquip/nordic/NotificationActivity.dex +0 -0
- package/android/build/.transforms/842d309fd12a7374119e4f9b4300d4a5/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/generated/source/buildConfig/debug/com/getquip/nordic/BuildConfig.java +10 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +14 -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/mergeDebugJniLibFolders/merger.xml +2 -0
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
- package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/getquip/nordic/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 +19 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +14 -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/getquip-expo-nordic-dfu_debug.kotlin_module +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/DfuService.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$1$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$1$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunction$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunction$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunction$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$4.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$5.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$6.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$7.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$8.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule$dfuProgressListener$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/ExpoNordicDfuModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/getquip/nordic/NotificationActivity.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/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/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/getquip-expo-nordic-dfu_debug.kotlin_module +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/DfuService.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$1$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$1$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunction$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunction$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunction$3.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$2.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$3.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$4.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$5.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$6.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$7.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$definition$lambda$10$$inlined$AsyncFunctionWithPromise$8.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule$dfuProgressListener$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/ExpoNordicDfuModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/getquip/nordic/NotificationActivity.class +0 -0
- package/android/build.gradle +55 -0
- package/android/src/main/AndroidManifest.xml +11 -0
- package/android/src/main/java/com/getquip/nordic/DfuService.kt +41 -0
- package/android/src/main/java/com/getquip/nordic/ExpoNordicDfuModule.kt +200 -0
- package/android/src/main/java/com/getquip/nordic/NotificationActivity.kt +25 -0
- package/build/ExpoNordicDfu.types.d.ts +32 -0
- package/build/ExpoNordicDfu.types.d.ts.map +1 -0
- package/build/ExpoNordicDfu.types.js +2 -0
- package/build/ExpoNordicDfu.types.js.map +1 -0
- package/build/ExpoNordicDfuModule.d.ts +18 -0
- package/build/ExpoNordicDfuModule.d.ts.map +1 -0
- package/build/ExpoNordicDfuModule.js +31 -0
- package/build/ExpoNordicDfuModule.js.map +1 -0
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +6 -0
- package/build/index.js.map +1 -0
- package/example/.env.example +2 -0
- package/example/.nvmrc +1 -0
- package/example/App.tsx +372 -0
- package/example/android/app/build.gradle +176 -0
- package/example/android/app/debug.keystore +0 -0
- package/example/android/app/proguard-rules.pro +14 -0
- package/example/android/app/src/debug/AndroidManifest.xml +7 -0
- package/example/android/app/src/main/AndroidManifest.xml +40 -0
- package/example/android/app/src/main/java/expo/modules/nordicdfu/example/MainActivity.kt +61 -0
- package/example/android/app/src/main/java/expo/modules/nordicdfu/example/MainApplication.kt +57 -0
- package/example/android/app/src/main/res/drawable/ic_launcher_background.xml +6 -0
- package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +37 -0
- package/example/android/app/src/main/res/drawable-hdpi/splashscreen_logo.png +0 -0
- package/example/android/app/src/main/res/drawable-mdpi/splashscreen_logo.png +0 -0
- package/example/android/app/src/main/res/drawable-xhdpi/splashscreen_logo.png +0 -0
- package/example/android/app/src/main/res/drawable-xxhdpi/splashscreen_logo.png +0 -0
- package/example/android/app/src/main/res/drawable-xxxhdpi/splashscreen_logo.png +0 -0
- package/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +5 -0
- package/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +5 -0
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp +0 -0
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
- package/example/android/app/src/main/res/values/colors.xml +6 -0
- package/example/android/app/src/main/res/values/strings.xml +5 -0
- package/example/android/app/src/main/res/values/styles.xml +17 -0
- package/example/android/app/src/main/res/values-night/colors.xml +1 -0
- package/example/android/build.gradle +41 -0
- package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/example/android/gradle/wrapper/gradle-wrapper.properties +7 -0
- package/example/android/gradle.properties +56 -0
- package/example/android/gradlew +252 -0
- package/example/android/gradlew.bat +94 -0
- package/example/android/settings.gradle +38 -0
- package/example/app.json +54 -0
- package/example/assets/adaptive-icon.png +0 -0
- package/example/assets/favicon.png +0 -0
- package/example/assets/icon.png +0 -0
- package/example/assets/splash-icon.png +0 -0
- package/example/babel.config.js +6 -0
- package/example/index.ts +8 -0
- package/example/ios/.xcode.env +11 -0
- package/example/ios/Podfile +66 -0
- package/example/ios/Podfile.lock +1944 -0
- package/example/ios/Podfile.properties.json +5 -0
- package/example/ios/exponordicdfuexample/AppDelegate.h +7 -0
- package/example/ios/exponordicdfuexample/AppDelegate.mm +62 -0
- package/example/ios/exponordicdfuexample/Images.xcassets/AppIcon.appiconset/App-Icon-1024x1024@1x.png +0 -0
- package/example/ios/exponordicdfuexample/Images.xcassets/AppIcon.appiconset/Contents.json +14 -0
- package/example/ios/exponordicdfuexample/Images.xcassets/Contents.json +6 -0
- package/example/ios/exponordicdfuexample/Images.xcassets/SplashScreenBackground.colorset/Contents.json +20 -0
- package/example/ios/exponordicdfuexample/Images.xcassets/SplashScreenLogo.imageset/Contents.json +23 -0
- package/example/ios/exponordicdfuexample/Images.xcassets/SplashScreenLogo.imageset/image.png +0 -0
- package/example/ios/exponordicdfuexample/Images.xcassets/SplashScreenLogo.imageset/image@2x.png +0 -0
- package/example/ios/exponordicdfuexample/Images.xcassets/SplashScreenLogo.imageset/image@3x.png +0 -0
- package/example/ios/exponordicdfuexample/Info.plist +76 -0
- package/example/ios/exponordicdfuexample/PrivacyInfo.xcprivacy +48 -0
- package/example/ios/exponordicdfuexample/SplashScreen.storyboard +44 -0
- package/example/ios/exponordicdfuexample/Supporting/Expo.plist +12 -0
- package/example/ios/exponordicdfuexample/exponordicdfuexample-Bridging-Header.h +3 -0
- package/example/ios/exponordicdfuexample/exponordicdfuexample.entitlements +5 -0
- package/example/ios/exponordicdfuexample/main.m +10 -0
- package/example/ios/exponordicdfuexample/noop-file.swift +4 -0
- package/example/ios/exponordicdfuexample.xcodeproj/project.pbxproj +544 -0
- package/example/ios/exponordicdfuexample.xcodeproj/xcshareddata/xcschemes/exponordicdfuexample.xcscheme +88 -0
- package/example/ios/exponordicdfuexample.xcworkspace/contents.xcworkspacedata +10 -0
- package/example/metro.config.js +34 -0
- package/example/package-lock.json +11069 -0
- package/example/package.json +31 -0
- package/example/tsconfig.json +10 -0
- package/example/webpack.config.js +20 -0
- package/expo-module.config.json +16 -0
- package/ios/ExpoNordicDfu.podspec +27 -0
- package/ios/ExpoNordicDfuModule.swift +168 -0
- package/package.json +64 -0
- package/src/ExpoNordicDfu.types.ts +38 -0
- package/src/ExpoNordicDfuModule.ts +73 -0
- package/src/index.ts +5 -0
- package/tsconfig.json +9 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "expo-nordic-dfu-example",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"main": "index.ts",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"start": "expo start",
|
|
7
|
+
"android": "expo run:android",
|
|
8
|
+
"ios": "expo run:ios",
|
|
9
|
+
"web": "expo start --web"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"expo": "~52.0.46",
|
|
13
|
+
"react": "~18.3.1",
|
|
14
|
+
"react-native": "~0.76.9",
|
|
15
|
+
"react-native-ble-manager": "^12.1.4",
|
|
16
|
+
"react-native-paper": "^5.13.3",
|
|
17
|
+
"expo-document-picker": "~13.0.3",
|
|
18
|
+
"expo-file-system": "~18.0.12"
|
|
19
|
+
},
|
|
20
|
+
"devDependencies": {
|
|
21
|
+
"@babel/core": "^7.25.2",
|
|
22
|
+
"@types/react": "~18.3.12",
|
|
23
|
+
"typescript": "^5.3.3"
|
|
24
|
+
},
|
|
25
|
+
"private": true,
|
|
26
|
+
"expo": {
|
|
27
|
+
"autolinking": {
|
|
28
|
+
"nativeModulesDir": ".."
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const createConfigAsync = require('@expo/webpack-config');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
module.exports = async (env, argv) => {
|
|
5
|
+
const config = await createConfigAsync(
|
|
6
|
+
{
|
|
7
|
+
...env,
|
|
8
|
+
babel: {
|
|
9
|
+
dangerouslyAddModulePathsToTranspile: ['expo-nordic-dfu'],
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
argv
|
|
13
|
+
);
|
|
14
|
+
config.resolve.modules = [
|
|
15
|
+
path.resolve(__dirname, './node_modules'),
|
|
16
|
+
path.resolve(__dirname, '../node_modules'),
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
return config;
|
|
20
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
require "json"
|
|
2
|
+
|
|
3
|
+
package = JSON.parse(File.read(File.join(__dir__, '..', 'package.json')))
|
|
4
|
+
|
|
5
|
+
Pod::Spec.new do |s|
|
|
6
|
+
s.name = "ExpoNordicDfu"
|
|
7
|
+
s.version = package["version"]
|
|
8
|
+
s.summary = package["description"]
|
|
9
|
+
s.description = package["description"]
|
|
10
|
+
s.license = package['license']
|
|
11
|
+
s.author = package['author']
|
|
12
|
+
s.homepage = package["homepage"] || package["url"]
|
|
13
|
+
s.platform = :ios, "15.1"
|
|
14
|
+
s.swift_version = '5.4'
|
|
15
|
+
s.source = { :git => "#{package["repository"]["url"]}.git", :tag => s.version }
|
|
16
|
+
s.static_framework = true
|
|
17
|
+
|
|
18
|
+
s.dependency 'ExpoModulesCore'
|
|
19
|
+
s.dependency "iOSDFULibrary", "~> 4.15.3"
|
|
20
|
+
|
|
21
|
+
# Swift/Objective-C compatibility
|
|
22
|
+
s.pod_target_xcconfig = {
|
|
23
|
+
'DEFINES_MODULE' => 'YES',
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
s.source_files = "**/*.{h,m,mm,swift,hpp,cpp}"
|
|
27
|
+
end
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import ExpoModulesCore
|
|
2
|
+
import NordicDFU
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
public class ExpoNordicDfuModule: Module, DFUProgressDelegate, DFUServiceDelegate, LoggerDelegate {
|
|
6
|
+
private static let logger = Logger(subsystem: "com.getquip.nordic", category: "DFU")
|
|
7
|
+
|
|
8
|
+
private var controller: DFUServiceController?
|
|
9
|
+
private var currentPromise: Promise?
|
|
10
|
+
private var deviceAddress: String?
|
|
11
|
+
|
|
12
|
+
public func definition() -> ModuleDefinition {
|
|
13
|
+
Name("ExpoNordicDfuModule")
|
|
14
|
+
|
|
15
|
+
Events("DFUStateChanged", "DFUProgress")
|
|
16
|
+
|
|
17
|
+
OnStartObserving {
|
|
18
|
+
// This is called when the module starts observing events.
|
|
19
|
+
// You can start listening to events here.
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
OnStopObserving {
|
|
23
|
+
// This is called when the module stops observing events.
|
|
24
|
+
// You can stop listening to events here.
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
AsyncFunction("startIosDfu") { (
|
|
28
|
+
deviceAddress: String,
|
|
29
|
+
fileUri: String,
|
|
30
|
+
connectionTimeout: Int?,
|
|
31
|
+
disableResume: Bool?,
|
|
32
|
+
packetReceiptNotificationParameter: Int?,
|
|
33
|
+
prepareDataObjectDelay: Double?,
|
|
34
|
+
promise: Promise
|
|
35
|
+
) in
|
|
36
|
+
guard self.controller == nil else {
|
|
37
|
+
promise.reject("dfu_in_progress", "A DFU process is already running")
|
|
38
|
+
return
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
self.currentPromise = promise
|
|
42
|
+
self.deviceAddress = deviceAddress
|
|
43
|
+
|
|
44
|
+
guard let uuid = UUID(uuidString: deviceAddress) else {
|
|
45
|
+
self.currentPromise?.reject("invalid_device_address", "Device address is invalid")
|
|
46
|
+
resetState()
|
|
47
|
+
return
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
Self.logger.info("Starting DFU on device \(uuid)")
|
|
51
|
+
|
|
52
|
+
let path = fileUri.replacingOccurrences(of: "file://", with: "")
|
|
53
|
+
let url = URL(fileURLWithPath: path)
|
|
54
|
+
let firmware = try DFUFirmware(urlToZipFile: url)
|
|
55
|
+
let initiator = DFUServiceInitiator().with(firmware: firmware)
|
|
56
|
+
initiator.logger = self
|
|
57
|
+
initiator.delegate = self
|
|
58
|
+
initiator.progressDelegate = self
|
|
59
|
+
initiator.alternativeAdvertisingNameEnabled = true
|
|
60
|
+
initiator.connectionTimeout = TimeInterval(connectionTimeout ?? 10)
|
|
61
|
+
// By default this is set to false. This property applies only to Secure DFU.
|
|
62
|
+
disableResume.map { initiator.disableResume = $0 }
|
|
63
|
+
// The number of packets of firmware data to be received by the DFU target before sending a new Packet Receipt Notification.
|
|
64
|
+
// Disabling PRNs increases upload speed but may cause failures on devices with slow flash memory.
|
|
65
|
+
packetReceiptNotificationParameter.map { initiator.packetReceiptNotificationParameter = UInt16($0) }
|
|
66
|
+
// Duration of a delay, that the service will wait before sending each data object in Secure DFU.
|
|
67
|
+
// The delay will be done after a data object is created, and before any data byte is sent.
|
|
68
|
+
// The default value is 0, which disables this feature for the second and following data objects, but the first one will be delayed by 0.4 sec.
|
|
69
|
+
// It has been found, that a delay of at least 0.3 sec reduces the risk of packet lose (the bootloader needs some time to prepare flash memory) on DFU bootloader from SDK 15, 16, and 17.
|
|
70
|
+
// The delay does not have to be longer than 0.4 sec, as according to performed tests, such such delay is sufficient.
|
|
71
|
+
// The recommended delay is from 0.3 to 0.4 second if your DFU bootloader is from SDK 15, 16 or 17. Older bootloaders do not need this delay.
|
|
72
|
+
prepareDataObjectDelay.map { initiator.dataObjectPreparationDelay = TimeInterval($0) }
|
|
73
|
+
self.controller = initiator.start(targetWithIdentifier: uuid)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
AsyncFunction("abortIosDfu") { (promise: Promise) in
|
|
77
|
+
let wasAborted = self.controller?.abort()
|
|
78
|
+
if wasAborted == nil {
|
|
79
|
+
promise.reject("no_running_dfu", "There is no DFU process currently running")
|
|
80
|
+
} else if wasAborted == false {
|
|
81
|
+
promise.reject("dfu_abort_failed", "Unable to abort DFU process")
|
|
82
|
+
} else {
|
|
83
|
+
promise.resolve()
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
public func dfuStateDidChange(to state: NordicDFU.DFUState) {
|
|
89
|
+
guard let deviceAddress = self.deviceAddress else { return }
|
|
90
|
+
|
|
91
|
+
let stateName: String = {
|
|
92
|
+
switch state {
|
|
93
|
+
case .aborted: return "DFU_ABORTED"
|
|
94
|
+
case .completed: return "DFU_COMPLETED"
|
|
95
|
+
case .connecting: return "CONNECTING"
|
|
96
|
+
case .disconnecting: return "DEVICE_DISCONNECTING"
|
|
97
|
+
case .enablingDfuMode: return "ENABLING_DFU_MODE"
|
|
98
|
+
case .starting: return "DFU_PROCESS_STARTING"
|
|
99
|
+
case .uploading: return "DFU_UPLOADING"
|
|
100
|
+
case .validating: return "FIRMWARE_VALIDATING"
|
|
101
|
+
default: return "UNKNOWN_STATE"
|
|
102
|
+
}
|
|
103
|
+
}()
|
|
104
|
+
|
|
105
|
+
sendEvent("DFUStateChanged", [
|
|
106
|
+
"deviceAddress": deviceAddress,
|
|
107
|
+
"state": stateName
|
|
108
|
+
])
|
|
109
|
+
|
|
110
|
+
if state == .aborted {
|
|
111
|
+
self.currentPromise?.resolve("DFU was aborted")
|
|
112
|
+
resetState()
|
|
113
|
+
}
|
|
114
|
+
if state == .completed {
|
|
115
|
+
self.currentPromise?.resolve(["deviceAddress": deviceAddress])
|
|
116
|
+
resetState()
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
public func dfuError(_ error: NordicDFU.DFUError, didOccurWithMessage message: String) {
|
|
121
|
+
guard let deviceAddress = self.deviceAddress else { return }
|
|
122
|
+
|
|
123
|
+
sendEvent("DFUStateChanged", [
|
|
124
|
+
"deviceAddress": deviceAddress,
|
|
125
|
+
"state": "DFU_FAILED"
|
|
126
|
+
])
|
|
127
|
+
let combinedMessage = "Error: \(error.rawValue), Error Type: \(String(describing: error)), Message: \(message)"
|
|
128
|
+
self.currentPromise?.reject("\(error.rawValue)", combinedMessage)
|
|
129
|
+
resetState()
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
public func dfuProgressDidChange(
|
|
133
|
+
for part: Int,
|
|
134
|
+
outOf totalParts: Int,
|
|
135
|
+
to progress: Int,
|
|
136
|
+
currentSpeedBytesPerSecond: Double,
|
|
137
|
+
avgSpeedBytesPerSecond: Double
|
|
138
|
+
) {
|
|
139
|
+
guard let deviceAddress = self.deviceAddress else { return }
|
|
140
|
+
|
|
141
|
+
sendEvent("DFUProgress", [
|
|
142
|
+
"deviceAddress": deviceAddress,
|
|
143
|
+
"percent": progress,
|
|
144
|
+
"speed": currentSpeedBytesPerSecond,
|
|
145
|
+
"avgSpeed": avgSpeedBytesPerSecond,
|
|
146
|
+
"currentPart": part,
|
|
147
|
+
"totalParts": totalParts,
|
|
148
|
+
])
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
public func logWith(_ level: LogLevel, message: String) {
|
|
152
|
+
switch level {
|
|
153
|
+
case .debug, .verbose:
|
|
154
|
+
Self.logger.debug("\(message, privacy: .public)")
|
|
155
|
+
case .info, .application:
|
|
156
|
+
Self.logger.info("\(message, privacy: .public)")
|
|
157
|
+
case .warning:
|
|
158
|
+
Self.logger.warning("\(message, privacy: .public)")
|
|
159
|
+
case .error:
|
|
160
|
+
Self.logger.error("\(message, privacy: .public)")
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
private func resetState() {
|
|
165
|
+
self.currentPromise = nil
|
|
166
|
+
self.controller = nil
|
|
167
|
+
}
|
|
168
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"author": "getquip",
|
|
3
|
+
"bugs": {
|
|
4
|
+
"url": "https://github.com/getquip/expo-nordic-dfu/issues"
|
|
5
|
+
},
|
|
6
|
+
"description": "Nordic DFU for Expo",
|
|
7
|
+
"devDependencies": {
|
|
8
|
+
"@types/react": "~18.3.12",
|
|
9
|
+
"expo": "~52.0.46",
|
|
10
|
+
"expo-module-scripts": "^4.0.5",
|
|
11
|
+
"prettier": "^2.8.8",
|
|
12
|
+
"react-native": "^0.76.9"
|
|
13
|
+
},
|
|
14
|
+
"expo-module": {
|
|
15
|
+
"platforms": [
|
|
16
|
+
"ios",
|
|
17
|
+
"android"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"homepage": "https://github.com/getquip/expo-nordic-dfu#readme",
|
|
21
|
+
"keywords": [
|
|
22
|
+
"android",
|
|
23
|
+
"dfu",
|
|
24
|
+
"expo",
|
|
25
|
+
"expo-module",
|
|
26
|
+
"ios",
|
|
27
|
+
"nordic",
|
|
28
|
+
"react-native"
|
|
29
|
+
],
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"main": "build/index.js",
|
|
32
|
+
"name": "@getquip/expo-nordic-dfu",
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"expo": "^52.0.0",
|
|
35
|
+
"react": "^18.0.0",
|
|
36
|
+
"react-native": "^0.76.0"
|
|
37
|
+
},
|
|
38
|
+
"publishConfig": {
|
|
39
|
+
"access": "public"
|
|
40
|
+
},
|
|
41
|
+
"react-native": {
|
|
42
|
+
"codegenConfig": {
|
|
43
|
+
"jsSrcsDir": "src",
|
|
44
|
+
"libraryName": "ExpoNordicDfu",
|
|
45
|
+
"name": "ExpoNordicDfu",
|
|
46
|
+
"type": "modules"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"repository": "getquip/expo-nordic-dfu",
|
|
50
|
+
"scripts": {
|
|
51
|
+
"build": "expo-module build",
|
|
52
|
+
"clean": "expo-module clean",
|
|
53
|
+
"expo-module": "expo-module",
|
|
54
|
+
"lint": "expo-module lint",
|
|
55
|
+
"open:android": "open -a \"Android Studio\" example/android",
|
|
56
|
+
"open:ios": "xed example/ios",
|
|
57
|
+
"prepare": "expo-module prepare",
|
|
58
|
+
"prepublishOnly": "expo-module prepublishOnly",
|
|
59
|
+
"test": "expo-module test"
|
|
60
|
+
},
|
|
61
|
+
"types": "build/index.d.ts",
|
|
62
|
+
"url": "https://github.com/getquip/expo-nordic-dfu",
|
|
63
|
+
"version": "0.1.0"
|
|
64
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type ExpoSettingsModuleEvents = {
|
|
2
|
+
DFUStateChanged: (params: DFUStateChangedPayload) => void;
|
|
3
|
+
DFUProgress: (params: DFUProgressPayload) => void;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
export type DFUStateChangedPayload = {
|
|
7
|
+
state: string;
|
|
8
|
+
deviceAddress: string;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export type DFUProgressPayload = {
|
|
12
|
+
deviceAddress: string;
|
|
13
|
+
percent: number;
|
|
14
|
+
speed: number;
|
|
15
|
+
avgSpeed: number;
|
|
16
|
+
currentPart: number;
|
|
17
|
+
totalParts: number;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type StartDFUParams = {
|
|
21
|
+
deviceAddress: string;
|
|
22
|
+
fileUri: string;
|
|
23
|
+
packetReceiptNotificationParameter?: number;
|
|
24
|
+
prepareDataObjectDelay?: number;
|
|
25
|
+
android?: {
|
|
26
|
+
deviceName?: string;
|
|
27
|
+
keepBond?: boolean;
|
|
28
|
+
numberOfRetries?: number;
|
|
29
|
+
// See android/src/main/java/com/getquip/nordic/ExpoNordicDfuModule.kt
|
|
30
|
+
// rebootTime?: number;
|
|
31
|
+
// restoreBond?: boolean;
|
|
32
|
+
}
|
|
33
|
+
ios?: {
|
|
34
|
+
connectionTimeout?: number,
|
|
35
|
+
disableResume?: boolean,
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { NativeModule, requireNativeModule } from 'expo';
|
|
2
|
+
import { ExpoSettingsModuleEvents, StartDFUParams } from './ExpoNordicDfu.types';
|
|
3
|
+
import { Platform } from 'react-native';
|
|
4
|
+
|
|
5
|
+
declare class ExpoNordicDfuModule extends NativeModule<ExpoSettingsModuleEvents> {
|
|
6
|
+
startAndroidDfu(
|
|
7
|
+
deviceAddress: string,
|
|
8
|
+
fileUri: string,
|
|
9
|
+
deviceName?: string,
|
|
10
|
+
keepBond?: boolean,
|
|
11
|
+
numberOfRetries?: number,
|
|
12
|
+
packetReceiptNotificationParameter?: number,
|
|
13
|
+
prepareDataObjectDelay?: number,
|
|
14
|
+
rebootTime?: number,
|
|
15
|
+
restoreBond?: boolean,
|
|
16
|
+
): Promise<void>;
|
|
17
|
+
abortAndroidDfu(): Promise<void>;
|
|
18
|
+
startIosDfu(
|
|
19
|
+
deviceAddress: string,
|
|
20
|
+
fileUri: string,
|
|
21
|
+
connectionTimeout?: number,
|
|
22
|
+
disableResume?: boolean,
|
|
23
|
+
packetReceiptNotificationParameter?: number,
|
|
24
|
+
prepareDataObjectDelay?: number,
|
|
25
|
+
): Promise<void>;
|
|
26
|
+
abortIosDfu(): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const DfuModule = requireNativeModule<ExpoNordicDfuModule>('ExpoNordicDfuModule');
|
|
30
|
+
|
|
31
|
+
class CrossplatformWrapper {
|
|
32
|
+
constructor(private dfuModule: ExpoNordicDfuModule) {}
|
|
33
|
+
|
|
34
|
+
get module() {
|
|
35
|
+
return this.dfuModule;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async startDfu(params: StartDFUParams): Promise<void> {
|
|
39
|
+
if (Platform.OS === 'ios') {
|
|
40
|
+
return await this.dfuModule.startIosDfu(
|
|
41
|
+
params.deviceAddress,
|
|
42
|
+
params.fileUri,
|
|
43
|
+
params.ios?.connectionTimeout,
|
|
44
|
+
params.ios?.disableResume,
|
|
45
|
+
params.packetReceiptNotificationParameter,
|
|
46
|
+
params.prepareDataObjectDelay,
|
|
47
|
+
);
|
|
48
|
+
} else {
|
|
49
|
+
return await this.dfuModule.startAndroidDfu(
|
|
50
|
+
params.deviceAddress,
|
|
51
|
+
params.fileUri,
|
|
52
|
+
params.android?.deviceName,
|
|
53
|
+
params.android?.keepBond,
|
|
54
|
+
params.android?.numberOfRetries,
|
|
55
|
+
params.packetReceiptNotificationParameter,
|
|
56
|
+
params.prepareDataObjectDelay,
|
|
57
|
+
// See android/src/main/java/com/getquip/nordic/ExpoNordicDfuModule.kt
|
|
58
|
+
// params.android?.rebootTime,
|
|
59
|
+
// params.android?.restoreBond,
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
async abortDfu(): Promise<void> {
|
|
65
|
+
if (Platform.OS === 'ios') {
|
|
66
|
+
return await this.dfuModule.abortIosDfu();
|
|
67
|
+
} else {
|
|
68
|
+
return await this.dfuModule.abortAndroidDfu();
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export default new CrossplatformWrapper(DfuModule);
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// Reexport the native module. On web, it will be resolved to ExpoNordicDfuModule.web.ts
|
|
2
|
+
// and on native platforms to ExpoNordicDfuModule.ts
|
|
3
|
+
export { default } from './ExpoNordicDfuModule';
|
|
4
|
+
// export { default as ExpoNordicDfuView } from './ExpoNordicDfuView';
|
|
5
|
+
export * from './ExpoNordicDfu.types';
|
package/tsconfig.json
ADDED