react-native-okaycam 1.1.11 → 1.1.25

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 (138) hide show
  1. package/README.md +31 -1
  2. package/android/.DS_Store +0 -0
  3. package/android/.gradle/6.8/executionHistory/executionHistory.bin +0 -0
  4. package/android/.gradle/6.8/executionHistory/executionHistory.lock +0 -0
  5. package/android/.gradle/6.8/fileChanges/last-build.bin +0 -0
  6. package/android/.gradle/6.8/fileHashes/fileHashes.bin +0 -0
  7. package/android/.gradle/6.8/fileHashes/fileHashes.lock +0 -0
  8. package/android/.gradle/6.8/fileHashes/resourceHashesCache.bin +0 -0
  9. package/android/.gradle/6.8/gc.properties +0 -0
  10. package/android/.gradle/6.8/javaCompile/classAnalysis.bin +0 -0
  11. package/android/.gradle/6.8/javaCompile/jarAnalysis.bin +0 -0
  12. package/android/.gradle/6.8/javaCompile/javaCompile.lock +0 -0
  13. package/android/.gradle/6.8/javaCompile/taskHistory.bin +0 -0
  14. package/android/.gradle/7.1.1/dependencies-accessors/dependencies-accessors.lock +0 -0
  15. package/android/.gradle/7.1.1/executionHistory/executionHistory.lock +0 -0
  16. package/android/.gradle/7.1.1/fileHashes/fileHashes.lock +0 -0
  17. package/android/.gradle/7.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  18. package/android/.gradle/7.2/dependencies-accessors/gc.properties +0 -0
  19. package/android/.gradle/7.2/fileChanges/last-build.bin +0 -0
  20. package/android/.gradle/7.2/fileHashes/fileHashes.lock +0 -0
  21. package/android/.gradle/7.2/gc.properties +0 -0
  22. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  23. package/android/.gradle/buildOutputCleanup/cache.properties +2 -2
  24. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  25. package/android/.gradle/checksums/checksums.lock +0 -0
  26. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  27. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  28. package/android/.idea/.gitignore +3 -0
  29. package/android/.idea/compiler.xml +6 -0
  30. package/android/.idea/gradle.xml +8 -4
  31. package/android/.idea/jarRepositories.xml +45 -0
  32. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml +13 -0
  33. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_2_0.xml +11 -0
  34. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_1_0_aar.xml +16 -0
  35. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_1_0_aar.xml +13 -0
  36. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +11 -0
  37. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +13 -0
  38. package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +13 -0
  39. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +11 -0
  40. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +16 -0
  41. package/android/.idea/libraries/Gradle__androidx_core_core_1_3_1_aar.xml +16 -0
  42. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +13 -0
  43. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +13 -0
  44. package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +13 -0
  45. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +16 -0
  46. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml +16 -0
  47. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +13 -0
  48. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +13 -0
  49. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +13 -0
  50. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml +13 -0
  51. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_1_0.xml +11 -0
  52. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_1_0_aar.xml +13 -0
  53. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_1_0_aar.xml +13 -0
  54. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_1_0_aar.xml +13 -0
  55. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml +13 -0
  56. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +13 -0
  57. package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +13 -0
  58. package/android/.idea/libraries/Gradle__androidx_media_media_1_0_0_aar.xml +16 -0
  59. package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +16 -0
  60. package/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_aar.xml +16 -0
  61. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml +13 -0
  62. package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +13 -0
  63. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +16 -0
  64. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +13 -0
  65. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +13 -0
  66. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml +13 -0
  67. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +13 -0
  68. package/android/.idea/libraries/Gradle__com_caverock_androidsvg_aar_1_4_aar.xml +15 -0
  69. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_0_8_1_aar.xml +15 -0
  70. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_0_8_1_aar.xml +15 -0
  71. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_0_8_1_aar.xml +15 -0
  72. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_0_8_1_aar.xml +16 -0
  73. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp_0_8_1_aar.xml +15 -0
  74. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_20_1_aar.xml +19 -0
  75. package/android/.idea/libraries/Gradle__com_facebook_stetho_stetho_1_2_0.xml +13 -0
  76. package/android/.idea/libraries/Gradle__com_facebook_stetho_stetho_okhttp_1_2_0.xml +13 -0
  77. package/android/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_2_3.xml +13 -0
  78. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_0.xml +13 -0
  79. package/android/.idea/libraries/Gradle__com_googlecode_json_simple_json_simple_1_1_1.xml +13 -0
  80. package/android/.idea/libraries/Gradle__com_innov8tif_okaycam_OkayCam_1_1_10_aar.xml +15 -0
  81. package/android/.idea/libraries/Gradle__com_nineoldandroids_library_2_4_0.xml +13 -0
  82. package/android/.idea/libraries/Gradle__com_parse_bolts_bolts_android_1_1_4.xml +13 -0
  83. package/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_2_5_0.xml +13 -0
  84. package/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_ws_2_5_0.xml +13 -0
  85. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_6_0.xml +13 -0
  86. package/android/.idea/libraries/Gradle__commons_cli_commons_cli_1_2.xml +13 -0
  87. package/android/.idea/libraries/Gradle__junit_junit_4_10.xml +13 -0
  88. package/android/.idea/libraries/Gradle__org_hamcrest_hamcrest_core_1_1.xml +11 -0
  89. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +13 -0
  90. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_21.xml +13 -0
  91. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_21.xml +13 -0
  92. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_21.xml +13 -0
  93. package/android/.idea/libraries/Gradle__org_webkit_android_jsc_r174650_aar.xml +11 -0
  94. package/android/.idea/misc.xml +1 -1
  95. package/android/.idea/modules/android.iml +93 -6
  96. package/android/build/generated/source/buildConfig/debug/com/innov8tif/RNOkayCam/BuildConfig.java +12 -0
  97. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +11 -0
  98. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +27 -0
  99. package/android/build/intermediates/aar_main_jar/debug/classes.jar +0 -0
  100. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
  101. package/android/build/intermediates/annotations_typedef_file/debug/typedefs.txt +0 -0
  102. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar +0 -0
  103. package/android/build/intermediates/compile_symbol_list/debug/R.txt +3230 -0
  104. package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  105. package/android/build/intermediates/incremental/debug-mergeNativeLibs/merge-state +0 -0
  106. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  107. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  108. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  109. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +1 -0
  110. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +2 -0
  111. package/android/build/intermediates/javac/debug/classes/com/innov8tif/RNOkayCam/BuildConfig.class +0 -0
  112. package/android/build/intermediates/javac/debug/classes/com/innov8tif/RNOkayCam/RNOkayCamModule.class +0 -0
  113. package/android/build/intermediates/javac/debug/classes/com/innov8tif/RNOkayCam/RNOkayCamPackage.class +0 -0
  114. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +11 -0
  115. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +2 -0
  116. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +13 -0
  117. package/android/build/intermediates/merged_java_res/debug/out.jar +0 -0
  118. package/android/build/intermediates/merged_manifests/debug/output.json +27 -0
  119. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +2248 -0
  120. package/android/build/outputs/aar/android-debug.aar +0 -0
  121. package/android/build/outputs/logs/manifest-merger-debug-report.txt +37 -0
  122. package/android/build/tmp/compileDebugJavaWithJavac/source-classes-mapping.txt +6 -0
  123. package/android/build.gradle +13 -5
  124. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  125. package/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  126. package/android/gradle.properties +2 -0
  127. package/android/gradlew +185 -0
  128. package/android/gradlew.bat +89 -0
  129. package/android/src/main/java/com/innov8tif/RNOkayCam/RNOkayCamModule.java +453 -246
  130. package/index.ts +226 -151
  131. package/ios/RNOkayCam.swift +83 -0
  132. package/ios/RNOkayCam.xcodeproj/project.pbxproj +55 -2
  133. package/ios/RNOkayCam.xcodeproj/xcuserdata/thet.xcuserdatad/xcschemes/xcschememanagement.plist +1 -1
  134. package/ios/RNOkayCam.xcworkspace/contents.xcworkspacedata +3 -0
  135. package/ios/RNOkayCam.xcworkspace/xcuserdata/thet.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  136. package/package.json +1 -1
  137. package/react-native-okaycam.podspec +1 -1
  138. package/android/.idea/workspace.xml +0 -44
