@capacitor-community/camera-preview 1.2.0 → 2.0.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 (107) hide show
  1. package/CapacitorCommunityCameraPreview.podspec +3 -2
  2. package/LICENSE +21 -0
  3. package/README.md +61 -57
  4. package/android/.gradle/4.10.1/fileChanges/last-build.bin +0 -0
  5. package/android/.gradle/4.10.1/fileHashes/fileHashes.bin +0 -0
  6. package/android/.gradle/4.10.1/fileHashes/fileHashes.lock +0 -0
  7. package/android/.gradle/4.10.1/gc.properties +0 -0
  8. package/android/.gradle/vcs-1/gc.properties +0 -0
  9. package/android/.idea/compiler.xml +6 -0
  10. package/android/.idea/gradle.xml +20 -0
  11. package/android/.idea/jarRepositories.xml +45 -0
  12. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_0_aar.xml +14 -0
  13. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_3_aar.xml +14 -0
  14. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml +9 -0
  15. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml +9 -0
  16. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_0_0_aar.xml +11 -0
  17. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_2_0_aar.xml +14 -0
  18. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_3_0_aar.xml +14 -0
  19. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_2_0_aar.xml +11 -0
  20. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_3_0_aar.xml +11 -0
  21. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +9 -0
  22. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +11 -0
  23. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +9 -0
  24. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_1_0_aar.xml +14 -0
  25. package/android/.idea/libraries/Gradle__androidx_core_core_1_3_2_aar.xml +14 -0
  26. package/android/.idea/libraries/Gradle__androidx_core_core_1_5_0_aar.xml +14 -0
  27. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +11 -0
  28. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +11 -0
  29. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +14 -0
  30. package/android/.idea/libraries/Gradle__androidx_exifinterface_exifinterface_1_3_2_aar.xml +14 -0
  31. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_0_aar.xml +14 -0
  32. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_4_aar.xml +14 -0
  33. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +11 -0
  34. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_0.xml +9 -0
  35. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_3_1.xml +9 -0
  36. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +11 -0
  37. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_0_aar.xml +11 -0
  38. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +11 -0
  39. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_0_aar.xml +11 -0
  40. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_3_1_aar.xml +11 -0
  41. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_0_aar.xml +11 -0
  42. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +11 -0
  43. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_0_aar.xml +11 -0
  44. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +11 -0
  45. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +11 -0
  46. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +11 -0
  47. package/android/.idea/libraries/Gradle__androidx_test_core_1_3_0_aar.xml +11 -0
  48. package/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_core_3_1_0_alpha3_aar.xml +11 -0
  49. package/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_core_3_3_0_aar.xml +11 -0
  50. package/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_idling_resource_3_1_0_alpha3_aar.xml +11 -0
  51. package/android/.idea/libraries/Gradle__androidx_test_espresso_espresso_idling_resource_3_3_0_aar.xml +11 -0
  52. package/android/.idea/libraries/Gradle__androidx_test_ext_junit_1_1_2_aar.xml +11 -0
  53. package/android/.idea/libraries/Gradle__androidx_test_monitor_1_1_0_alpha3_aar.xml +11 -0
  54. package/android/.idea/libraries/Gradle__androidx_test_monitor_1_3_0_aar.xml +11 -0
  55. package/android/.idea/libraries/Gradle__androidx_test_runner_1_1_0_alpha3_aar.xml +11 -0
  56. package/android/.idea/libraries/Gradle__androidx_test_runner_1_3_0_aar.xml +11 -0
  57. package/android/.idea/libraries/Gradle__androidx_tracing_tracing_1_0_0_aar.xml +11 -0
  58. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +11 -0
  59. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +11 -0
  60. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml +11 -0
  61. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +11 -0
  62. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +11 -0
  63. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_2_0_1.xml +9 -0
  64. package/android/.idea/libraries/Gradle__com_squareup_javawriter_2_1_1.xml +9 -0
  65. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +9 -0
  66. package/android/.idea/libraries/Gradle__junit_junit_4_12.xml +9 -0
  67. package/android/.idea/libraries/Gradle__junit_junit_4_13_1.xml +9 -0
  68. package/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_1_10_18.xml +9 -0
  69. package/android/.idea/libraries/Gradle__net_bytebuddy_byte_buddy_agent_1_10_18.xml +9 -0
  70. package/android/.idea/libraries/Gradle__net_sf_kxml_kxml2_2_3_0.xml +9 -0
  71. package/android/.idea/libraries/Gradle__org_apache_cordova_framework_7_0_0_aar.xml +11 -0
  72. package/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_3.xml +9 -0
  73. package/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_integration_1_3.xml +9 -0
  74. package/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_library_1_3.xml +9 -0
  75. package/android/.idea/libraries/Gradle__org_json_json_20140107.xml +9 -0
  76. package/android/.idea/libraries/Gradle__org_mockito_mockito_core_3_6_28.xml +9 -0
  77. package/android/.idea/libraries/Gradle__org_mockito_mockito_inline_3_6_28.xml +9 -0
  78. package/android/.idea/libraries/Gradle__org_objenesis_objenesis_3_1.xml +9 -0
  79. package/android/.idea/misc.xml +9 -0
  80. package/android/.idea/modules/1419750366/android.capacitor-android.iml +92 -0
  81. package/android/.idea/modules/android.iml +87 -0
  82. package/android/.idea/modules.xml +9 -0
  83. package/android/.idea/vcs.xml +6 -0
  84. package/android/build.gradle +4 -4
  85. package/android/src/main/java/com/ahm/capacitor/camera/preview/CameraActivity.java +128 -70
  86. package/android/src/main/java/com/ahm/capacitor/camera/preview/CameraPreview.java +163 -118
  87. package/android/src/main/java/com/ahm/capacitor/camera/preview/CustomTextureView.java +31 -0
  88. package/android/src/main/java/com/ahm/capacitor/camera/preview/Preview.java +96 -19
  89. package/dist/esm/definitions.d.ts +18 -5
  90. package/dist/esm/definitions.js +1 -0
  91. package/dist/esm/index.d.ts +3 -1
  92. package/dist/esm/index.js +5 -1
  93. package/dist/esm/index.js.map +1 -1
  94. package/dist/esm/web.d.ts +8 -1
  95. package/dist/esm/web.js +95 -77
  96. package/dist/esm/web.js.map +1 -1
  97. package/ios/Plugin/CameraController.swift +155 -48
  98. package/ios/Plugin/Plugin.m +3 -0
  99. package/ios/Plugin/Plugin.swift +126 -47
  100. package/ios/Plugin.xcodeproj/project.pbxproj +4 -8
  101. package/ios/Podfile +2 -2
  102. package/ios/Podfile.lock +5 -5
  103. package/package.json +4 -3
  104. package/android/local.properties +0 -8
  105. package/ios/Plugin.xcodeproj/xcuserdata/nielsvanharen.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  106. package/ios/Plugin.xcworkspace/xcuserdata/arielhernandezmusa.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  107. package/ios/Plugin.xcworkspace/xcuserdata/nielsvanharen.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
