@animo-id/expo-mdoc-data-transfer 0.1.6 → 0.2.0-alpha.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.
Files changed (254) hide show
  1. package/MdocDataTransfer.podspec +14 -14
  2. package/android/build/.transforms/1b8378295914042bd56f454fccadf450/results.bin +1 -0
  3. package/android/build/.transforms/1b8378295914042bd56f454fccadf450/transformed/classes/classes_dex/classes.dex +0 -0
  4. package/android/build/.transforms/b1c7825c26ef74820bf1a2f9b0863b9c/results.bin +1 -0
  5. package/android/build/.transforms/b1c7825c26ef74820bf1a2f9b0863b9c/transformed/classes/classes_dex/classes.dex +0 -0
  6. package/android/build/.transforms/bd47d41628a1234539d52fed18dc00d8/results.bin +1 -0
  7. package/android/build/.transforms/bd47d41628a1234539d52fed18dc00d8/transformed/classes/classes_dex/classes.dex +0 -0
  8. package/android/build/.transforms/ca70f32e4c31dcc1e27ce5e573009a23/results.bin +1 -0
  9. package/android/build/.transforms/ca70f32e4c31dcc1e27ce5e573009a23/transformed/classes/classes_dex/classes.dex +0 -0
  10. package/android/build/generated/source/buildConfig/debug/id/animo/mdoc/datatransfer/BuildConfig.java +10 -0
  11. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
  12. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  13. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  14. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  15. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  16. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  17. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +3 -0
  18. package/android/build/intermediates/compiled_local_resources/debug/compileDebugLibraryResources/out/xml_nfc_engagement_apdu_service.xml.flat +0 -0
  19. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +2 -0
  20. package/android/build/intermediates/incremental/debug/packageDebugResources/merged.dir/values/values.xml +5 -0
  21. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  22. package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  23. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  24. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  25. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/animo-id-expo-mdoc-data-transfer_debug.kotlin_module +0 -0
  26. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/id/animo/mdoc/datatransfer/BuildConfig.class +0 -0
  27. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +5 -0
  28. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
  29. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
  30. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  31. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  32. package/android/build/intermediates/packaged_res/debug/packageDebugResources/values/values.xml +5 -0
  33. package/android/build/intermediates/packaged_res/debug/packageDebugResources/xml/nfc_engagement_apdu_service.xml +30 -0
  34. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  35. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +4 -0
  36. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  37. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  38. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  39. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  40. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  41. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  42. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  43. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  44. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  45. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  46. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  47. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  48. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  49. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  50. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  51. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  52. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  53. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  54. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  55. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  56. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  57. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  58. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  59. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  60. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  61. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  62. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  63. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  64. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  65. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  66. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  67. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  68. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  69. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  70. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  71. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab +0 -0
  72. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream +0 -0
  73. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.keystream.len +0 -0
  74. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.len +0 -0
  75. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab.values.at +0 -0
  76. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i +0 -0
  77. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/package-parts.tab_i.len +0 -0
  78. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  79. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  80. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  81. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  82. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  131. package/android/build/outputs/logs/manifest-merger-debug-report.txt +14 -0
  132. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  133. package/android/build/tmp/kotlin-classes/debug/META-INF/animo-id-expo-mdoc-data-transfer_debug.kotlin_module +0 -0
  134. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent$Connected.class +0 -0
  135. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent$Connecting.class +0 -0
  136. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent$Disconnected.class +0 -0
  137. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent$Error.class +0 -0
  138. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent$IntentToSend.class +0 -0
  139. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent$Listenable.class +0 -0
  140. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent$Listener.class +0 -0
  141. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent$QrEngagementReady.class +0 -0
  142. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent$Redirect.class +0 -0
  143. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent$RequestReceived.class +0 -0
  144. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent$ResponseSent.class +0 -0
  145. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferEvent.class +0 -0
  146. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferManager$Companion.class +0 -0
  147. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferManager$DefaultImpls.class +0 -0
  148. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferManager.class +0 -0
  149. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferManagerImpl$Builder.class +0 -0
  150. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferManagerImpl$Companion.class +0 -0
  151. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/TransferManagerImpl.class +0 -0
  152. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/engagement/BleRetrievalMethod.class +0 -0
  153. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/engagement/DeviceRetrievalMethod.class +0 -0
  154. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/engagement/NfcEngagementService$Companion.class +0 -0
  155. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/engagement/NfcEngagementService$deviceRetrievalHelperListener$1.class +0 -0
  156. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/engagement/NfcEngagementService$nfcEngagementListener$1.class +0 -0
  157. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/engagement/NfcEngagementService.class +0 -0
  158. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/engagement/RetrievalMethod.class +0 -0
  159. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/internal/DeviceRetrievalHelperExtKt.class +0 -0
  160. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/internal/DeviceRetrievalMethodExtKt.class +0 -0
  161. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/internal/EngagementToApp$presentationListener$1.class +0 -0
  162. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/internal/EngagementToApp.class +0 -0
  163. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/internal/ExtensionsKt.class +0 -0
  164. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/internal/QrEngagement$deviceRetrievalHelperListener$1.class +0 -0
  165. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/internal/QrEngagement$qrEngagementListener$1.class +0 -0
  166. package/android/build/tmp/kotlin-classes/debug/eu/europa/ec/eudi/iso18013/transfer/internal/QrEngagement.class +0 -0
  167. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransfer$Companion.class +0 -0
  168. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransfer.class +0 -0
  169. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferEvent.class +0 -0
  170. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferException$NotInitialized.class +0 -0
  171. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferException.class +0 -0
  172. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferManager.class +0 -0
  173. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferModule$definition$1$1$1.class +0 -0
  174. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferModule$definition$1$2$1$1.class +0 -0
  175. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferModule$definition$lambda$6$$inlined$AsyncFunction$1.class +0 -0
  176. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferModule$definition$lambda$6$$inlined$AsyncFunction$2.class +0 -0
  177. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferModule$definition$lambda$6$$inlined$AsyncFunction$3.class +0 -0
  178. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferModule$definition$lambda$6$$inlined$Function$1.class +0 -0
  179. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferModule$definition$lambda$6$$inlined$Function$2.class +0 -0
  180. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferModule$definition$lambda$6$$inlined$FunctionWithoutArgs$1.class +0 -0
  181. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferModule$definition$lambda$6$$inlined$FunctionWithoutArgs$2.class +0 -0
  182. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferModule$definition$lambda$6$$inlined$FunctionWithoutArgs$3.class +0 -0
  183. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/MdocDataTransferModule.class +0 -0
  184. package/android/build/tmp/kotlin-classes/debug/id/animo/mdoc/datatransfer/NfcEngagementServiceImpl.class +0 -0
  185. package/android/build.gradle +17 -42
  186. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/TransferEvent.kt +39 -0
  187. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/TransferManager.kt +34 -0
  188. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/TransferManagerImpl.kt +258 -0
  189. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/engagement/BleRetrievalMethod.kt +23 -0
  190. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/engagement/DeviceRetrievalMethod.kt +19 -0
  191. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/engagement/NfcEngagementService.kt +198 -0
  192. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/engagement/RetrievalMethod.kt +19 -0
  193. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/internal/DeviceRetrievalHelperExt.kt +41 -0
  194. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/internal/DeviceRetrievalMethodExt.kt +55 -0
  195. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/internal/EngagementToApp.kt +97 -0
  196. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/internal/Extensions.kt +42 -0
  197. package/android/src/main/java/eu/europa/ec/eudi/iso18013/transfer/internal/QrEngagement.kt +141 -0
  198. package/android/src/main/java/id/animo/{mdocdatatransfer → mdoc/datatransfer}/MdocDataTransfer.kt +18 -11
  199. package/android/src/main/java/id/animo/{mdocdatatransfer → mdoc/datatransfer}/MdocDataTransferEvent.kt +2 -2
  200. package/android/src/main/java/id/animo/{mdocdatatransfer → mdoc/datatransfer}/MdocDataTransferException.kt +2 -2
  201. package/android/src/main/java/id/animo/{mdocdatatransfer → mdoc/datatransfer}/MdocDataTransferManager.kt +2 -16
  202. package/android/src/main/java/id/animo/{mdocdatatransfer → mdoc/datatransfer}/MdocDataTransferModule.kt +8 -9
  203. package/android/src/main/java/id/animo/{mdocdatatransfer → mdoc/datatransfer}/NfcEngagementServiceImpl.kt +2 -2
  204. package/android/src/main/res/values/strings.xml +20 -0
  205. package/android/src/main/res/xml/nfc_engagement_apdu_service.xml +30 -0
  206. package/build/MdocDataTransfer.d.ts +8 -4
  207. package/build/MdocDataTransfer.d.ts.map +1 -1
  208. package/build/MdocDataTransfer.js +26 -18
  209. package/build/MdocDataTransfer.js.map +1 -1
  210. package/build/MdocDataTransferError.d.ts +3 -0
  211. package/build/MdocDataTransferError.d.ts.map +1 -0
  212. package/build/MdocDataTransferError.js +3 -0
  213. package/build/MdocDataTransferError.js.map +1 -0
  214. package/build/MdocDataTransferEvent.d.ts +9 -5
  215. package/build/MdocDataTransferEvent.d.ts.map +1 -1
  216. package/build/MdocDataTransferEvent.js +1 -0
  217. package/build/MdocDataTransferEvent.js.map +1 -1
  218. package/build/NativeMdocDataTransfer.d.ts +16 -2
  219. package/build/NativeMdocDataTransfer.d.ts.map +1 -1
  220. package/build/NativeMdocDataTransfer.js +1 -1
  221. package/build/NativeMdocDataTransfer.js.map +1 -1
  222. package/build/specs/NativeMdocDataTransfer.d.ts +6 -4
  223. package/build/specs/NativeMdocDataTransfer.d.ts.map +1 -1
  224. package/build/specs/NativeMdocDataTransfer.js +2 -1
  225. package/build/specs/NativeMdocDataTransfer.js.map +1 -1
  226. package/expo-module.config.json +7 -5
  227. package/ios/MdocDataTransfer-Bridging-Header.h +1 -2
  228. package/ios/MdocDataTransfer.swift +186 -221
  229. package/ios/MdocDataTransferError.swift +36 -36
  230. package/ios/MdocDataTransferEvent.swift +12 -0
  231. package/ios/MdocDataTransferModule.swift +39 -0
  232. package/ios/eudi/BLETransfer/MdocGATTServer.swift +315 -0
  233. package/ios/eudi/BLETransfer/MdocOfflineDelegate.swift +15 -0
  234. package/ios/eudi/BLETransfer/ServiceCharacteristics.swift +48 -0
  235. package/ios/eudi/Enumerations.swift +67 -0
  236. package/ios/eudi/MdocDataTransfer18013.swift +21 -0
  237. package/ios/eudi/MdocHelpers.swift +94 -0
  238. package/package.json +14 -16
  239. package/plugin/build/withAndroid.js +16 -3
  240. package/plugin/src/index.ts +16 -0
  241. package/plugin/src/withAndroid.ts +199 -0
  242. package/plugin/src/withIos.ts +48 -0
  243. package/plugin/tsconfig.json +9 -0
  244. package/plugin/tsconfig.tsbuildinfo +1 -0
  245. package/src/MdocDataTransfer.ts +89 -0
  246. package/src/MdocDataTransferError.ts +1 -0
  247. package/src/MdocDataTransferEvent.ts +16 -0
  248. package/src/NativeMdocDataTransfer.ts +18 -0
  249. package/src/index.ts +2 -0
  250. package/src/useMdocDataTransferShutdownOnUnmount.ts +9 -0
  251. package/tsconfig.json +9 -0
  252. package/README.md +0 -41
  253. package/ios/MdocDataTransfer.mm +0 -23
  254. package/src/specs/NativeMdocDataTransfer.ts +0 -13