@@ -26,7 +26,10 @@ import com.innov8tif.okaycam.config.OkayCamBtnConfig;
26
26
  import com.innov8tif.okaycam.config.OkayCamCaptureConfig;
27
27
  import com.innov8tif.okaycam.config.OkayCamConfig;
28
28
  import com.innov8tif.okaycam.config.OkayCamFrameConfig;
29
+ import com.innov8tif.okaycam.config.OkayCamInstruction;
30
+ import com.innov8tif.okaycam.config.OkayCamInstructionRefImg;
29
31
  import com.innov8tif.okaycam.config.OkayCamLabelConfig;
32
+ import com.innov8tif.okaycam.config.OkayCamPreviewConfig;
30
33
  import com.innov8tif.okaycam.config.OkayCamTimerConfig;
31
34
  import com.innov8tif.okaycam.config.OkaySelfieConfig;
32
35
  import com.innov8tif.okaycam.config.OkaySelfieLabelConfig;
@@ -46,310 +49,514 @@ import java.net.URL;
46
49
 
47
50
  public class RNOkayCamModule extends ReactContextBaseJavaModule {
48
51
 
49
- private final ReactApplicationContext reactContext;
52
+ private final ReactApplicationContext reactContext;
50
53
 
51
- public RNOkayCamModule(ReactApplicationContext reactContext) {
52
- super(reactContext);
53
- this.reactContext = reactContext;
54
- }
54
+ public RNOkayCamModule(ReactApplicationContext reactContext) {
55
+ super(reactContext);
56
+ this.reactContext = reactContext;
57
+ }
58
+
59
+ @Override
60
+ public String getName() {
61
+ return "RNOkayCam";
62
+ }
55
63
 
56
- @Override
57
- public String getName() {
58
- return "RNOkayCam";
59
- }
64
+ @ReactMethod
65
+ public void captureDocument(ReadableMap configs, Promise promise) {
66
+ String LICENSE_KEY = configs.getString("license");
60
67
 
61
- @ReactMethod
62
- public void captureDocument(ReadableMap configs, Promise promise) {
63
- String LICENSE_KEY = configs.getString("license");
68
+ Boolean base64 = configs.getBoolean("base64");
64
69
 
65
- Boolean base64 = configs.getBoolean("base64");
70
+ ReadableMap userConfig = configs.getMap("config");
71
+ ReadableMap topLabel = userConfig.getMap("topLabel");
72
+ ReadableMap bottomLabel = userConfig.getMap("bottomLabel");
73
+ ReadableMap frame = userConfig.getMap("frame");
74
+ ReadableMap timer = userConfig.getMap("timer");
75
+ ReadableMap confirmBtnConfig = userConfig.getMap("confirmBtnConfig");
76
+ ReadableMap retakeBtnConfig = userConfig.getMap("retakeBtnConfig");
77
+ ReadableMap captureConfigPair = userConfig.getMap("captureConfigPair");
78
+ ReadableMap firstPhoto = captureConfigPair.getMap("firstPhoto");
79
+ ReadableMap secondPhoto = captureConfigPair.getMap("secondPhoto");
80
+ ReadableMap preview = userConfig.getMap("preview");
81
+ ReadableMap instruction = userConfig.getMap("instruction");
66
82
 
67
- ReadableMap userConfig = configs.getMap("config");
68
- ReadableMap topLabel = userConfig.getMap("topLabel");
69
- ReadableMap bottomLabel = userConfig.getMap("bottomLabel");
70
- ReadableMap frame = userConfig.getMap("frame");
71
- ReadableMap timer = userConfig.getMap("timer");
72
- ReadableMap confirmBtnConfig = userConfig.getMap("confirmBtnConfig");
73
- ReadableMap retakeBtnConfig = userConfig.getMap("retakeBtnConfig");
74
- ReadableMap captureConfigPair = userConfig.getMap("captureConfigPair");
75
- ReadableMap firstPhoto = captureConfigPair.getMap("firstPhoto");
76
- ReadableMap secondPhoto = captureConfigPair.getMap("secondPhoto");
77
83
 
78
- OkayCamConfig okayCamConfig = OkayCamConfig.init(this.getCurrentActivity());
84
+ OkayCamConfig okayCamConfig = OkayCamConfig.init(this.getCurrentActivity());
79
85
 
80
- okayCamConfig.setShowOverlay(userConfig.getBoolean("showOverlay"));
86
+ okayCamConfig.setShowOverlay(userConfig.getBoolean("showOverlay"));
81
87
 
82
- okayCamConfig.setTorchBtnEnabled(userConfig.getBoolean("torchBtnEnabled"));
83
- okayCamConfig.setCrop(userConfig.getBoolean("crop"));
88
+ okayCamConfig.setTorchBtnEnabled(userConfig.getBoolean("torchBtnEnabled"));
89
+ okayCamConfig.setCrop(userConfig.getBoolean("crop"));
90
+
91
+ if (userConfig.getInt("width") != -1) {
92
+ okayCamConfig.setWidth(userConfig.getInt("width"));
93
+ }
84
94
 
85
- if (userConfig.getInt("width") != -1) {
86
- okayCamConfig.setWidth(userConfig.getInt("width"));
95
+ okayCamConfig.setImageQuality((float) userConfig.getDouble("imageQuality"));
96
+
97
+ okayCamConfig.setTopLabel(new OkayCamLabelConfig(
98
+ topLabel.getString("text"),
99
+ Color.parseColor(topLabel.getString("color")),
100
+ topLabel.getInt("size")
101
+ ));
102
+ okayCamConfig.setBottomLabel(new OkayCamLabelConfig(
103
+ bottomLabel.getString("text"),
104
+ Color.parseColor(bottomLabel.getString("color")),
105
+ bottomLabel.getInt("size")
106
+ ));
107
+
108
+ OkayCamFrameConfig frameConfig = getFrameConfig(frame);
109
+ okayCamConfig.setFrame(frameConfig);
110
+
111
+ okayCamConfig.setCaptureBtnColor(Color.parseColor(userConfig.getString("captureBtnColor")));
112
+ okayCamConfig.setTimer(new OkayCamTimerConfig(
113
+ Color.parseColor(timer.getString("backgroundColor")),
114
+ Color.parseColor(timer.getString("textColor"))
115
+ ));
116
+
117
+ okayCamConfig.setConfirmBtnConfig(new OkayCamBtnConfig(
118
+ Color.parseColor(confirmBtnConfig.getString("backgroundColor")),
119
+ Color.parseColor(confirmBtnConfig.getString("contentColor"))
120
+ ));
121
+
122
+ okayCamConfig.setRetakeBtnConfig(new OkayCamBtnConfig(
123
+ Color.parseColor(retakeBtnConfig.getString("backgroundColor")),
124
+ Color.parseColor(retakeBtnConfig.getString("contentColor"))
125
+ ));
126
+
127
+ okayCamConfig.setCaptureConfig(new CaptureConfigPair(
128
+ firstPhoto != null ? new OkayCamCaptureConfig(
129
+ firstPhoto.getInt("delay"),
130
+ firstPhoto.getBoolean("onFlash"),
131
+ firstPhoto.getString("outputPath")
132
+ ) : null,
133
+ secondPhoto != null ? new OkayCamCaptureConfig(
134
+ secondPhoto.getInt("delay"),
135
+ secondPhoto.getBoolean("onFlash"),
136
+ secondPhoto.getString("outputPath")
137
+ ) : null
138
+ ));
139
+
140
+
141
+ okayCamConfig.setPreview(getPreviewConfig(preview, frameConfig));
142
+ okayCamConfig.setInstruction(getInstructionConfig(instruction, frameConfig));
143
+
144
+ OkayCamDoc.start(this.getCurrentActivity(), LICENSE_KEY, okayCamConfig, (success, images, exception) -> {
145
+
146
+ if (success) {
147
+ JSONObject results = new JSONObject();
148
+ try {
149
+
150
+ results.put("fullDocumentImage", convertImgToBase64(base64, images.get(0)));
151
+
152
+ if (images.size() > 1) {
153
+ results.put("fullDocumentImage2", convertImgToBase64(base64, images.get(1)));
154
+ }
155
+
156
+ if (images.size() > 2) {
157
+ results.put("fullDocumentImage3", convertImgToBase64(base64, images.get(2)));
158
+ }
159
+
160
+ if (images.size() > 3) {
161
+ results.put("fullDocumentImage4", convertImgToBase64(base64, images.get(3)));
162
+ }
163
+
164
+ promise.resolve(results.toString());
165
+ } catch (JSONException e) {
166
+ // TODO Auto-generated catch block
167
+ e.printStackTrace();
168
+ promise.reject(this.getError(e.getMessage()));
169
+ }
170
+ } else {
171
+ promise.reject(this.getError(exception.getMessage()));
172
+ }
173
+ return null;
174
+ });
87
175
  }
88
176
 
89
- okayCamConfig.setImageQuality((float) userConfig.getDouble("imageQuality"));
90
-
91
- okayCamConfig.setTopLabel(new OkayCamLabelConfig(
92
- topLabel.getString("text"),
93
- Color.parseColor(topLabel.getString("color")),
94
- topLabel.getInt("size")
95
- ));
96
- okayCamConfig.setBottomLabel(new OkayCamLabelConfig(
97
- bottomLabel.getString("text"),
98
- Color.parseColor(bottomLabel.getString("color")),
99
- bottomLabel.getInt("size")
100
- ));
101
-
102
- okayCamConfig.setFrame(getFrameConfig(frame));
103
-
104
- okayCamConfig.setCaptureBtnColor(Color.parseColor(userConfig.getString("captureBtnColor")));
105
- okayCamConfig.setTimer(new OkayCamTimerConfig(
106
- Color.parseColor(timer.getString("backgroundColor")),
107
- Color.parseColor(timer.getString("textColor"))
108
- ));
109
-
110
- okayCamConfig.setConfirmBtnConfig(new OkayCamBtnConfig(
111
- Color.parseColor(confirmBtnConfig.getString("backgroundColor")),
112
- Color.parseColor(confirmBtnConfig.getString("contentColor"))
113
- ));
114
-
115
- okayCamConfig.setRetakeBtnConfig(new OkayCamBtnConfig(
116
- Color.parseColor(retakeBtnConfig.getString("backgroundColor")),
117
- Color.parseColor(retakeBtnConfig.getString("contentColor"))
118
- ));
119
-
120
- okayCamConfig.setCaptureConfig(new CaptureConfigPair(
121
- firstPhoto != null ? new OkayCamCaptureConfig(
122
- firstPhoto.getInt("delay"),
123
- firstPhoto.getBoolean("onFlash"),
124
- firstPhoto.getString("outputPath")
125
- ) : null,
126
- secondPhoto != null ? new OkayCamCaptureConfig(
127
- secondPhoto.getInt("delay"),
128
- secondPhoto.getBoolean("onFlash"),
129
- secondPhoto.getString("outputPath")
130
- ) : null
131
- ));
132
-
133
- OkayCamDoc.start(this.getCurrentActivity(), LICENSE_KEY, okayCamConfig, (success, images, exception) -> {
134
-
135
- if (success) {
136
- JSONObject results = new JSONObject();
177
+ private OkayCamInstruction getInstructionConfig(ReadableMap instruction, OkayCamFrameConfig frameConfig) {
178
+ if (instruction == null) return null;
179
+ OkayCamLabelConfig title = mapToLabelConfig(instruction.getMap("title"));
180
+
181
+ ReadableMap refMap1 = instruction.getMap("refImage1");
182
+ OkayCamInstructionRefImg ref1 = mapToRef(refMap1, frameConfig, "instr1");
183
+
184
+ ReadableMap refMap2 = instruction.getMap("refImage2");
185
+ OkayCamInstructionRefImg ref2 = mapToRef(refMap2, frameConfig, "instr2");
186
+
187
+
188
+ return new OkayCamInstruction(
189
+ title,
190
+ ref1,
191
+ ref2
192
+ );
193
+ }
194
+
195
+ private OkayCamInstructionRefImg mapToRef(ReadableMap refMap, OkayCamFrameConfig frameConfig, String fileName) {
196
+ if (refMap == null) return null;
197
+ OkayCamLabelConfig title = mapToLabelConfig(refMap.getMap("title"));
198
+ String img1 = getImageFromJs(refMap.getString("img"), frameConfig, fileName);
199
+
200
+ return new OkayCamInstructionRefImg(title, img1);
201
+ }
202
+
203
+ private String getImageFromJs(String refImage, OkayCamFrameConfig frameConfig, String fileName) {
204
+
205
+
206
+ Size size = frameConfig.getSize();
207
+ int frameWidth = size.getWidth();
208
+ int frameHeight = size.getHeight();
209
+
210
+ Bitmap contentBmp = null;
137
211
  try {
212
+ if (refImage != null) {
213
+
214
+ // In debug, the image is returned as URL
215
+ if (BuildConfig.DEBUG) {
216
+ InputStream inputStream = new URL(refImage).openStream();
217
+
218
+ if (refImage.contains("svg")) {
219
+
220
+ SVG svg = SVG.getFromInputStream(inputStream);
221
+
222
+ svg.setDocumentWidth(frameWidth);
223
+ svg.setDocumentHeight(frameHeight);
224
+
225
+ if (svg.getDocumentWidth() != -1) {
226
+ contentBmp = Bitmap.createBitmap((int) Math.ceil(svg.getDocumentWidth()),
227
+ (int) Math.ceil(svg.getDocumentHeight()),
228
+ Bitmap.Config.ARGB_8888);
229
+
230
+ Canvas bmcanvas = new Canvas(contentBmp);
138
231
 
139
- results.put("fullDocumentImage", convertImgToBase64(base64, images.get(0)));
232
+ // Render our document onto our canvas
233
+ svg.renderToCanvas(bmcanvas, new RenderOptions().preserveAspectRatio(PreserveAspectRatio.FULLSCREEN));
234
+ }
235
+ } else {
236
+ contentBmp = BitmapFactory.decodeStream(inputStream);
237
+ }
238
+ } else {
239
+ // In release, the image is returned as raw (svg) or drawable (png, jpeg and etc)
240
+ int resourceId = this.getCurrentActivity().getResources().getIdentifier(refImage, "raw", this.getCurrentActivity().getPackageName());
140
241
 
141
- if (images.size() > 1) {
142
- results.put("fullDocumentImage2", convertImgToBase64(base64, images.get(1)));
143
- }
242
+ if (resourceId != 0) {
243
+ SVG svg = SVG.getFromResource(getReactApplicationContext(), resourceId);
144
244
 
145
- promise.resolve(results.toString());
146
- } catch (JSONException e) {
147
- // TODO Auto-generated catch block
148
- e.printStackTrace();
149
- promise.reject(this.getError(e.getMessage()));
245
+ svg.setDocumentWidth(frameWidth);
246
+ svg.setDocumentHeight(frameHeight);
247
+
248
+ if (svg.getDocumentWidth() != -1) {
249
+ contentBmp = Bitmap.createBitmap((int) Math.ceil(svg.getDocumentWidth()),
250
+ (int) Math.ceil(svg.getDocumentHeight()),
251
+ Bitmap.Config.ARGB_8888);
252
+
253
+ Canvas bmcanvas = new Canvas(contentBmp);
254
+
255
+ // Render our document onto our canvas
256
+ svg.renderToCanvas(bmcanvas, new RenderOptions().preserveAspectRatio(PreserveAspectRatio.FULLSCREEN));
257
+ }
258
+ } else {
259
+ resourceId = this.getCurrentActivity().getResources().getIdentifier(refImage, "drawable", this.getCurrentActivity().getPackageName());
260
+ contentBmp = BitmapFactory.decodeResource(getReactApplicationContext().getResources(), resourceId);
261
+ }
262
+ }
263
+ }
264
+ } catch (SVGParseException | MalformedURLException e) {
265
+ e.printStackTrace();
266
+ } catch (IOException e) {
267
+ e.printStackTrace();
150
268
  }
151
- }
152
- else {
153
- promise.reject(this.getError(exception.getMessage()));
154
- }
155
- return null;
156
- });
157
- }
158
-
159
- private OkayCamFrameConfig getFrameConfig(ReadableMap frameConfig) {
160
- ReadableMap frameSizeMap = frameConfig.getMap("size");
161
- String frameColor = frameConfig.getString("color");
162
- String frameContent = frameConfig.getString("content");
163
-
164
- int frameWidth = frameSizeMap.getInt("width");
165
- int frameHeight = frameSizeMap.getInt("height");
166
- Size frameSize = new Size(frameWidth, frameHeight);
167
-
168
- try {
169
- if (frameContent != null) {
269
+
270
+ return generateFile(contentBmp, fileName);
271
+ }
272
+
273
+ private OkayCamPreviewConfig getPreviewConfig(ReadableMap preview, OkayCamFrameConfig frameConfig) {
274
+ if (preview == null) return null;
275
+ OkayCamLabelConfig title = mapToLabelConfig(preview.getMap("title"));
276
+ OkayCamLabelConfig instr1 = mapToLabelConfig(preview.getMap("instruction1"));
277
+ OkayCamLabelConfig instr2 = mapToLabelConfig(preview.getMap("instruction2"));
278
+ OkayCamLabelConfig instr3 = mapToLabelConfig(preview.getMap("instruction3"));
279
+
280
+ int bgColor = Color.parseColor(preview.getString("backgroundColor"));
281
+
282
+ String refImage = preview.getString("refImage");
283
+
284
+ Size size = frameConfig.getSize();
285
+ int frameWidth = size.getWidth();
286
+ int frameHeight = size.getHeight();
287
+
170
288
  Bitmap contentBmp = null;
289
+ try {
290
+ if (refImage != null) {
171
291
 
172
- // In debug, the image is returned as URL
173
- if (BuildConfig.DEBUG) {
174
- InputStream inputStream = new URL(frameContent).openStream();
292
+ // In debug, the image is returned as URL
293
+ if (BuildConfig.DEBUG) {
294
+ InputStream inputStream = new URL(refImage).openStream();
175
295
 
176
- if (frameContent.contains("svg")) {
296
+ if (refImage.contains("svg")) {
177
297
 
178
- SVG svg = SVG.getFromInputStream(inputStream);
298
+ SVG svg = SVG.getFromInputStream(inputStream);
179
299
 
180
- svg.setDocumentWidth(frameWidth);
181
- svg.setDocumentHeight(frameHeight);
300
+ svg.setDocumentWidth(frameWidth);
301
+ svg.setDocumentHeight(frameHeight);
182
302
 
183
- if (svg.getDocumentWidth() != -1) {
184
- contentBmp = Bitmap.createBitmap((int) Math.ceil(svg.getDocumentWidth()),
185
- (int) Math.ceil(svg.getDocumentHeight()),
186
- Bitmap.Config.ARGB_8888);
303
+ if (svg.getDocumentWidth() != -1) {
304
+ contentBmp = Bitmap.createBitmap((int) Math.ceil(svg.getDocumentWidth()),
305
+ (int) Math.ceil(svg.getDocumentHeight()),
306
+ Bitmap.Config.ARGB_8888);
187
307
 
188
- Canvas bmcanvas = new Canvas(contentBmp);
308
+ Canvas bmcanvas = new Canvas(contentBmp);
189
309
 
190
- // Render our document onto our canvas
191
- svg.renderToCanvas(bmcanvas, new RenderOptions().preserveAspectRatio(PreserveAspectRatio.FULLSCREEN));
192
- }
193
- } else {
194
- contentBmp = BitmapFactory.decodeStream(inputStream);
195
- }
196
- } else {
197
- // In release, the image is returned as raw (svg) or drawable (png, jpeg and etc)
198
- int resourceId = this.getCurrentActivity().getResources().getIdentifier(frameContent, "raw", this.getCurrentActivity().getPackageName());
310
+ // Render our document onto our canvas
311
+ svg.renderToCanvas(bmcanvas, new RenderOptions().preserveAspectRatio(PreserveAspectRatio.FULLSCREEN));
312
+ }
313
+ } else {
314
+ contentBmp = BitmapFactory.decodeStream(inputStream);
315
+ }
316
+ } else {
317
+ // In release, the image is returned as raw (svg) or drawable (png, jpeg and etc)
318
+ int resourceId = this.getCurrentActivity().getResources().getIdentifier(refImage, "raw", this.getCurrentActivity().getPackageName());
199
319
 
200
- if (resourceId != 0) {
201
- SVG svg = SVG.getFromResource(getReactApplicationContext(), resourceId);
320
+ if (resourceId != 0) {
321
+ SVG svg = SVG.getFromResource(getReactApplicationContext(), resourceId);
202
322
 
203
- svg.setDocumentWidth(frameWidth);
204
- svg.setDocumentHeight(frameHeight);
323
+ svg.setDocumentWidth(frameWidth);
324
+ svg.setDocumentHeight(frameHeight);
205
325
 
206
- if (svg.getDocumentWidth() != -1) {
207
- contentBmp = Bitmap.createBitmap((int) Math.ceil(svg.getDocumentWidth()),
208
- (int) Math.ceil(svg.getDocumentHeight()),
209
- Bitmap.Config.ARGB_8888);
326
+ if (svg.getDocumentWidth() != -1) {
327
+ contentBmp = Bitmap.createBitmap((int) Math.ceil(svg.getDocumentWidth()),
328
+ (int) Math.ceil(svg.getDocumentHeight()),
329
+ Bitmap.Config.ARGB_8888);
210
330
 
211
- Canvas bmcanvas = new Canvas(contentBmp);
331
+ Canvas bmcanvas = new Canvas(contentBmp);
212
332
 
213
- // Render our document onto our canvas
214
- svg.renderToCanvas(bmcanvas, new RenderOptions().preserveAspectRatio(PreserveAspectRatio.FULLSCREEN));
215
- }
333
+ // Render our document onto our canvas
334
+ svg.renderToCanvas(bmcanvas, new RenderOptions().preserveAspectRatio(PreserveAspectRatio.FULLSCREEN));
335
+ }
336
+ } else {
337
+ resourceId = this.getCurrentActivity().getResources().getIdentifier(refImage, "drawable", this.getCurrentActivity().getPackageName());
338
+ contentBmp = BitmapFactory.decodeResource(getReactApplicationContext().getResources(), resourceId);
339
+ }
340
+ }
216
341
  }
217
- else {
218
- resourceId = this.getCurrentActivity().getResources().getIdentifier(frameContent, "drawable", this.getCurrentActivity().getPackageName());
219
- contentBmp = BitmapFactory.decodeResource(getReactApplicationContext().getResources(), resourceId);
342
+ } catch (SVGParseException | MalformedURLException e) {
343
+ e.printStackTrace();
344
+ } catch (IOException e) {
345
+ e.printStackTrace();
346
+ }
347
+
348
+
349
+ return new OkayCamPreviewConfig(
350
+ title,
351
+ generateFile(contentBmp, "ref.png"),
352
+ instr1,
353
+ instr2,
354
+ instr3,
355
+ bgColor
356
+ );
357
+
358
+ }
359
+
360
+ private OkayCamLabelConfig mapToLabelConfig(ReadableMap map) {
361
+ return new OkayCamLabelConfig(
362
+ map.getString("text"),
363
+ Color.parseColor(map.getString("color")),
364
+ map.getInt("size")
365
+ );
366
+
367
+ }
368
+
369
+ private OkayCamFrameConfig getFrameConfig(ReadableMap frameConfig) {
370
+ ReadableMap frameSizeMap = frameConfig.getMap("size");
371
+ String frameColor = frameConfig.getString("color");
372
+ String frameContent = frameConfig.getString("content");
373
+
374
+ int frameWidth = frameSizeMap.getInt("width");
375
+ int frameHeight = frameSizeMap.getInt("height");
376
+ Size frameSize = new Size(frameWidth, frameHeight);
377
+
378
+ try {
379
+ if (frameContent != null) {
380
+ Bitmap contentBmp = null;
381
+
382
+ // In debug, the image is returned as URL
383
+ if (BuildConfig.DEBUG) {
384
+ InputStream inputStream = new URL(frameContent).openStream();
385
+
386
+ if (frameContent.contains("svg")) {
387
+
388
+ SVG svg = SVG.getFromInputStream(inputStream);
389
+
390
+ svg.setDocumentWidth(frameWidth);
391
+ svg.setDocumentHeight(frameHeight);
392
+
393
+ if (svg.getDocumentWidth() != -1) {
394
+ contentBmp = Bitmap.createBitmap((int) Math.ceil(svg.getDocumentWidth()),
395
+ (int) Math.ceil(svg.getDocumentHeight()),
396
+ Bitmap.Config.ARGB_8888);
397
+
398
+ Canvas bmcanvas = new Canvas(contentBmp);
399
+
400
+ // Render our document onto our canvas
401
+ svg.renderToCanvas(bmcanvas, new RenderOptions().preserveAspectRatio(PreserveAspectRatio.FULLSCREEN));
402
+ }
403
+ } else {
404
+ contentBmp = BitmapFactory.decodeStream(inputStream);
405
+ }
406
+ } else {
407
+ // In release, the image is returned as raw (svg) or drawable (png, jpeg and etc)
408
+ int resourceId = this.getCurrentActivity().getResources().getIdentifier(frameContent, "raw", this.getCurrentActivity().getPackageName());
409
+
410
+ if (resourceId != 0) {
411
+ SVG svg = SVG.getFromResource(getReactApplicationContext(), resourceId);
412
+
413
+ svg.setDocumentWidth(frameWidth);
414
+ svg.setDocumentHeight(frameHeight);
415
+
416
+ if (svg.getDocumentWidth() != -1) {
417
+ contentBmp = Bitmap.createBitmap((int) Math.ceil(svg.getDocumentWidth()),
418
+ (int) Math.ceil(svg.getDocumentHeight()),
419
+ Bitmap.Config.ARGB_8888);
420
+
421
+ Canvas bmcanvas = new Canvas(contentBmp);
422
+
423
+ // Render our document onto our canvas
424
+ svg.renderToCanvas(bmcanvas, new RenderOptions().preserveAspectRatio(PreserveAspectRatio.FULLSCREEN));
425
+ }
426
+ } else {
427
+ resourceId = this.getCurrentActivity().getResources().getIdentifier(frameContent, "drawable", this.getCurrentActivity().getPackageName());
428
+ contentBmp = BitmapFactory.decodeResource(getReactApplicationContext().getResources(), resourceId);
429
+ }
430
+ }
431
+ return new OkayCamFrameConfig(frameSize, Color.parseColor(frameColor), generateFile(contentBmp, "content.png"));
220
432
  }
433
+ } catch (SVGParseException | MalformedURLException e) {
434
+ e.printStackTrace();
435
+ } catch (IOException e) {
436
+ e.printStackTrace();
221
437
  }
222
- return new OkayCamFrameConfig(frameSize, Color.parseColor(frameColor), generateFile(contentBmp));
223
- }
224
- } catch (SVGParseException | MalformedURLException e) {
225
- e.printStackTrace();
226
- } catch (IOException e) {
227
- e.printStackTrace();
438
+
439
+ return new OkayCamFrameConfig(frameSize, Color.parseColor(frameColor), null);
228
440
  }
229
441
 
230
- return new OkayCamFrameConfig(frameSize, Color.parseColor(frameColor), null);
231
- }
442
+ public String generateFile(Bitmap bitmap, String filename) {
443
+ try {
444
+ String resultedFolder = ".private";
445
+ File privateFolder = this.getReactApplicationContext().getExternalFilesDir(resultedFolder);
232
446
 
233
- public String generateFile(Bitmap bitmap) {
234
- try {
235
- String resultedFolder = ".private";
236
- File privateFolder = this.getReactApplicationContext().getExternalFilesDir(resultedFolder);
447
+ if (!privateFolder.exists()) {
448
+ privateFolder.mkdir();
449
+ }
237
450
 
238
- if (!privateFolder.exists()) {
239
- privateFolder.mkdir();
240
- }
451
+ File file = new File(privateFolder, filename);
452
+ file.createNewFile();
241
453
 
242
- File file = new File(privateFolder, "content.png");
243
- file.createNewFile();
454
+ FileOutputStream fos = new FileOutputStream(file.getAbsolutePath());
455
+ bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
244
456
 
245
- FileOutputStream fos = new FileOutputStream(file.getAbsolutePath());
246
- bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
457
+ return file.getAbsolutePath();
458
+ } catch (IOException e) {
459
+ e.printStackTrace();
460
+ }
247
461
 
248
- return file.getAbsolutePath();
249
- } catch (IOException e) {
250
- e.printStackTrace();
462
+ return null;
251
463
  }
252
464
 
253
- return null;
254
- }
465
+ @ReactMethod
466
+ public void captureSelfie(ReadableMap configs, Promise promise) {
467
+ String LICENSE_KEY = configs.getString("license");
255
468
 
256
- @ReactMethod
257
- public void captureSelfie(ReadableMap configs, Promise promise) {
258
- String LICENSE_KEY = configs.getString("license");
469
+ Boolean base64 = configs.getBoolean("base64");
259
470
 
260
- Boolean base64 = configs.getBoolean("base64");
471
+ ReadableMap userConfig = configs.getMap("config");
472
+ ReadableMap topLabel = userConfig.getMap("topLabel");
473
+ ReadableMap switchBtnConfig = userConfig.getMap("switchBtnConfig");
474
+ ReadableMap confirmBtnConfig = userConfig.getMap("confirmBtnConfig");
475
+ ReadableMap retakeBtnConfig = userConfig.getMap("retakeBtnConfig");
261
476
 
262
- ReadableMap userConfig = configs.getMap("config");
263
- ReadableMap topLabel = userConfig.getMap("topLabel");
264
- ReadableMap switchBtnConfig = userConfig.getMap("switchBtnConfig");
265
- ReadableMap confirmBtnConfig = userConfig.getMap("confirmBtnConfig");
266
- ReadableMap retakeBtnConfig = userConfig.getMap("retakeBtnConfig");
477
+ OkaySelfieConfig okaySelfieConfig = OkaySelfieConfig.init(this.getCurrentActivity());
267
478
 
268
- OkaySelfieConfig okaySelfieConfig = OkaySelfieConfig.init(this.getCurrentActivity());
479
+ okaySelfieConfig.setTopLabel(new OkaySelfieLabelConfig(
480
+ topLabel.getString("text"),
481
+ Color.parseColor(topLabel.getString("color")),
482
+ topLabel.getInt("size")
483
+ ));
484
+ okaySelfieConfig.setBottomFrameColor(Color.parseColor(userConfig.getString("bottomFrameColor")));
269
485
 
270
- okaySelfieConfig.setTopLabel(new OkaySelfieLabelConfig(
271
- topLabel.getString("text"),
272
- Color.parseColor(topLabel.getString("color")),
273
- topLabel.getInt("size")
274
- ));
275
- okaySelfieConfig.setBottomFrameColor(Color.parseColor(userConfig.getString("bottomFrameColor")));
486
+ okaySelfieConfig.setCaptureBtnColor(Color.parseColor(userConfig.getString("captureBtnColor")));
276
487
 
277
- okaySelfieConfig.setCaptureBtnColor(Color.parseColor(userConfig.getString("captureBtnColor")));
488
+ okaySelfieConfig.setSwitchBtnConfig(new OkaySelfieSwichBtnConfig(
489
+ Color.parseColor(switchBtnConfig.getString("color")),
490
+ switchBtnConfig.getBoolean("show")
491
+ ));
278
492
 
279
- okaySelfieConfig.setSwitchBtnConfig(new OkaySelfieSwichBtnConfig(
280
- Color.parseColor(switchBtnConfig.getString("color")),
281
- switchBtnConfig.getBoolean("show")
282
- ));
493
+ okaySelfieConfig.setConfirmBtnConfig(new OkayCamBtnConfig(
494
+ Color.parseColor(confirmBtnConfig.getString("backgroundColor")),
495
+ Color.parseColor(confirmBtnConfig.getString("contentColor"))
496
+ ));
283
497
 
284
- okaySelfieConfig.setConfirmBtnConfig(new OkayCamBtnConfig(
285
- Color.parseColor(confirmBtnConfig.getString("backgroundColor")),
286
- Color.parseColor(confirmBtnConfig.getString("contentColor"))
287
- ));
498
+ okaySelfieConfig.setRetakeBtnConfig(new OkayCamBtnConfig(
499
+ Color.parseColor(retakeBtnConfig.getString("backgroundColor")),
500
+ Color.parseColor(retakeBtnConfig.getString("contentColor"))
501
+ ));
288
502
 
289
- okaySelfieConfig.setRetakeBtnConfig(new OkayCamBtnConfig(
290
- Color.parseColor(retakeBtnConfig.getString("backgroundColor")),
291
- Color.parseColor(retakeBtnConfig.getString("contentColor"))
292
- ));
503
+ if (userConfig.getString("defaultCameraFacing").equals("front")) {
504
+ okaySelfieConfig.setDefaultCameraFacing(CameraFacing.FRONT);
505
+ } else if (userConfig.getString("defaultCameraFacing").equals("back")) {
506
+ okaySelfieConfig.setDefaultCameraFacing(CameraFacing.BACK);
507
+ }
293
508
 
294
- if (userConfig.getString("defaultCameraFacing").equals("front")) {
295
- okaySelfieConfig.setDefaultCameraFacing(CameraFacing.FRONT);
296
- }
297
- else if (userConfig.getString("defaultCameraFacing").equals("back")) {
298
- okaySelfieConfig.setDefaultCameraFacing(CameraFacing.BACK);
299
- }
509
+ if (userConfig.getInt("width") != -1) {
510
+ okaySelfieConfig.setWidth(userConfig.getInt("width"));
511
+ }
300
512
 
301
- if (userConfig.getInt("width") != -1) {
302
- okaySelfieConfig.setWidth(userConfig.getInt("width"));
303
- }
513
+ okaySelfieConfig.setImageQuality((float) userConfig.getDouble("imageQuality"));
514
+
515
+ OkayCamSelfie.start(this.getCurrentActivity(), LICENSE_KEY, okaySelfieConfig, (success, image, exception) -> {
304
516
 
305
- okaySelfieConfig.setImageQuality((float) userConfig.getDouble("imageQuality"));
517
+ if (success) {
306
518
 
307
- OkayCamSelfie.start(this.getCurrentActivity(), LICENSE_KEY, okaySelfieConfig, (success, image, exception) -> {
519
+ JSONObject results = new JSONObject();
520
+ try {
521
+ results.put("selfieImage", convertImgToBase64(base64, image));
522
+ promise.resolve(results.toString());
523
+ } catch (JSONException e) {
524
+ // TODO Auto-generated catch block
525
+ e.printStackTrace();
526
+ promise.reject(this.getError(e.getMessage()));
527
+ }
528
+ } else {
529
+ promise.reject(this.getError(exception.getMessage()));
530
+ }
531
+ return null;
532
+ });
533
+ }
308
534
 
309
- if (success) {
535
+ public String convertImgToBase64(Boolean base64, String image) {
536
+ String result = "file://" + image;
310
537
 
311
- JSONObject results = new JSONObject();
312
- try {
313
- results.put("selfieImage", convertImgToBase64(base64, image));
314
- promise.resolve(results.toString());
315
- } catch (JSONException e) {
316
- // TODO Auto-generated catch block
317
- e.printStackTrace();
318
- promise.reject(this.getError(e.getMessage()));
538
+ if (base64) {
539
+ result = BitmapUtils.INSTANCE.convertToBase64(image);
319
540
  }
320
- }
321
- else {
322
- promise.reject(this.getError(exception.getMessage()));
323
- }
324
- return null;
325
- });
326
- }
327
-
328
- public String convertImgToBase64(Boolean base64, String image) {
329
- String result = "file://" + image;
330
-
331
- if (base64) {
332
- result = BitmapUtils.INSTANCE.convertToBase64(image);
541
+
542
+ return result;
333
543
  }
334
544
 
335
- return result;
336
- }
337
-
338
- private Exception getError(String error) {
339
- String errorString = "";
340
- switch (error) {
341
- case "Invalid license key":
342
- errorString = "invalid license";
343
- break;
344
- case "User refused to grant permission.":
345
- errorString = "camera permission denied";
346
- break;
347
- case "User cancelled the activity.":
348
- errorString = "cancel";
349
- break;
350
- default:
351
- errorString = "failed";
545
+ private Exception getError(String error) {
546
+ String errorString = "";
547
+ switch (error) {
548
+ case "Invalid license key":
549
+ errorString = "invalid license";
550
+ break;
551
+ case "User refused to grant permission.":
552
+ errorString = "camera permission denied";
553
+ break;
554
+ case "User cancelled the activity.":
555
+ errorString = "cancel";
556
+ break;
557
+ default:
558
+ errorString = "failed";
559
+ }
560
+ return new Exception(errorString);
352
561
  }
353
- return new Exception(errorString);
354
- }
355
562
  }