@@ -0,0 +1,92 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module external.linked.project.id=":capacitor-android" external.linked.project.path="$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor" external.root.project.path="$MODULE_DIR$/../../.." external.system.id="GRADLE" external.system.module.group="android" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
3
+ <component name="FacetManager">
4
+ <facet type="android-gradle" name="Android-Gradle">
5
+ <configuration>
6
+ <option name="GRADLE_PROJECT_PATH" value=":capacitor-android" />
7
+ <option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" />
8
+ <option name="LAST_KNOWN_AGP_VERSION" value="3.3.2" />
9
+ </configuration>
10
+ </facet>
11
+ <facet type="android" name="Android">
12
+ <configuration>
13
+ <option name="SELECTED_BUILD_VARIANT" value="debug" />
14
+ <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
15
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
16
+ <afterSyncTasks>
17
+ <task>generateDebugSources</task>
18
+ </afterSyncTasks>
19
+ <option name="ALLOW_USER_CONFIGURATION" value="false" />
20
+ <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
21
+ <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
22
+ <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/src/main/res;file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/src/debug/res;file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/build/generated/res/rs/debug;file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/build/generated/res/resValues/debug" />
23
+ <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/src/androidTest/res;file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/src/androidTestDebug/res;file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/build/generated/res/rs/androidTest/debug;file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/build/generated/res/resValues/androidTest/debug" />
24
+ <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
25
+ <option name="PROJECT_TYPE" value="1" />
26
+ </configuration>
27
+ </facet>
28
+ </component>
29
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
30
+ <output url="file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes" />
31
+ <output-test url="file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/build/intermediates/javac/debugUnitTest/compileDebugUnitTestJavaWithJavac/classes" />
32
+ <exclude-output />
33
+ <content url="file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor">
34
+ <sourceFolder url="file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/src/main/assets" type="java-resource" />
35
+ <sourceFolder url="file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/src/main/java" isTestSource="false" />
36
+ <sourceFolder url="file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/src/main/res" type="java-resource" />
37
+ <excludeFolder url="file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/.gradle" />
38
+ <excludeFolder url="file://$MODULE_DIR$/../../../../node_modules/@capacitor/android/capacitor/build" />
39
+ </content>
40
+ <orderEntry type="jdk" jdkName="Android API 30 Platform" jdkType="Android SDK" />
41
+ <orderEntry type="sourceFolder" forTests="false" />
42
+ <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.13.1" level="project" />
43
+ <orderEntry type="library" scope="TEST" name="Gradle: org.json:json:20140107" level="project" />
44
+ <orderEntry type="library" scope="TEST" name="Gradle: org.mockito:mockito-inline:3.6.28" level="project" />
45
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3" level="project" />
46
+ <orderEntry type="library" scope="TEST" name="Gradle: org.mockito:mockito-core:3.6.28" level="project" />
47
+ <orderEntry type="library" scope="TEST" name="Gradle: net.bytebuddy:byte-buddy:1.10.18" level="project" />
48
+ <orderEntry type="library" scope="TEST" name="Gradle: net.bytebuddy:byte-buddy-agent:1.10.18" level="project" />
49
+ <orderEntry type="library" scope="TEST" name="Gradle: org.objenesis:objenesis:3.1" level="project" />
50
+ <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12" level="project" />
51
+ <orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1" level="project" />
52
+ <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1" level="project" />
53
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3" level="project" />
54
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3" level="project" />
55
+ <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1" level="project" />
56
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.test.ext:junit:1.1.2@aar" level="project" />
57
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-core:3.3.0@aar" level="project" />
58
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.test:runner:1.3.0@aar" level="project" />
59
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.test:core:1.3.0@aar" level="project" />
60
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.test:monitor:1.3.0@aar" level="project" />
61
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-idling-resource:3.3.0@aar" level="project" />
62
+ <orderEntry type="library" name="Gradle: androidx.collection:collection:1.1.0" level="project" />
63
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-common:2.3.0" level="project" />
64
+ <orderEntry type="library" name="Gradle: androidx.arch.core:core-common:2.1.0" level="project" />
65
+ <orderEntry type="library" name="Gradle: androidx.annotation:annotation:1.1.0" level="project" />
66
+ <orderEntry type="library" name="Gradle: androidx.appcompat:appcompat:1.2.0@aar" level="project" />
67
+ <orderEntry type="library" name="Gradle: androidx.fragment:fragment:1.3.0@aar" level="project" />
68
+ <orderEntry type="library" name="Gradle: androidx.activity:activity:1.2.0@aar" level="project" />
69
+ <orderEntry type="library" name="Gradle: androidx.coordinatorlayout:coordinatorlayout:1.1.0@aar" level="project" />
70
+ <orderEntry type="library" name="Gradle: androidx.appcompat:appcompat-resources:1.2.0@aar" level="project" />
71
+ <orderEntry type="library" name="Gradle: androidx.drawerlayout:drawerlayout:1.0.0@aar" level="project" />
72
+ <orderEntry type="library" name="Gradle: androidx.viewpager:viewpager:1.0.0@aar" level="project" />
73
+ <orderEntry type="library" name="Gradle: androidx.loader:loader:1.0.0@aar" level="project" />
74
+ <orderEntry type="library" name="Gradle: androidx.customview:customview:1.0.0@aar" level="project" />
75
+ <orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable-animated:1.1.0@aar" level="project" />
76
+ <orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable:1.1.0@aar" level="project" />
77
+ <orderEntry type="library" name="Gradle: androidx.core:core:1.3.2@aar" level="project" />
78
+ <orderEntry type="library" name="Gradle: org.apache.cordova:framework:7.0.0@aar" level="project" />
79
+ <orderEntry type="library" name="Gradle: androidx.cursoradapter:cursoradapter:1.0.0@aar" level="project" />
80
+ <orderEntry type="library" name="Gradle: androidx.versionedparcelable:versionedparcelable:1.1.0@aar" level="project" />
81
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-runtime:2.3.0@aar" level="project" />
82
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel-savedstate:2.3.0@aar" level="project" />
83
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.3.0@aar" level="project" />
84
+ <orderEntry type="library" name="Gradle: androidx.savedstate:savedstate:1.1.0@aar" level="project" />
85
+ <orderEntry type="library" name="Gradle: androidx.tracing:tracing:1.0.0@aar" level="project" />
86
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata:2.0.0@aar" level="project" />
87
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.3.0@aar" level="project" />
88
+ <orderEntry type="library" name="Gradle: androidx.arch.core:core-runtime:2.1.0@aar" level="project" />
89
+ <orderEntry type="library" name="Gradle: androidx.interpolator:interpolator:1.0.0@aar" level="project" />
90
+ <orderEntry type="library" name="Gradle: androidx.annotation:annotation-experimental:1.0.0@aar" level="project" />
91
+ </component>
92
+ </module>
@@ -0,0 +1,87 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module external.linked.project.id="android" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
3
+ <component name="FacetManager">
4
+ <facet type="android-gradle" name="Android-Gradle">
5
+ <configuration>
6
+ <option name="GRADLE_PROJECT_PATH" value=":" />
7
+ <option name="LAST_SUCCESSFUL_SYNC_AGP_VERSION" />
8
+ <option name="LAST_KNOWN_AGP_VERSION" value="3.3.2" />
9
+ </configuration>
10
+ </facet>
11
+ <facet type="android" name="Android">
12
+ <configuration>
13
+ <option name="SELECTED_BUILD_VARIANT" value="debug" />
14
+ <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
15
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
16
+ <afterSyncTasks>
17
+ <task>generateDebugSources</task>
18
+ </afterSyncTasks>
19
+ <option name="ALLOW_USER_CONFIGURATION" value="false" />
20
+ <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
21
+ <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
22
+ <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../src/main/res;file://$MODULE_DIR$/../../src/debug/res;file://$MODULE_DIR$/../../build/generated/res/rs/debug;file://$MODULE_DIR$/../../build/generated/res/resValues/debug" />
23
+ <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../src/androidTest/res;file://$MODULE_DIR$/../../src/androidTestDebug/res;file://$MODULE_DIR$/../../build/generated/res/rs/androidTest/debug;file://$MODULE_DIR$/../../build/generated/res/resValues/androidTest/debug" />
24
+ <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
25
+ <option name="PROJECT_TYPE" value="1" />
26
+ </configuration>
27
+ </facet>
28
+ </component>
29
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7">
30
+ <output url="file://$MODULE_DIR$/../../build/intermediates/javac/debug/compileDebugJavaWithJavac/classes" />
31
+ <output-test url="file://$MODULE_DIR$/../../build/intermediates/javac/debugUnitTest/compileDebugUnitTestJavaWithJavac/classes" />
32
+ <exclude-output />
33
+ <content url="file://$MODULE_DIR$/../..">
34
+ <sourceFolder url="file://$MODULE_DIR$/../../build/generated/res/resValues/debug" type="java-resource" />
35
+ <sourceFolder url="file://$MODULE_DIR$/../../build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
36
+ <sourceFolder url="file://$MODULE_DIR$/../../src/androidTest/java" isTestSource="true" />
37
+ <sourceFolder url="file://$MODULE_DIR$/../../src/main/java" isTestSource="false" />
38
+ <sourceFolder url="file://$MODULE_DIR$/../../src/main/res" type="java-resource" />
39
+ <sourceFolder url="file://$MODULE_DIR$/../../src/test/java" isTestSource="true" />
40
+ <excludeFolder url="file://$MODULE_DIR$/../../.gradle" />
41
+ <excludeFolder url="file://$MODULE_DIR$/../../build" />
42
+ </content>
43
+ <orderEntry type="jdk" jdkName="Android API 30 Platform" jdkType="Android SDK" />
44
+ <orderEntry type="sourceFolder" forTests="false" />
45
+ <orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12" level="project" />
46
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3" level="project" />
47
+ <orderEntry type="library" scope="TEST" name="Gradle: net.sf.kxml:kxml2:2.3.0" level="project" />
48
+ <orderEntry type="library" scope="TEST" name="Gradle: com.squareup:javawriter:2.1.1" level="project" />
49
+ <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1" level="project" />
50
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-integration:1.3" level="project" />
51
+ <orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-library:1.3" level="project" />
52
+ <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:2.0.1" level="project" />
53
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-core:3.1.0-alpha3@aar" level="project" />
54
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.test:runner:1.1.0-alpha3@aar" level="project" />
55
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.test:monitor:1.1.0-alpha3@aar" level="project" />
56
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.test.espresso:espresso-idling-resource:3.1.0-alpha3@aar" level="project" />
57
+ <orderEntry type="library" name="Gradle: androidx.collection:collection:1.1.0" level="project" />
58
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-common:2.3.1" level="project" />
59
+ <orderEntry type="library" name="Gradle: androidx.arch.core:core-common:2.1.0" level="project" />
60
+ <orderEntry type="library" name="Gradle: androidx.annotation:annotation:1.2.0" level="project" />
61
+ <orderEntry type="library" name="Gradle: androidx.appcompat:appcompat:1.3.0@aar" level="project" />
62
+ <orderEntry type="library" name="Gradle: androidx.exifinterface:exifinterface:1.3.2@aar" level="project" />
63
+ <orderEntry type="library" name="Gradle: androidx.fragment:fragment:1.3.4@aar" level="project" />
64
+ <orderEntry type="library" name="Gradle: androidx.activity:activity:1.2.3@aar" level="project" />
65
+ <orderEntry type="library" name="Gradle: androidx.appcompat:appcompat-resources:1.3.0@aar" level="project" />
66
+ <orderEntry type="library" name="Gradle: androidx.drawerlayout:drawerlayout:1.0.0@aar" level="project" />
67
+ <orderEntry type="library" name="Gradle: androidx.viewpager:viewpager:1.0.0@aar" level="project" />
68
+ <orderEntry type="library" name="Gradle: androidx.loader:loader:1.0.0@aar" level="project" />
69
+ <orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable-animated:1.1.0@aar" level="project" />
70
+ <orderEntry type="library" name="Gradle: androidx.vectordrawable:vectordrawable:1.1.0@aar" level="project" />
71
+ <orderEntry type="library" name="Gradle: androidx.customview:customview:1.0.0@aar" level="project" />
72
+ <orderEntry type="library" name="Gradle: androidx.core:core:1.5.0@aar" level="project" />
73
+ <orderEntry type="library" name="Gradle: androidx.cursoradapter:cursoradapter:1.0.0@aar" level="project" />
74
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel-savedstate:2.3.1@aar" level="project" />
75
+ <orderEntry type="library" name="Gradle: androidx.savedstate:savedstate:1.1.0@aar" level="project" />
76
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-runtime:2.3.1@aar" level="project" />
77
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.3.1@aar" level="project" />
78
+ <orderEntry type="library" name="Gradle: androidx.versionedparcelable:versionedparcelable:1.1.1@aar" level="project" />
79
+ <orderEntry type="library" name="Gradle: androidx.tracing:tracing:1.0.0@aar" level="project" />
80
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata:2.0.0@aar" level="project" />
81
+ <orderEntry type="library" name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.3.1@aar" level="project" />
82
+ <orderEntry type="library" name="Gradle: androidx.arch.core:core-runtime:2.1.0@aar" level="project" />
83
+ <orderEntry type="library" name="Gradle: androidx.interpolator:interpolator:1.0.0@aar" level="project" />
84
+ <orderEntry type="library" name="Gradle: androidx.annotation:annotation-experimental:1.0.0@aar" level="project" />
85
+ <orderEntry type="module" module-name="android.capacitor-android" />
86
+ </component>
87
+ </module>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/android.iml" filepath="$PROJECT_DIR$/.idea/modules/android.iml" />
6
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/1419750366/android.capacitor-android.iml" filepath="$PROJECT_DIR$/.idea/modules/1419750366/android.capacitor-android.iml" />
7
+ </modules>
8
+ </component>
9
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
5
+ </component>
6
+ </project>
@@ -11,10 +11,10 @@ buildscript {
11
11
  apply plugin: 'com.android.library'
12
12
 
13
13
  android {
14
- compileSdkVersion 28
14
+ compileSdkVersion 30
15
15
  defaultConfig {
16
16
  minSdkVersion 21
17
- targetSdkVersion 28
17
+ targetSdkVersion 30
18
18
  versionCode 1
19
19
  versionName "1.0"
20
20
  testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
@@ -40,8 +40,8 @@ repositories {
40
40
  dependencies {
41
41
  implementation fileTree(dir: 'libs', include: ['*.jar'])
42
42
  implementation project(':capacitor-android')
43
- implementation 'androidx.appcompat:appcompat:1.1.0'
44
- implementation 'androidx.exifinterface:exifinterface:1.0.0'
43
+ implementation 'androidx.appcompat:appcompat:1.3.0'
44
+ implementation 'androidx.exifinterface:exifinterface:1.3.2'
45
45
  testImplementation 'junit:junit:4.12'
46
46
  androidTestImplementation 'com.android.support.test:runner:1.0.2'
47
47
  androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
@@ -81,6 +81,8 @@ public class CameraActivity extends Fragment {
81
81
  private RecordingState mRecordingState = RecordingState.INITIALIZING;
82
82
  private MediaRecorder mRecorder = null;
83
83
  private String recordFilePath;
84
+ private float opacity;
85
+
84
86
 
85
87
  // The first rear facing camera
86
88
  private int defaultCameraId;
@@ -91,6 +93,9 @@ public class CameraActivity extends Fragment {
91
93
  public boolean disableExifHeaderStripping;
92
94
  public boolean storeToFile;
93
95
  public boolean toBack;
96
+ public boolean enableOpacity = false;
97
+ public boolean enableZoom = false;
98
+
94
99
 
95
100
  public int width;
96
101
  public int height;
@@ -131,15 +136,15 @@ public class CameraActivity extends Fragment {
131
136
  frameContainerLayout.setLayoutParams(layoutParams);
132
137
 
133
138
  //video view
134
- mPreview = new Preview(getActivity());
139
+ mPreview = new Preview(getActivity(), enableOpacity);
135
140
  mainLayout = (FrameLayout) view.findViewById(getResources().getIdentifier("video_view", "id", appResourcesPackage));
136
141
  mainLayout.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT));
137
142
  mainLayout.addView(mPreview);
138
143
  mainLayout.setEnabled(false);
139
144
 
140
- if(toBack == false) {
141
- this.setupTouchAndBackButton();
142
- }
145
+ if (enableZoom) {
146
+ this.setupTouchAndBackButton();
147
+ }
143
148
 
144
149
  }
145
150
  }
@@ -164,75 +169,88 @@ public class CameraActivity extends Fragment {
164
169
 
165
170
 
166
171
  boolean isSingleTapTouch = gestureDetector.onTouchEvent(event);
167
- if (event.getAction() != MotionEvent.ACTION_MOVE && isSingleTapTouch) {
168
- if (tapToTakePicture && tapToFocus) {
169
- setFocusArea((int) event.getX(0), (int) event.getY(0), new Camera.AutoFocusCallback() {
170
- public void onAutoFocus(boolean success, Camera camera) {
171
- if (success) {
172
- takePicture(0, 0, 85);
173
- } else {
174
- Log.d(TAG, "onTouch:" + " setFocusArea() did not suceed");
175
- }
176
- }
177
- });
178
-
179
- } else if (tapToTakePicture) {
180
- takePicture(0, 0, 85);
181
-
182
- } else if (tapToFocus) {
183
- setFocusArea((int) event.getX(0), (int) event.getY(0), new Camera.AutoFocusCallback() {
184
- public void onAutoFocus(boolean success, Camera camera) {
185
- if (success) {
186
- // A callback to JS might make sense here.
187
- } else {
188
- Log.d(TAG, "onTouch:" + " setFocusArea() did not suceed");
189
- }
190
- }
191
- });
172
+ int action = event.getAction();
173
+ int eventCount = event.getPointerCount();
174
+ Log.d(TAG, "onTouch event, action, count: " + event + ", " + action + ", " + eventCount);
175
+ if (eventCount > 1) {
176
+ // handle multi-touch events
177
+ Camera.Parameters params = mCamera.getParameters();
178
+ if (action == MotionEvent.ACTION_POINTER_DOWN) {
179
+ mDist = getFingerSpacing(event);
180
+ } else if (action == MotionEvent.ACTION_MOVE && params.isZoomSupported()) {
181
+ handleZoom(event, params);
192
182
  }
193
- return true;
194
183
  } else {
195
- if (dragEnabled) {
196
- int x;
197
- int y;
198
-
199
- switch (event.getAction()) {
200
- case MotionEvent.ACTION_DOWN:
201
- if (mLastTouchX == 0 || mLastTouchY == 0) {
202
- mLastTouchX = (int) event.getRawX() - layoutParams.leftMargin;
203
- mLastTouchY = (int) event.getRawY() - layoutParams.topMargin;
204
- } else {
205
- mLastTouchX = (int) event.getRawX();
206
- mLastTouchY = (int) event.getRawY();
207
- }
208
- break;
209
- case MotionEvent.ACTION_MOVE:
210
-
211
- x = (int) event.getRawX();
212
- y = (int) event.getRawY();
213
-
214
- final float dx = x - mLastTouchX;
215
- final float dy = y - mLastTouchY;
216
-
217
- mPosX += dx;
218
- mPosY += dy;
219
-
220
- layoutParams.leftMargin = mPosX;
221
- layoutParams.topMargin = mPosY;
222
-
223
- frameContainerLayout.setLayoutParams(layoutParams);
224
-
225
- // Remember this touch position for the next move event
226
- mLastTouchX = x;
227
- mLastTouchY = y;
228
-
229
- break;
230
- default:
231
- break;
232
- }
233
- }
184
+ if (action != MotionEvent.ACTION_MOVE && isSingleTapTouch) {
185
+ if (tapToTakePicture && tapToFocus) {
186
+ setFocusArea((int) event.getX(0), (int) event.getY(0), new Camera.AutoFocusCallback() {
187
+ public void onAutoFocus(boolean success, Camera camera) {
188
+ if (success) {
189
+ takePicture(0, 0, 85);
190
+ } else {
191
+ Log.d(TAG, "onTouch:" + " setFocusArea() did not suceed");
192
+ }
193
+ }
194
+ });
195
+
196
+ } else if (tapToTakePicture) {
197
+ takePicture(0, 0, 85);
198
+
199
+ } else if (tapToFocus) {
200
+ setFocusArea((int) event.getX(0), (int) event.getY(0), new Camera.AutoFocusCallback() {
201
+ public void onAutoFocus(boolean success, Camera camera) {
202
+ if (success) {
203
+ // A callback to JS might make sense here.
204
+ } else {
205
+ Log.d(TAG, "onTouch:" + " setFocusArea() did not suceed");
206
+ }
207
+ }
208
+ });
209
+ }
210
+ return true;
211
+ } else {
212
+ if (dragEnabled) {
213
+ int x;
214
+ int y;
215
+
216
+ switch (event.getAction()) {
217
+ case MotionEvent.ACTION_DOWN:
218
+ if (mLastTouchX == 0 || mLastTouchY == 0) {
219
+ mLastTouchX = (int) event.getRawX() - layoutParams.leftMargin;
220
+ mLastTouchY = (int) event.getRawY() - layoutParams.topMargin;
221
+ } else {
222
+ mLastTouchX = (int) event.getRawX();
223
+ mLastTouchY = (int) event.getRawY();
224
+ }
225
+ break;
226
+ case MotionEvent.ACTION_MOVE:
227
+
228
+ x = (int) event.getRawX();
229
+ y = (int) event.getRawY();
230
+
231
+ final float dx = x - mLastTouchX;
232
+ final float dy = y - mLastTouchY;
233
+
234
+ mPosX += dx;
235
+ mPosY += dy;
236
+
237
+ layoutParams.leftMargin = mPosX;
238
+ layoutParams.topMargin = mPosY;
239
+
240
+ frameContainerLayout.setLayoutParams(layoutParams);
241
+
242
+ // Remember this touch position for the next move event
243
+ mLastTouchX = x;
244
+ mLastTouchY = y;
245
+
246
+ break;
247
+ default:
248
+ break;
249
+ }
250
+ }
251
+ }
234
252
  }
235
- return true;
253
+ return true;
236
254
  }
237
255
  });
238
256
  frameContainerLayout.setFocusableInTouchMode(true);
@@ -248,7 +266,30 @@ public class CameraActivity extends Fragment {
248
266
  return false;
249
267
  }
250
268
  });
269
+
251
270
  }
271
+ private float mDist = 0F;
272
+
273
+ private void handleZoom(MotionEvent event, Camera.Parameters params) {
274
+ if (mCamera != null) {
275
+ mCamera.cancelAutoFocus();
276
+ int maxZoom = params.getMaxZoom();
277
+ int zoom = params.getZoom();
278
+ float newDist = getFingerSpacing(event);
279
+ if (newDist > mDist) {
280
+ //zoom in
281
+ if (zoom < maxZoom)
282
+ zoom++;
283
+ } else if (newDist < mDist) {
284
+ //zoom out
285
+ if (zoom > 0)
286
+ zoom--;
287
+ }
288
+ mDist = newDist;
289
+ params.setZoom(zoom);
290
+ mCamera.setParameters(params);
291
+ }
292
+ }
252
293
  });
253
294
 
254
295
  }
@@ -596,6 +637,12 @@ public class CameraActivity extends Fragment {
596
637
  }
597
638
  return output;
598
639
  }
640
+
641
+ public void setOpacity(final float opacity) {
642
+ Log.d(TAG, "set opacity:" + opacity);
643
+ this.opacity = opacity;
644
+ mPreview.setOpacity(opacity);
645
+ }
599
646
  public void takeSnapshot(final int quality) {
600
647
  mCamera.setPreviewCallback(new Camera.PreviewCallback() {
601
648
  @Override
@@ -870,4 +917,15 @@ public class CameraActivity extends Fragment {
870
917
  Math.round((y + 100) * 2000 / height - 1000)
871
918
  );
872
919
  }
920
+
921
+ /**
922
+ * Determine the space between the first two fingers
923
+ */
924
+ private static float getFingerSpacing(MotionEvent event) {
925
+ // ...
926
+ float x = event.getX(0) - event.getX(1);
927
+ float y = event.getY(0) - event.getY(1);
928
+ return (float) Math.sqrt(x * x + y * y);
929
+ }
930
+
873
931
  }