@@ -1,6 +1,6 @@
1
1
  apply plugin: 'com.android.library'
2
2
 
3
- group = 'id.animo.mdocdatatransfer'
3
+ group = 'id.animo.mdoc.datatransfer'
4
4
  version = '0.1.0'
5
5
 
6
6
  def expoModulesCorePlugin = new File(project(":expo-modules-core").projectDir.absolutePath, "ExpoModulesCorePlugin.gradle")
@@ -9,30 +9,21 @@ applyKotlinExpoModulesCorePlugin()
9
9
  useCoreDependencies()
10
10
  useExpoPublishing()
11
11
 
12
- // If you want to use the managed Android SDK versions from expo-modules-core, set this to true.
13
- // The Android SDK versions will be bumped from time to time in SDK releases and may introduce breaking changes in your module code.
14
- // Most of the time, you may like to manage the Android SDK versions yourself.
15
- def useManagedAndroidSdkVersions = false
16
- if (useManagedAndroidSdkVersions) {
17
- useDefaultAndroidSdkVersions()
18
- } else {
19
- buildscript {
20
- // Simple helper that allows the root project to override versions declared by this library.
21
- ext.safeExtGet = { prop, fallback ->
22
- rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
23
- }
12
+ buildscript {
13
+ ext.safeExtGet = { prop, fallback ->
14
+ rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
24
15
  }
25
- project.android {
26
- compileSdkVersion safeExtGet("compileSdkVersion", 34)
27
- defaultConfig {
28
- minSdkVersion safeExtGet("minSdkVersion", 26)
29
- targetSdkVersion safeExtGet("targetSdkVersion", 34)
30
- }
16
+ }
17
+ project.android {
18
+ compileSdkVersion safeExtGet("compileSdkVersion", 36)
19
+ defaultConfig {
20
+ minSdkVersion safeExtGet("minSdkVersion", 24)
21
+ targetSdkVersion safeExtGet("targetSdkVersion", 36)
31
22
  }
32
23
  }
33
24
 
34
25
  android {
35
- namespace "id.animo.mdocdatatransfer"
26
+ namespace "id.animo.mdoc.datatransfer"
36
27
  defaultConfig {
37
28
  versionCode 1
38
29
  versionName "0.1.0"
@@ -42,27 +33,11 @@ android {
42
33
  }
43
34
  }
44
35
 
45
- dependencies {
46
- implementation("eu.europa.ec.eudi:eudi-lib-android-wallet-document-manager:0.9.0") {
47
- exclude group: 'org.bouncycastle'
48
- exclude module: 'bcprov-jdk18on'
49
- }
50
-
51
- implementation("com.android.identity:identity-android:202408.1") {
52
- exclude group: 'org.bouncycastle'
53
- exclude module: 'bcprov-jdk18on'
54
- }
55
36
 
56
- implementation("eu.europa.ec.eudi:eudi-lib-android-iso18013-data-transfer:0.6.0") {
57
- exclude group: 'org.bouncycastle'
58
- exclude module: 'bcprov-jdk18on'
59
- }
60
-
61
- implementation("org.bouncycastle:bcprov-jdk18on") {
62
- version {
63
- strictly '1.72'
64
- }
65
- }
66
-
67
- implementation "androidx.biometric:biometric-ktx:1.2.0-alpha05"
37
+ dependencies {
38
+ implementation("androidx.appcompat:appcompat:1.7.1")
39
+ implementation("org.jetbrains.kotlinx:kotlinx-io-core:0.5.4")
40
+ implementation("org.jetbrains.kotlinx:kotlinx-io-bytestring:0.5.4")
41
+ implementation("org.multipaz:multipaz-android:0.95.0")
42
+ implementation("org.multipaz:multipaz-android-legacy:0.95.0")
68
43
  }
@@ -0,0 +1,39 @@
1
+ package eu.europa.ec.eudi.iso18013.transfer
2
+
3
+ import android.content.Intent
4
+ import java.net.URI
5
+
6
+ sealed interface TransferEvent {
7
+ data class QrEngagementReady(val qrCode: String) : TransferEvent
8
+
9
+ data object Connecting : TransferEvent
10
+
11
+ data object Connected : TransferEvent
12
+
13
+ data class RequestReceived(
14
+ val deviceRequestBytes: ByteArray,
15
+ val sessionTranscriptBytes: ByteArray
16
+ ) : TransferEvent
17
+
18
+ data object ResponseSent : TransferEvent
19
+
20
+ data class Redirect(val redirectUri: URI) : TransferEvent
21
+
22
+ data class IntentToSend(val intent: Intent) : TransferEvent
23
+
24
+ data object Disconnected : TransferEvent
25
+
26
+ data class Error(val error: Throwable) : TransferEvent
27
+
28
+ fun interface Listener {
29
+ fun onTransferEvent(event: TransferEvent)
30
+ }
31
+
32
+ interface Listenable {
33
+ fun addTransferEventListener(listener: Listener): Listenable
34
+
35
+ fun removeTransferEventListener(listener: Listener): Listenable
36
+
37
+ fun removeAllTransferEventListeners(): Listenable
38
+ }
39
+ }
@@ -0,0 +1,34 @@
1
+ package eu.europa.ec.eudi.iso18013.transfer
2
+
3
+ import android.content.Context
4
+ import android.content.Intent
5
+ import eu.europa.ec.eudi.iso18013.transfer.engagement.DeviceRetrievalMethod
6
+ import eu.europa.ec.eudi.iso18013.transfer.engagement.NfcEngagementService
7
+
8
+ interface TransferManager : TransferEvent.Listenable {
9
+ fun setRetrievalMethods(retrievalMethods: List<DeviceRetrievalMethod>): TransferManager
10
+
11
+ fun setupNfcEngagement(service: NfcEngagementService): TransferManager
12
+
13
+ fun startQrEngagement()
14
+
15
+
16
+ fun startEngagementToApp(intent: Intent)
17
+
18
+ fun sendResponse(deviceResponseBytes: ByteArray)
19
+
20
+ fun stopPresentation(
21
+ sendSessionTerminationMessage: Boolean = true,
22
+ useTransportSpecificSessionTermination: Boolean = false,
23
+ )
24
+
25
+ companion object {
26
+ @JvmStatic
27
+ fun getDefault(
28
+ context: Context,
29
+ retrievalMethods: List<DeviceRetrievalMethod>? = null,
30
+ ): TransferManager = TransferManagerImpl(context) {
31
+ retrievalMethods?.let { retrievalMethods(it) }
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,258 @@
1
+ package eu.europa.ec.eudi.iso18013.transfer
2
+
3
+ import android.content.Context
4
+ import android.content.Intent
5
+ import android.util.Log
6
+ import androidx.core.net.toUri
7
+ import com.android.identity.android.mdoc.deviceretrieval.DeviceRetrievalHelper
8
+ import eu.europa.ec.eudi.iso18013.transfer.engagement.DeviceRetrievalMethod
9
+ import eu.europa.ec.eudi.iso18013.transfer.engagement.NfcEngagementService
10
+ import eu.europa.ec.eudi.iso18013.transfer.internal.EngagementToApp
11
+ import eu.europa.ec.eudi.iso18013.transfer.internal.QrEngagement
12
+ import eu.europa.ec.eudi.iso18013.transfer.internal.TAG
13
+ import eu.europa.ec.eudi.iso18013.transfer.internal.stopPresentation
14
+ import eu.europa.ec.eudi.iso18013.transfer.internal.transportOptions
15
+ import org.multipaz.mdoc.origininfo.OriginInfo
16
+ import org.multipaz.mdoc.origininfo.OriginInfoDomain
17
+ import org.multipaz.util.Constants
18
+
19
+ class TransferManagerImpl @JvmOverloads constructor(
20
+ context: Context,
21
+ retrievalMethods: List<DeviceRetrievalMethod>? = null,
22
+ ) : TransferManager {
23
+ private val context = context.applicationContext
24
+
25
+ @JvmSynthetic
26
+ internal var deviceRetrievalHelper: DeviceRetrievalHelper? = null
27
+
28
+ @JvmSynthetic
29
+ internal var engagementToApp: EngagementToApp? = null
30
+
31
+ @JvmSynthetic
32
+ internal var qrEngagement: QrEngagement? = null
33
+
34
+ @JvmSynthetic
35
+ internal var hasStarted = false
36
+
37
+ var retrievalMethods: List<DeviceRetrievalMethod> =
38
+ retrievalMethods?.let { listOf(*it.toTypedArray()) } ?: emptyList()
39
+ private set(value) {
40
+ field = listOf(*value.toTypedArray())
41
+ }
42
+
43
+ @JvmSynthetic
44
+ internal val transferEventListeners = mutableListOf<TransferEvent.Listener>()
45
+
46
+ override fun addTransferEventListener(listener: TransferEvent.Listener) = apply {
47
+ transferEventListeners.add(listener)
48
+ }
49
+
50
+ override fun removeTransferEventListener(listener: TransferEvent.Listener) = apply {
51
+ transferEventListeners.remove(listener)
52
+ }
53
+
54
+ override fun removeAllTransferEventListeners() = apply {
55
+ transferEventListeners.clear()
56
+ }
57
+
58
+ override fun setRetrievalMethods(retrievalMethods: List<DeviceRetrievalMethod>) = apply {
59
+ this.retrievalMethods = retrievalMethods
60
+ }
61
+
62
+ override fun startQrEngagement() {
63
+ if (hasStarted) {
64
+ Log.d(this.TAG, TRANSFER_STARTED_MSG)
65
+ transferEventListeners.onTransferEvent(
66
+ TransferEvent.Error(
67
+ IllegalStateException(
68
+ TRANSFER_STARTED_MSG,
69
+ ),
70
+ ),
71
+ )
72
+ return
73
+ }
74
+ qrEngagement = QrEngagement(
75
+ context = context,
76
+ retrievalMethods = retrievalMethods,
77
+ onQrEngagementReady = { qrCode ->
78
+ transferEventListeners.onTransferEvent(
79
+ TransferEvent.QrEngagementReady(qrCode),
80
+ )
81
+ },
82
+ onConnecting = {
83
+ transferEventListeners.onTransferEvent(TransferEvent.Connecting)
84
+ },
85
+ onDeviceRetrievalHelperReady = { deviceRetrievalHelper ->
86
+ this.deviceRetrievalHelper = deviceRetrievalHelper
87
+ transferEventListeners.onTransferEvent(TransferEvent.Connected)
88
+ },
89
+ onNewDeviceRequest = { deviceRequestBytes ->
90
+ transferEventListeners.onTransferEvent(
91
+ TransferEvent.RequestReceived(
92
+ deviceRequestBytes,
93
+ deviceRetrievalHelper?.sessionTranscript!!,
94
+ )
95
+ )
96
+ },
97
+ onDisconnected = {
98
+ transferEventListeners.onTransferEvent(TransferEvent.Disconnected)
99
+ },
100
+ onCommunicationError = { error ->
101
+ Log.d(this.TAG, "onError: ${error.message}")
102
+ transferEventListeners.onTransferEvent(TransferEvent.Error(error))
103
+ },
104
+ ).apply { configure() }
105
+ hasStarted = true
106
+ }
107
+
108
+ override fun setupNfcEngagement(service: NfcEngagementService) = apply {
109
+ service.apply {
110
+ retrievalMethods = this@TransferManagerImpl.retrievalMethods
111
+ onConnecting = {
112
+ transferEventListeners.onTransferEvent(TransferEvent.Connecting)
113
+ }
114
+ onDeviceRetrievalHelperReady = { deviceRetrievalHelper ->
115
+ this@TransferManagerImpl.deviceRetrievalHelper = deviceRetrievalHelper
116
+ transferEventListeners.onTransferEvent(TransferEvent.Connected)
117
+ }
118
+ onNewDeviceRequest = { deviceRequestBytes ->
119
+ transferEventListeners.onTransferEvent(
120
+ TransferEvent.RequestReceived(
121
+ deviceRequestBytes,
122
+ deviceRetrievalHelper?.sessionTranscript!!
123
+ )
124
+ )
125
+ }
126
+ onDisconnected = {
127
+ transferEventListeners.onTransferEvent(TransferEvent.Disconnected)
128
+ }
129
+ onCommunicationError = { error ->
130
+ Log.d(this.TAG, "onError: ${error.message}")
131
+ transferEventListeners.onTransferEvent(TransferEvent.Error(error))
132
+ }
133
+ }
134
+ }
135
+
136
+ override fun startEngagementToApp(intent: Intent) {
137
+ if (hasStarted) {
138
+ Log.d(this.TAG, TRANSFER_STARTED_MSG)
139
+ transferEventListeners.onTransferEvent(
140
+ TransferEvent.Error(
141
+ IllegalStateException(
142
+ TRANSFER_STARTED_MSG,
143
+ ),
144
+ ),
145
+ )
146
+ return
147
+ }
148
+ Log.d(this.TAG, "New intent $intent")
149
+
150
+ var mdocUri: String? = null
151
+ var mdocReferrerUri: String? = null
152
+ if (intent.scheme.equals("mdoc")) {
153
+ val uri = intent.toUri(0).toUri()
154
+ mdocUri = "mdoc://" + uri.authority
155
+ mdocReferrerUri = intent.extras?.getString(Intent.EXTRA_REFERRER)
156
+ }
157
+
158
+ if (mdocUri == null) {
159
+ Log.e(this.TAG, "No mdoc:// URI")
160
+ return
161
+ }
162
+ Log.i(this.TAG, "uri: $mdocUri")
163
+
164
+ val originInfos = ArrayList<OriginInfo>()
165
+ if (mdocReferrerUri == null) {
166
+ Log.w(this.TAG, "No referrer URI")
167
+ } else {
168
+ Log.i(this.TAG, "referrer: $mdocReferrerUri")
169
+ originInfos.add(OriginInfoDomain(mdocReferrerUri))
170
+ }
171
+
172
+ engagementToApp = EngagementToApp(
173
+ context = context,
174
+ dataTransportOptions = retrievalMethods.transportOptions,
175
+ onPresentationReady = { deviceRetrievalHelper ->
176
+ this.deviceRetrievalHelper = deviceRetrievalHelper
177
+ transferEventListeners.onTransferEvent(TransferEvent.Connected)
178
+ },
179
+ onNewRequest = { deviceRequestBytes ->
180
+ transferEventListeners.onTransferEvent(
181
+ TransferEvent.RequestReceived(
182
+ deviceRequestBytes,
183
+ deviceRetrievalHelper?.sessionTranscript!!
184
+ )
185
+ )
186
+ },
187
+ onDisconnected = {
188
+ transferEventListeners.onTransferEvent(TransferEvent.Disconnected)
189
+ },
190
+ onCommunicationError = { error ->
191
+ Log.d(this.TAG, "onError: ${error.message}")
192
+ transferEventListeners.onTransferEvent(TransferEvent.Error(error))
193
+ },
194
+ ).apply {
195
+ configure(mdocUri, originInfos)
196
+ }
197
+ hasStarted = true
198
+ }
199
+
200
+ override fun sendResponse(deviceResponseBytes: ByteArray) {
201
+ deviceRetrievalHelper?.sendDeviceResponse(
202
+ deviceResponseBytes,
203
+ Constants.SESSION_DATA_STATUS_SESSION_TERMINATION
204
+ )
205
+ transferEventListeners.onTransferEvent(TransferEvent.ResponseSent)
206
+ }
207
+
208
+ override fun stopPresentation(
209
+ sendSessionTerminationMessage: Boolean,
210
+ useTransportSpecificSessionTermination: Boolean,
211
+ ) {
212
+ deviceRetrievalHelper?.stopPresentation(
213
+ sendSessionTerminationMessage,
214
+ useTransportSpecificSessionTermination,
215
+ )
216
+ disconnect()
217
+ }
218
+
219
+ private fun disconnect() {
220
+ qrEngagement?.close()
221
+ destroy()
222
+ }
223
+
224
+ private fun destroy() {
225
+ deviceRetrievalHelper = null
226
+ qrEngagement = null
227
+ engagementToApp = null
228
+ hasStarted = false
229
+ }
230
+
231
+ companion object {
232
+ private const val TRANSFER_STARTED_MSG = "Transfer has already started."
233
+
234
+ private fun Collection<TransferEvent.Listener>.onTransferEvent(event: TransferEvent) {
235
+ forEach { it.onTransferEvent(event) }
236
+ }
237
+
238
+ operator fun invoke(context: Context, builder: Builder.() -> Unit): TransferManagerImpl {
239
+ val builder = Builder(context).apply(builder)
240
+ return builder.build()
241
+ }
242
+ }
243
+
244
+ class Builder(context: Context) {
245
+ private val context = context.applicationContext
246
+ var retrievalMethods: List<DeviceRetrievalMethod>? = null
247
+
248
+ fun retrievalMethods(retrievalMethods: List<DeviceRetrievalMethod>) =
249
+ apply { this.retrievalMethods = retrievalMethods }
250
+
251
+ fun build(): TransferManagerImpl {
252
+ return TransferManagerImpl(
253
+ context = context,
254
+ retrievalMethods = retrievalMethods ?: emptyList()
255
+ )
256
+ }
257
+ }
258
+ }
@@ -0,0 +1,23 @@
1
+ /*
2
+ * Copyright (c) 2023-2024 European Commission
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ package eu.europa.ec.eudi.iso18013.transfer.engagement
18
+
19
+ data class BleRetrievalMethod(
20
+ val peripheralServerMode: Boolean,
21
+ val centralClientMode: Boolean,
22
+ val clearBleCache: Boolean,
23
+ ) : DeviceRetrievalMethod
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Copyright (c) 2023-2024 European Commission
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ package eu.europa.ec.eudi.iso18013.transfer.engagement
18
+
19
+ interface DeviceRetrievalMethod : RetrievalMethod