react-native-mapp-plugin 1.0.10-special1 → 1.0.11-beta10

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 (229) hide show
  1. package/.vscode/settings.json +2 -2
  2. package/CustomEvent.js +47 -47
  3. package/Mapp.js +452 -431
  4. package/MappEventEmitter.js +41 -41
  5. package/README.md +93 -93
  6. package/RNMappPlugin.podspec +29 -29
  7. package/__package.json +37 -37
  8. package/android/.classpath +6 -6
  9. package/android/.project +34 -34
  10. package/android/.settings/org.eclipse.buildship.core.prefs +13 -13
  11. package/android/build.gradle +75 -76
  12. package/android/gradle/wrapper/gradle-wrapper.properties +7 -7
  13. package/android/gradle.properties +15 -15
  14. package/android/src/main/AndroidManifest.xml +66 -65
  15. package/android/src/main/java/com/reactlibrary/ActivityListener.java +43 -43
  16. package/android/src/main/java/com/reactlibrary/Event.java +28 -28
  17. package/android/src/main/java/com/reactlibrary/EventEmitter.java +153 -153
  18. package/android/src/main/java/com/reactlibrary/HelperActivity.java +72 -254
  19. package/android/src/main/java/com/reactlibrary/IntentNotificationEvent.java +52 -54
  20. package/android/src/main/java/com/reactlibrary/MessageService.java +45 -36
  21. package/android/src/main/java/com/reactlibrary/MyPushBroadcastReceiver.java +43 -43
  22. package/android/src/main/java/com/reactlibrary/PushNotificationEvent.java +37 -37
  23. package/android/src/main/java/com/reactlibrary/RNMappPluginModule.java +576 -601
  24. package/android/src/main/java/com/reactlibrary/RNMappPluginPackage.java +34 -34
  25. package/android/src/main/java/com/reactlibrary/RNUtils.java +191 -191
  26. package/android/src/main/res/values/styles.xml +14 -14
  27. package/index.js +8 -8
  28. package/ios/Frameworks/AppoxeeInapp.framework/Versions/A/Headers/APXInBoxMessage.h +101 -101
  29. package/ios/Frameworks/AppoxeeInapp.framework/Versions/A/Headers/AppoxeeInapp.h +153 -153
  30. package/ios/Frameworks/AppoxeeInapp.framework/Versions/A/Headers/AppoxeeInappSDK.h +9 -9
  31. package/ios/Frameworks/AppoxeeLocationServices.framework/Versions/A/Headers/AppoxeeLocationManager.h +122 -122
  32. package/ios/Frameworks/AppoxeeLocationServices.framework/Versions/A/Headers/AppoxeeLocationServices.h +10 -10
  33. package/ios/Frameworks/AppoxeeSDK.xcframework/Info.plist +46 -0
  34. package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXClientDevice.h +26 -26
  35. package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXInterfaceService.h +49 -49
  36. package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXPushNotification.h +92 -92
  37. package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXPushNotificationAction.h +20 -20
  38. package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXPushNotificationActionButton.h +19 -19
  39. package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXPushNotificationActionButtonAction.h +34 -34
  40. package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXRichMessage.h +58 -58
  41. package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/Appoxee.h +840 -840
  42. package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/AppoxeeManager.h +385 -385
  43. package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/AppoxeeSDK.h +12 -12
  44. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_armv7/libAppoxeeSDK.a +0 -0
  45. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXClientDevice.h +26 -0
  46. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXInterfaceService.h +49 -0
  47. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXPushNotification.h +92 -0
  48. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXPushNotificationAction.h +20 -0
  49. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXPushNotificationActionButton.h +19 -0
  50. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXPushNotificationActionButtonAction.h +35 -0
  51. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXRichMessage.h +58 -0
  52. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/Appoxee.h +840 -0
  53. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/AppoxeeManager.h +386 -0
  54. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/AppoxeeSDK.h +12 -0
  55. package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/libAppoxeeSDK.a +0 -0
  56. package/ios/Frameworks/AppoxeeSDKResources.bundle/app_conf.json +340 -340
  57. package/ios/RNMappEventEmmiter.h +25 -25
  58. package/ios/RNMappEventEmmiter.m +221 -221
  59. package/ios/RNMappPluginModule.h +10 -10
  60. package/ios/RNMappPluginModule.m +324 -320
  61. package/iospatch.sh +13 -13
  62. package/jsdoc.conf.json +14 -14
  63. package/package.json +37 -37
  64. package/android/.gradle/5.6.4/executionHistory/executionHistory.bin +0 -0
  65. package/android/.gradle/5.6.4/executionHistory/executionHistory.lock +0 -0
  66. package/android/.gradle/5.6.4/fileChanges/last-build.bin +0 -0
  67. package/android/.gradle/5.6.4/fileContent/fileContent.lock +0 -0
  68. package/android/.gradle/5.6.4/fileHashes/fileHashes.bin +0 -0
  69. package/android/.gradle/5.6.4/fileHashes/fileHashes.lock +0 -0
  70. package/android/.gradle/5.6.4/fileHashes/resourceHashesCache.bin +0 -0
  71. package/android/.gradle/5.6.4/gc.properties +0 -0
  72. package/android/.gradle/5.6.4/javaCompile/classAnalysis.bin +0 -0
  73. package/android/.gradle/5.6.4/javaCompile/jarAnalysis.bin +0 -0
  74. package/android/.gradle/5.6.4/javaCompile/javaCompile.lock +0 -0
  75. package/android/.gradle/5.6.4/javaCompile/taskHistory.bin +0 -0
  76. package/android/.gradle/7.0-rc-1/dependencies-accessors/dependencies-accessors.lock +0 -0
  77. package/android/.gradle/7.0-rc-1/dependencies-accessors/gc.properties +0 -0
  78. package/android/.gradle/7.0-rc-1/executionHistory/executionHistory.lock +0 -0
  79. package/android/.gradle/7.0-rc-1/fileChanges/last-build.bin +0 -0
  80. package/android/.gradle/7.0-rc-1/fileHashes/fileHashes.lock +0 -0
  81. package/android/.gradle/7.0-rc-1/gc.properties +0 -0
  82. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  83. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  84. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  85. package/android/.gradle/checksums/checksums.lock +0 -0
  86. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  87. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  88. package/android/.gradle/configuration-cache/gc.properties +0 -0
  89. package/android/.gradle/vcs-1/gc.properties +0 -0
  90. package/android/.idea/compiler.xml +0 -6
  91. package/android/.idea/gradle.xml +0 -21
  92. package/android/.idea/jarRepositories.xml +0 -35
  93. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml +0 -16
  94. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml +0 -13
  95. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_2_0_aar.xml +0 -16
  96. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_2_0_aar.xml +0 -16
  97. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +0 -11
  98. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml +0 -13
  99. package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +0 -13
  100. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +0 -11
  101. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +0 -16
  102. package/android/.idea/libraries/Gradle__androidx_core_core_1_3_1_aar.xml +0 -16
  103. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
  104. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
  105. package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +0 -13
  106. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
  107. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml +0 -16
  108. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
  109. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +0 -13
  110. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +0 -13
  111. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v13_1_0_0_aar.xml +0 -13
  112. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml +0 -13
  113. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_1_0.xml +0 -11
  114. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -13
  115. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml +0 -13
  116. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_1_0_aar.xml +0 -13
  117. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml +0 -13
  118. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
  119. package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +0 -13
  120. package/android/.idea/libraries/Gradle__androidx_media_media_1_0_1_aar.xml +0 -16
  121. package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +0 -16
  122. package/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_aar.xml +0 -16
  123. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml +0 -16
  124. package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +0 -13
  125. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
  126. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +0 -13
  127. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +0 -13
  128. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml +0 -13
  129. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
  130. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_0_8_1_aar.xml +0 -18
  131. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_0_8_1_aar.xml +0 -18
  132. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_0_8_1_aar.xml +0 -18
  133. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_0_8_1_aar.xml +0 -19
  134. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp_0_8_1_aar.xml +0 -18
  135. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_20_1_aar.xml +0 -24
  136. package/android/.idea/libraries/Gradle__com_facebook_stetho_stetho_1_2_0.xml +0 -13
  137. package/android/.idea/libraries/Gradle__com_facebook_stetho_stetho_okhttp_1_2_0.xml +0 -13
  138. package/android/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_2_3.xml +0 -13
  139. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_0_0_aar.xml +0 -16
  140. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_0_0_aar.xml +0 -16
  141. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_16_0_0_aar.xml +0 -14
  142. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_16_0_0_aar.xml +0 -14
  143. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_17_0_0_aar.xml +0 -14
  144. package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_0_0_aar.xml +0 -14
  145. package/android/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_6_5.xml +0 -13
  146. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_0.xml +0 -13
  147. package/android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_5.xml +0 -13
  148. package/android/.idea/libraries/Gradle__com_google_dagger_dagger_2_24.xml +0 -13
  149. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_common_19_0_0_aar.xml +0 -18
  150. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_20_0_0_aar.xml +0 -16
  151. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_17_0_0_aar.xml +0 -14
  152. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_18_0_0_aar.xml +0 -14
  153. package/android/.idea/libraries/Gradle__com_google_firebase_firebase_messaging_20_0_0_aar.xml +0 -16
  154. package/android/.idea/libraries/Gradle__com_mapp_sdk_mapp_android_6_0_17_special8_aar.xml +0 -16
  155. package/android/.idea/libraries/Gradle__com_nineoldandroids_library_2_4_0.xml +0 -13
  156. package/android/.idea/libraries/Gradle__com_parse_bolts_bolts_android_1_1_4.xml +0 -13
  157. package/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_2_5_0.xml +0 -13
  158. package/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_ws_2_5_0.xml +0 -13
  159. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_6_0.xml +0 -13
  160. package/android/.idea/libraries/Gradle__commons_cli_commons_cli_1_2.xml +0 -13
  161. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
  162. package/android/.idea/libraries/Gradle__org_webkit_android_jsc_r174650_aar.xml +0 -14
  163. package/android/.idea/misc.xml +0 -9
  164. package/android/.idea/modules/android.iml +0 -122
  165. package/android/.idea/modules/app/android.app.iml +0 -26
  166. package/android/.idea/modules.xml +0 -9
  167. package/android/.idea/vcs.xml +0 -6
  168. package/android/build/generated/source/buildConfig/debug/com/reactlibrary/BuildConfig.java +0 -18
  169. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -70
  170. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
  171. package/android/build/intermediates/aar_main_jar/debug/classes.jar +0 -0
  172. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  173. package/android/build/intermediates/annotations_typedef_file/debug/typedefs.txt +0 -0
  174. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar +0 -0
  175. package/android/build/intermediates/compile_symbol_list/debug/R.txt +0 -2993
  176. package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  177. package/android/build/intermediates/incremental/debug-mergeNativeLibs/merge-state +0 -0
  178. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  179. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  180. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  181. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -1
  182. package/android/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml +0 -13
  183. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +0 -11
  184. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/ActivityListener.class +0 -0
  185. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/BuildConfig.class +0 -0
  186. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/Event.class +0 -0
  187. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/EventEmitter$1.class +0 -0
  188. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/EventEmitter$2.class +0 -0
  189. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/EventEmitter$3.class +0 -0
  190. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/EventEmitter.class +0 -0
  191. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/HelperActivity$1.class +0 -0
  192. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/HelperActivity$2.class +0 -0
  193. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/HelperActivity$ActivityResult.class +0 -0
  194. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/HelperActivity.class +0 -0
  195. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/IntentNotificationEvent.class +0 -0
  196. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/MessageService.class +0 -0
  197. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/MyPushBroadcastReceiver.class +0 -0
  198. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/PushNotificationEvent.class +0 -0
  199. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginModule$1.class +0 -0
  200. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginModule$2.class +0 -0
  201. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginModule$3.class +0 -0
  202. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginModule$4.class +0 -0
  203. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginModule.class +0 -0
  204. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginPackage.class +0 -0
  205. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNUtils$1.class +0 -0
  206. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNUtils.class +0 -0
  207. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RequestPermissionsTask$Callback.class +0 -0
  208. package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RequestPermissionsTask.class +0 -0
  209. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -70
  210. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +0 -3
  211. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +0 -134
  212. package/android/build/intermediates/merged_java_res/debug/out.jar +0 -0
  213. package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
  214. package/android/build/intermediates/packaged_res/debug/values/values.xml +0 -13
  215. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +0 -1856
  216. package/android/build/outputs/aar/android-debug.aar +0 -0
  217. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -135
  218. package/android/local.properties +0 -8
  219. package/android/src/main/java/com/reactlibrary/RequestPermissionsTask.java +0 -58
  220. package/ios/Frameworks/AppoxeeInapp.framework/AppoxeeInapp +0 -1
  221. package/ios/Frameworks/AppoxeeInapp.framework/Headers +0 -1
  222. package/ios/Frameworks/AppoxeeInapp.framework/Versions/Current +0 -1
  223. package/ios/Frameworks/AppoxeeLocationServices.framework/AppoxeeLocationServices +0 -1
  224. package/ios/Frameworks/AppoxeeLocationServices.framework/Headers +0 -1
  225. package/ios/Frameworks/AppoxeeLocationServices.framework/Versions/Current +0 -1
  226. package/ios/Frameworks/AppoxeeSDK.framework/AppoxeeSDK +0 -1
  227. package/ios/Frameworks/AppoxeeSDK.framework/Headers +0 -1
  228. package/ios/Frameworks/AppoxeeSDK.framework/Versions/A/AppoxeeSDK +0 -0
  229. package/ios/Frameworks/AppoxeeSDK.framework/Versions/Current +0 -1
@@ -1,601 +1,576 @@
1
-
2
- package com.reactlibrary;
3
-
4
- import android.Manifest;
5
- import android.app.Application;
6
- import android.content.pm.ActivityInfo;
7
- import android.content.pm.PackageManager;
8
- import android.os.Build;
9
- import android.util.Log;
10
-
11
- import androidx.core.app.NotificationManagerCompat;
12
- import androidx.core.content.ContextCompat;
13
-
14
- import com.appoxee.Appoxee;
15
- import com.appoxee.AppoxeeOptions;
16
- import com.appoxee.DeviceInfo;
17
- import com.appoxee.internal.inapp.model.APXInboxMessage;
18
- import com.appoxee.internal.inapp.model.ApxInAppExtras;
19
- import com.appoxee.internal.inapp.model.InAppInboxCallback;
20
- import com.appoxee.internal.inapp.model.InAppStatistics;
21
- import com.appoxee.internal.inapp.model.MessageContext;
22
- import com.appoxee.internal.inapp.model.Tracking;
23
- import com.appoxee.internal.inapp.model.TrackingAttributes;
24
- import com.appoxee.internal.service.AppoxeeServiceAdapter;
25
- import com.appoxee.push.NotificationMode;
26
- import com.appoxee.push.PushData;
27
- import com.facebook.react.bridge.Arguments;
28
- import com.facebook.react.bridge.Callback;
29
- import com.facebook.react.bridge.LifecycleEventListener;
30
- import com.facebook.react.bridge.Promise;
31
- import com.facebook.react.bridge.ReactApplicationContext;
32
- import com.facebook.react.bridge.ReactContextBaseJavaModule;
33
- import com.facebook.react.bridge.ReactMethod;
34
- import com.facebook.react.bridge.WritableArray;
35
- import com.facebook.react.bridge.WritableMap;
36
- import com.facebook.react.bridge.WritableNativeMap;
37
- import com.google.firebase.messaging.RemoteMessage;
38
-
39
- import org.json.JSONException;
40
- import org.json.JSONObject;
41
-
42
- import java.util.Iterator;
43
- import java.util.List;
44
- import java.util.Map;
45
- import java.util.Objects;
46
- import java.util.concurrent.ConcurrentHashMap;
47
-
48
- /**
49
- * Created by Aleksandar Marinkovic on 2019-05-15.
50
- * Copyright (c) 2019 MAPP.
51
- */
52
- @SuppressWarnings("ALL")
53
- public class RNMappPluginModule extends ReactContextBaseJavaModule {
54
-
55
- private final ReactApplicationContext reactContext;
56
- private Map<Callback, String> mFeedSubscriberMap = new ConcurrentHashMap<>();
57
- private Map<Callback, Boolean> mCallbackWasCalledMap = new ConcurrentHashMap<>();
58
- private Application application = null;
59
-
60
- public RNMappPluginModule(ReactApplicationContext reactContext) {
61
- super(reactContext);
62
- this.reactContext = reactContext;
63
- application = (Application) reactContext.getApplicationContext();
64
- }
65
-
66
- @Override
67
- public String getName() {
68
- return "RNMappPluginModule";
69
- }
70
-
71
- @Override
72
- public void initialize() {
73
- super.initialize();
74
- // application is initialized in constructor
75
- /* if (getCurrentActivity() != null)
76
- application = (Application) getCurrentActivity().getApplication();*/
77
- getReactApplicationContext().addLifecycleEventListener(new LifecycleEventListener() {
78
- @Override
79
- public void onHostResume() {
80
- Appoxee.engage(application);
81
- Appoxee.setOrientation(application, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
82
- }
83
-
84
- @Override
85
- public void onHostPause() {
86
-
87
- }
88
-
89
- @Override
90
- public void onHostDestroy() {
91
-
92
- }
93
-
94
- });
95
-
96
- EventEmitter.shared().attachReactContext(getReactApplicationContext());
97
- }
98
-
99
- private void reportResultWithCallback(Callback callback, String error, Object result) {
100
- if (callback != null) {
101
- if (error != null) {
102
- callback.invoke(error);
103
- } else {
104
- callback.invoke(null, result);
105
- }
106
- }
107
- }
108
-
109
- @ReactMethod
110
- public void setRemoteMessage(String msgJson) {
111
- RemoteMessage remoteMessage = getRemoteMessage(msgJson);
112
- if (remoteMessage != null){
113
- Appoxee.instance().setRemoteMessage(remoteMessage);
114
- }
115
- }
116
-
117
- @ReactMethod
118
- public void isPushFromMapp(String msgJson, Promise promise) {
119
- try {
120
- JSONObject json = new JSONObject(msgJson);
121
- boolean mappPush = json.has("data") && json.getJSONObject("data").has("p");
122
- promise.resolve(mappPush);
123
- } catch (Exception e) {
124
- promise.resolve(false);
125
- }
126
- }
127
-
128
- @ReactMethod
129
- public void setToken(String token) {
130
- Appoxee.instance().setToken(token);
131
- }
132
-
133
- @ReactMethod
134
- public void setAlias(String alias) {
135
- Appoxee.instance().setAlias(alias);
136
- }
137
-
138
- @ReactMethod
139
- public void engage2() {
140
- Appoxee.engage(Objects.requireNonNull(application));
141
-
142
- }
143
-
144
- @ReactMethod
145
- public void engage(String sdkKey, String googleProjectId, String server, String appID, String tenantID) {
146
- AppoxeeOptions opt = new AppoxeeOptions();
147
- opt.appID = appID;
148
- opt.sdkKey = sdkKey;
149
- opt.googleProjectId = googleProjectId;
150
- opt.server = AppoxeeOptions.Server.valueOf(server);
151
- if (server.equals("TEST") || server.equals("TEST55") || server.equals("TEST_55")) {
152
- opt.cepURL = "https://jamie-test.shortest-route.com";
153
- }
154
- opt.notificationMode = NotificationMode.BACKGROUND_AND_FOREGROUND;
155
- opt.tenantID = tenantID;
156
- Appoxee.engage(Objects.requireNonNull(application), opt);
157
- Appoxee.instance().addInitListener(new Appoxee.OnInitCompletedListener() {
158
- @Override
159
- public void onInitCompleted(boolean successful, Exception failReason) {
160
- /**
161
- * OnInitCompleteListener must be attached;
162
- * Internally {@link AppoxeeServiceAdapter#getDeviceInfoDMC()} is called and "user_id" created.
163
- * If "user_id" is null InApp messages are not working.
164
- */
165
- }
166
- });
167
- Appoxee.setOrientation(application, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
168
-
169
- }
170
-
171
- @ReactMethod
172
- public void engageTestServer(String cepURl, String sdkKey, String googleProjectId, String server, String appID, String tenantID) {
173
- AppoxeeOptions opt = new AppoxeeOptions();
174
- opt.appID = appID;
175
- opt.sdkKey = sdkKey;
176
- opt.googleProjectId = googleProjectId;
177
- opt.server = AppoxeeOptions.Server.valueOf(server);
178
- opt.cepURL = cepURl;
179
- opt.tenantID = tenantID;
180
- Appoxee.setOrientation(application, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
181
-
182
- Appoxee.engage(Objects.requireNonNull(application), opt);
183
- }
184
-
185
- @ReactMethod
186
- public void setPushEnabled(boolean optIn) {
187
- Appoxee.instance().setPushEnabled(optIn);
188
-
189
- }
190
-
191
- @ReactMethod
192
- public void isPushEnabled(Promise promise) {
193
- promise.resolve(Appoxee.instance().isPushEnabled());
194
- }
195
-
196
-
197
- @ReactMethod
198
- public void isReady(Promise promise) {
199
- promise.resolve(Appoxee.instance().isReady());
200
-
201
- }
202
-
203
- @ReactMethod
204
- public void onInitCompletedListener(final Promise promise) {
205
- Appoxee.instance().addInitListener(new Appoxee.OnInitCompletedListener() {
206
- @Override
207
- public void onInitCompleted(boolean b, Exception e) {
208
- promise.resolve(b);
209
- }
210
- });
211
- }
212
-
213
-
214
- @ReactMethod
215
- public void setAttribute(String key, String value) {
216
- Appoxee.instance().setAttribute(key, value);
217
-
218
- }
219
-
220
- @ReactMethod
221
- public void setAttributeBoolean(String key, Boolean value) {
222
- Appoxee.instance().setAttribute(key, value);
223
-
224
- }
225
-
226
- @ReactMethod
227
- public void setAttributeInt(String key, Integer value) {
228
- Appoxee.instance().setAttribute(key, value);
229
-
230
- }
231
-
232
- @ReactMethod
233
- public void addTag(String tag) {
234
- Appoxee.instance().addTag(tag);
235
-
236
- }
237
-
238
- @ReactMethod
239
- public void removeTag(String tag) {
240
- Appoxee.instance().removeTag(tag);
241
-
242
- }
243
-
244
- @ReactMethod
245
- public void getTags(Promise promise) {
246
-
247
- WritableArray array = Arguments.createArray();
248
- for (String tag : Appoxee.instance().getTags()) {
249
- array.pushString(tag);
250
- }
251
- promise.resolve(array);
252
- }
253
-
254
- @ReactMethod
255
- public void removeAttribute(String attribute) {
256
- Appoxee.instance().removeAttribute(attribute);
257
- }
258
-
259
-
260
- @ReactMethod
261
- public void getAlias(Promise promise) {
262
- promise.resolve(Appoxee.instance().getAlias());
263
- }
264
-
265
- @ReactMethod
266
- public void getDeviceInfo(Promise promise) {
267
- promise.resolve(getDeviceInfoJson(Appoxee.instance().getDeviceInfo()));
268
- }
269
-
270
- @ReactMethod
271
- public void getAttributeStringValue(String value, Promise promise) {
272
- promise.resolve(Appoxee.instance().getAttributeStringValue(value));
273
- }
274
-
275
-
276
- @ReactMethod
277
- public void lockScreenOrientation(Integer orientation) {
278
- Appoxee.setOrientation(Objects.requireNonNull((Application) reactContext.getApplicationContext()), orientation);
279
- }
280
-
281
- @ReactMethod
282
- public void removeBadgeNumber() {
283
- Appoxee.removeBadgeNumber(Objects.requireNonNull((Application) reactContext.getApplicationContext()));
284
- }
285
-
286
- @ReactMethod
287
- public void startGeoFencing() {
288
-
289
- Appoxee.instance().startGeoFencing();
290
- // if (Build.VERSION.SDK_INT < 23) {
291
- // Appoxee.instance().startGeoFencing();
292
- // } else if (Build.VERSION.SDK_INT <= 28) {
293
- // RequestPermissionsTask task = new RequestPermissionsTask(getReactApplicationContext(),
294
- // new RequestPermissionsTask.Callback() {
295
- // @Override
296
- // public void onResult(boolean enabled) {
297
- // if (enabled) {
298
- //
299
- // Appoxee.instance().startGeoFencing();
300
- // }
301
- // }
302
- // });
303
- // task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION);
304
- //
305
- // } else if (Build.VERSION.SDK_INT == 29) {
306
- // RequestPermissionsTask task = new RequestPermissionsTask(getReactApplicationContext(),
307
- // new RequestPermissionsTask.Callback() {
308
- // @Override
309
- // public void onResult(boolean enabled) {
310
- // if (enabled) {
311
- //
312
- // Appoxee.instance().startGeoFencing();
313
- // }
314
- // }
315
- // });
316
- // task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_BACKGROUND_LOCATION);
317
- //
318
- // } else if (Build.VERSION.SDK_INT == 30) {
319
- // RequestPermissionsTask task = new RequestPermissionsTask(getReactApplicationContext(),
320
- // new RequestPermissionsTask.Callback() {
321
- // @Override
322
- // public void onResult(boolean enabled) {
323
- // if (enabled) {
324
- // Appoxee.instance().startGeoFencing();
325
- // RequestPermissionsTask task2 = new RequestPermissionsTask(getReactApplicationContext(),
326
- // new RequestPermissionsTask.Callback() {
327
- // @Override
328
- // public void onResult(boolean enabled) {
329
- // if (enabled) {
330
- // Appoxee.instance().startGeoFencing();
331
- // }
332
- // }
333
- // });
334
- // task2.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, Manifest.permission.ACCESS_BACKGROUND_LOCATION);
335
- //
336
- // }
337
- // }
338
- // });
339
- // task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION);
340
- // }
341
-
342
- }
343
-
344
- @ReactMethod
345
- public void stopGeoFencing() {
346
- Appoxee.instance().stopGeoFencing();
347
- }
348
-
349
- @ReactMethod
350
- public void fetchInboxMessage(final Promise promise) {
351
-
352
- Appoxee.instance().fetchInboxMessages(reactContext.getApplicationContext());
353
-
354
- InAppInboxCallback inAppInboxCallback = new InAppInboxCallback();
355
- inAppInboxCallback.addInAppInboxMessagesReceivedCallback(new InAppInboxCallback.onInAppInboxMessagesReceived() {
356
- @Override
357
- public void onInAppInboxMessages(List<APXInboxMessage> richMessages) {
358
- WritableArray messagesArray = Arguments.createArray();
359
- if (richMessages != null)
360
- for (APXInboxMessage message : richMessages) {
361
- messagesArray.pushMap(messageToJson(message));
362
- }
363
- promise.resolve(messagesArray);
364
- }
365
-
366
- @Override
367
- public void onInAppInboxMessage(final APXInboxMessage message) {
368
- promise.resolve(messageToJson(message));
369
- }
370
- });
371
-
372
-
373
- }
374
-
375
- @ReactMethod
376
- public void triggerInApp(String key) {
377
- Appoxee.instance().triggerInApp((getCurrentActivity()), key);
378
- }
379
-
380
- @ReactMethod
381
- public void inAppMarkAsRead(Integer templateId, String eventId) {
382
- Appoxee.instance().triggerStatistcs((getCurrentActivity()), getInAppStatisticsRequestObject(templateId,
383
- eventId,
384
- InAppStatistics.INBOX_INBOX_MESSAGE_READ_KEY, null, null, null));
385
- }
386
-
387
- @ReactMethod
388
- public void inAppMarkAsUnRead(Integer templateId, String eventId) {
389
- Appoxee.instance().triggerStatistcs((reactContext.getApplicationContext()), getInAppStatisticsRequestObject(templateId,
390
- eventId,
391
- InAppStatistics.INBOX_INBOX_MESSAGE_UNREAD_KEY, null, null, null));
392
- }
393
-
394
- @ReactMethod
395
- public void inAppMarkAsDeleted(Integer templateId, String eventId) {
396
- Appoxee.instance().triggerStatistcs((reactContext.getApplicationContext()), getInAppStatisticsRequestObject(templateId,
397
- eventId,
398
- InAppStatistics.INBOX_INBOX_MESSAGE_DELETED_KEY, null, null, null));
399
- }
400
-
401
- @ReactMethod
402
- public void triggerStatistic(Integer templateId, String originalEventId,
403
- String trackingKey, Long displayMillis,
404
- String reason, String link) {
405
- Appoxee.instance()
406
- .triggerStatistcs((reactContext.getApplicationContext())
407
- , getInAppStatisticsRequestObject(templateId, originalEventId, trackingKey, displayMillis, reason, link));
408
- }
409
-
410
- @ReactMethod
411
- public void isDeviceRegistered(Promise promise) {
412
- promise.resolve(Appoxee.instance().isDeviceRegistered());
413
-
414
- }
415
-
416
-
417
- @ReactMethod
418
- public void addAndroidListener(String eventName) {
419
- EventEmitter.shared().addAndroidListener(eventName);
420
- }
421
-
422
- @ReactMethod
423
- public void removeAndroidListeners(int count) {
424
- EventEmitter.shared().removeAndroidListeners(count);
425
- }
426
-
427
-
428
- private static InAppStatistics getInAppStatisticsRequestObject(int templateId, String originalEventId,
429
- String trackingKey, Long displayMillis,
430
- String reason, String link) {
431
-
432
- InAppStatistics inAppStatistics = new InAppStatistics();
433
- //This will be received from the respective Screens.
434
- MessageContext mc = new MessageContext();
435
- mc.setTemplateId(templateId);
436
- mc.setOriginialEventid(originalEventId);
437
- inAppStatistics.setMessageContext(mc);
438
- Tracking tk = new Tracking();
439
- tk.setTrackingKey(trackingKey);
440
- TrackingAttributes ta = new TrackingAttributes();
441
- ta.setTimeSinceDisplayMillis(displayMillis);
442
- ta.setReason(reason);
443
- ta.setLink(link);
444
- tk.setTrackingAttributes(ta);
445
- inAppStatistics.setTracking(tk);
446
-
447
- return inAppStatistics;
448
-
449
- }
450
-
451
-
452
- private WritableMap messageToJson(APXInboxMessage msg) {
453
- WritableMap msgJson = new WritableNativeMap();
454
-
455
- try {
456
- msgJson.putInt("templateId", msg.getTemplateId());
457
- msgJson.putString("title", msg.getContent());
458
- msgJson.putString("eventId", msg.getEventId());
459
- if (msg.getExpirationDate() != null)
460
- msgJson.putString("expirationDate", msg.getExpirationDate().toString());
461
- if (msg.getIconUrl() != null)
462
- msgJson.putString("iconURl", msg.getIconUrl());
463
- if (msg.getStatus() != null)
464
- msgJson.putString("status", msg.getStatus());
465
- if (msg.getSubject() != null)
466
- msgJson.putString("subject", msg.getSubject());
467
- if (msg.getSummary() != null)
468
- msgJson.putString("summary", msg.getSummary());
469
- if (msg.getExtras() != null)
470
- for (ApxInAppExtras apxInAppExtras : msg.getExtras())
471
- msgJson.putString(apxInAppExtras.getName(), apxInAppExtras.getValue());
472
-
473
-
474
- } catch (Exception e) {
475
- e.printStackTrace();
476
- }
477
-
478
- return msgJson;
479
- }
480
-
481
-
482
- private WritableMap getDeviceInfoJson(DeviceInfo deviceInfoList) {
483
- WritableMap deviceInfo = new WritableNativeMap();
484
- try {
485
- deviceInfo.putString("id", deviceInfoList.id);
486
- deviceInfo.putString("appVersion", deviceInfoList.appVersion);
487
- deviceInfo.putString("sdkVersion", deviceInfoList.sdkVersion);
488
- deviceInfo.putString("locale", deviceInfoList.locale);
489
- deviceInfo.putString("timezone", deviceInfoList.timezone);
490
- deviceInfo.putString("deviceModel", deviceInfoList.deviceModel);
491
- deviceInfo.putString("manufacturer", deviceInfoList.manufacturer);
492
- deviceInfo.putString("osVersion", deviceInfoList.osVersion);
493
- deviceInfo.putString("resolution", deviceInfoList.resolution);
494
- deviceInfo.putString("density", String.valueOf(deviceInfoList.density));
495
- } catch (Exception e) {
496
- e.printStackTrace();
497
- }
498
-
499
- return deviceInfo;
500
- }
501
-
502
-
503
- public static WritableMap getPushMessageToJSon(PushData pushData) {
504
- WritableMap deviceInfo = new WritableNativeMap();
505
- try {
506
- deviceInfo.putString("id", String.valueOf(pushData.id));
507
- deviceInfo.putString("title", pushData.title);
508
- deviceInfo.putString("bigText", pushData.bigText);
509
- deviceInfo.putString("sound", pushData.sound);
510
- if (pushData.actionUri != null)
511
- deviceInfo.putString("actionUri", pushData.actionUri.toString());
512
- deviceInfo.putString("collapseKey", pushData.collapseKey);
513
- deviceInfo.putInt("badgeNumber", pushData.badgeNumber);
514
- deviceInfo.putString("silentType", pushData.silentType);
515
- deviceInfo.putString("silentData", pushData.silentData);
516
- deviceInfo.putString("category", pushData.category);
517
- if (pushData.extraFields != null)
518
- for (Map.Entry<String, String> entry : pushData.extraFields.entrySet()) {
519
- String key = entry.getKey();
520
- String value = entry.getValue();
521
- deviceInfo.putString(key, value);
522
- }
523
- } catch (Exception e) {
524
- e.printStackTrace();
525
- }
526
-
527
- return deviceInfo;
528
- }
529
-
530
- private RemoteMessage getRemoteMessage(String jsonMsg) {
531
- if (jsonMsg == null)
532
- return null;
533
-
534
- final String KEY_TOKEN = "token";
535
- final String KEY_COLLAPSE_KEY = "collapseKey";
536
- final String KEY_DATA = "data";
537
- final String KEY_FROM = "from";
538
- final String KEY_MESSAGE_ID = "messageId";
539
- final String KEY_MESSAGE_TYPE = "messageType";
540
- final String KEY_SENT_TIME = "sentTime";
541
- final String KEY_ERROR = "error";
542
- final String KEY_TO = "to";
543
- final String KEY_TTL = "ttl";
544
-
545
- JSONObject json = null;
546
- try {
547
- json = new JSONObject(jsonMsg);
548
-
549
- String collapseKey = json.has(KEY_COLLAPSE_KEY) ? json.getString(KEY_COLLAPSE_KEY) : "";
550
- String messageId = json.has(KEY_MESSAGE_ID) ? json.getString(KEY_MESSAGE_ID) : "";
551
- String messageType = json.has(KEY_MESSAGE_TYPE) ? json.getString(KEY_MESSAGE_TYPE) : "";
552
- int ttl = json.has(KEY_TTL) ? json.getInt(KEY_TTL) : 0;
553
- JSONObject data = json.has(KEY_DATA) ? json.getJSONObject(KEY_DATA) : null;
554
-
555
- RemoteMessage.Builder builder = new RemoteMessage.Builder("appoxee@gcm.googleapis.com")
556
- .setMessageType(messageType)
557
- .setMessageId(messageId)
558
- .setTtl(ttl)
559
- .setCollapseKey(collapseKey);
560
-
561
- if (data != null) {
562
- for (Iterator<String> it = data.keys(); it.hasNext();) {
563
- String k = it.next();
564
- builder.addData(k, data.getString(k));
565
- }
566
- }
567
-
568
- return builder.build();
569
- } catch (JSONException e) {
570
- e.printStackTrace();
571
- }
572
- return null;
573
- }
574
-
575
- private boolean shouldRequestLocationPermissions() {
576
- if (Build.VERSION.SDK_INT < 23) {
577
- return false;
578
- }
579
-
580
- return ContextCompat.checkSelfPermission(getReactApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_DENIED &&
581
- ContextCompat.checkSelfPermission(getReactApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_DENIED;
582
- }
583
-
584
- @ReactMethod
585
- public void clearNotifications() {
586
- NotificationManagerCompat.from(reactContext.getApplicationContext()).cancelAll();
587
- }
588
-
589
-
590
- @ReactMethod
591
- public void clearNotification(int id) {
592
- NotificationManagerCompat.from(reactContext.getApplicationContext()).cancel(id);
593
- }
594
-
595
- @ReactMethod
596
- public void logOut(boolean pushEnabled) {
597
- Appoxee.instance().logOut(application, pushEnabled);
598
- }
599
-
600
-
601
- }
1
+
2
+ package com.reactlibrary;
3
+
4
+ import android.Manifest;
5
+ import android.app.Application;
6
+ import android.content.pm.ActivityInfo;
7
+ import android.content.pm.PackageManager;
8
+ import android.os.Build;
9
+ import android.util.Log;
10
+
11
+ import androidx.annotation.Nullable;
12
+ import androidx.core.app.NotificationManagerCompat;
13
+ import androidx.core.content.ContextCompat;
14
+
15
+ import com.appoxee.Appoxee;
16
+ import com.appoxee.AppoxeeOptions;
17
+ import com.appoxee.DeviceInfo;
18
+ import com.appoxee.internal.inapp.model.APXInboxMessage;
19
+ import com.appoxee.internal.inapp.model.ApxInAppExtras;
20
+ import com.appoxee.internal.inapp.model.InAppInboxCallback;
21
+ import com.appoxee.internal.inapp.model.InAppStatistics;
22
+ import com.appoxee.internal.inapp.model.MessageContext;
23
+ import com.appoxee.internal.inapp.model.Tracking;
24
+ import com.appoxee.internal.inapp.model.TrackingAttributes;
25
+ import com.appoxee.internal.service.AppoxeeServiceAdapter;
26
+ import com.appoxee.internal.util.ResultCallback;
27
+ import com.appoxee.push.NotificationMode;
28
+ import com.appoxee.push.PushData;
29
+ import com.facebook.react.bridge.Arguments;
30
+ import com.facebook.react.bridge.Callback;
31
+ import com.facebook.react.bridge.LifecycleEventListener;
32
+ import com.facebook.react.bridge.Promise;
33
+ import com.facebook.react.bridge.ReactApplicationContext;
34
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
35
+ import com.facebook.react.bridge.ReactMethod;
36
+ import com.facebook.react.bridge.WritableArray;
37
+ import com.facebook.react.bridge.WritableMap;
38
+ import com.facebook.react.bridge.WritableNativeMap;
39
+ import com.google.firebase.messaging.RemoteMessage;
40
+
41
+ import org.json.JSONException;
42
+ import org.json.JSONObject;
43
+
44
+ import java.util.Iterator;
45
+ import java.util.List;
46
+ import java.util.Map;
47
+ import java.util.Objects;
48
+ import java.util.concurrent.ConcurrentHashMap;
49
+
50
+ /**
51
+ * Created by Aleksandar Marinkovic on 2019-05-15.
52
+ * Copyright (c) 2019 MAPP.
53
+ */
54
+ @SuppressWarnings("ALL")
55
+ public class RNMappPluginModule extends ReactContextBaseJavaModule {
56
+
57
+ private final ReactApplicationContext reactContext;
58
+ private Map<Callback, String> mFeedSubscriberMap = new ConcurrentHashMap<>();
59
+ private Map<Callback, Boolean> mCallbackWasCalledMap = new ConcurrentHashMap<>();
60
+ private Application application = null;
61
+
62
+ public RNMappPluginModule(ReactApplicationContext reactContext) {
63
+ super(reactContext);
64
+ this.reactContext = reactContext;
65
+ application = (Application) reactContext.getApplicationContext();
66
+ }
67
+
68
+ @Override
69
+ public String getName() {
70
+ return "RNMappPluginModule";
71
+ }
72
+
73
+ @Override
74
+ public void initialize() {
75
+ super.initialize();
76
+ // application is initialized in constructor
77
+ /* if (getCurrentActivity() != null)
78
+ application = (Application) getCurrentActivity().getApplication();*/
79
+ getReactApplicationContext().addLifecycleEventListener(new LifecycleEventListener() {
80
+ @Override
81
+ public void onHostResume() {
82
+ Appoxee.engage(application);
83
+ Appoxee.setOrientation(application, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
84
+ }
85
+
86
+ @Override
87
+ public void onHostPause() {
88
+
89
+ }
90
+
91
+ @Override
92
+ public void onHostDestroy() {
93
+
94
+ }
95
+
96
+ });
97
+
98
+ EventEmitter.shared().attachReactContext(getReactApplicationContext());
99
+ }
100
+
101
+ private void reportResultWithCallback(Callback callback, String error, Object result) {
102
+ if (callback != null) {
103
+ if (error != null) {
104
+ callback.invoke(error);
105
+ } else {
106
+ callback.invoke(null, result);
107
+ }
108
+ }
109
+ }
110
+
111
+ @ReactMethod
112
+ public void setRemoteMessage(String msgJson) {
113
+ RemoteMessage remoteMessage = getRemoteMessage(msgJson);
114
+ if (remoteMessage != null) {
115
+ Appoxee.instance().setRemoteMessage(remoteMessage);
116
+ }
117
+ }
118
+
119
+ @ReactMethod
120
+ public void isPushFromMapp(String msgJson, Promise promise) {
121
+ try {
122
+ JSONObject json = new JSONObject(msgJson);
123
+ boolean mappPush = json.has("data") && json.getJSONObject("data").has("p");
124
+ promise.resolve(mappPush);
125
+ } catch (Exception e) {
126
+ promise.resolve(false);
127
+ }
128
+ }
129
+
130
+ @ReactMethod
131
+ public void setToken(String token) {
132
+ Appoxee.instance().setToken(token);
133
+ }
134
+
135
+ @ReactMethod
136
+ public void setAlias(String alias) {
137
+ Appoxee.instance().setAlias(alias);
138
+ }
139
+
140
+ @ReactMethod
141
+ public void engage2() {
142
+ Appoxee.engage(Objects.requireNonNull(application));
143
+
144
+ }
145
+
146
+ @ReactMethod
147
+ public void engage(String sdkKey, String googleProjectId, String server, String appID, String tenantID) {
148
+ AppoxeeOptions opt = new AppoxeeOptions();
149
+ opt.appID = appID;
150
+ opt.sdkKey = sdkKey;
151
+ opt.googleProjectId = googleProjectId;
152
+ opt.server = AppoxeeOptions.Server.valueOf(server);
153
+ if (server.equals("TEST") || server.equals("TEST55") || server.equals("TEST_55")) {
154
+ opt.cepURL = "https://jamie-test.shortest-route.com";
155
+ }
156
+ opt.notificationMode = NotificationMode.BACKGROUND_AND_FOREGROUND;
157
+ opt.tenantID = tenantID;
158
+ Appoxee.engage(Objects.requireNonNull(application), opt);
159
+ Appoxee.instance().addInitListener(new Appoxee.OnInitCompletedListener() {
160
+ @Override
161
+ public void onInitCompleted(boolean successful, Exception failReason) {
162
+ /**
163
+ * OnInitCompleteListener must be attached;
164
+ * Internally {@link AppoxeeServiceAdapter#getDeviceInfoDMC()} is called and "user_id" created.
165
+ * If "user_id" is null InApp messages are not working.
166
+ */
167
+ }
168
+ });
169
+ Appoxee.setOrientation(application, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
170
+
171
+ }
172
+
173
+ @ReactMethod
174
+ public void engageTestServer(String cepURl, String sdkKey, String googleProjectId, String server, String appID, String tenantID) {
175
+ AppoxeeOptions opt = new AppoxeeOptions();
176
+ opt.appID = appID;
177
+ opt.sdkKey = sdkKey;
178
+ opt.googleProjectId = googleProjectId;
179
+ opt.server = AppoxeeOptions.Server.valueOf(server);
180
+ opt.cepURL = cepURl;
181
+ opt.tenantID = tenantID;
182
+ Appoxee.setOrientation(application, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
183
+
184
+ Appoxee.engage(Objects.requireNonNull(application), opt);
185
+ }
186
+
187
+ @ReactMethod
188
+ public void setPushEnabled(boolean optIn) {
189
+ Appoxee.instance().setPushEnabled(optIn);
190
+
191
+ }
192
+
193
+ @ReactMethod
194
+ public void isPushEnabled(Promise promise) {
195
+ promise.resolve(Appoxee.instance().isPushEnabled());
196
+ }
197
+
198
+
199
+ @ReactMethod
200
+ public void isReady(Promise promise) {
201
+ promise.resolve(Appoxee.instance().isReady());
202
+
203
+ }
204
+
205
+ @ReactMethod
206
+ public void onInitCompletedListener(final Promise promise) {
207
+ Appoxee.instance().addInitListener(new Appoxee.OnInitCompletedListener() {
208
+ @Override
209
+ public void onInitCompleted(boolean b, Exception e) {
210
+ promise.resolve(b);
211
+ }
212
+ });
213
+ }
214
+
215
+
216
+ @ReactMethod
217
+ public void setAttribute(String key, String value) {
218
+ Appoxee.instance().setAttribute(key, value);
219
+
220
+ }
221
+
222
+ @ReactMethod
223
+ public void setAttributeBoolean(String key, Boolean value) {
224
+ Appoxee.instance().setAttribute(key, value);
225
+
226
+ }
227
+
228
+ @ReactMethod
229
+ public void setAttributeInt(String key, Integer value) {
230
+ Appoxee.instance().setAttribute(key, value);
231
+
232
+ }
233
+
234
+ @ReactMethod
235
+ public void addTag(String tag) {
236
+ Appoxee.instance().addTag(tag);
237
+
238
+ }
239
+
240
+ @ReactMethod
241
+ public void removeTag(String tag) {
242
+ Appoxee.instance().removeTag(tag);
243
+
244
+ }
245
+
246
+ @ReactMethod
247
+ public void getTags(Promise promise) {
248
+
249
+ WritableArray array = Arguments.createArray();
250
+ for (String tag : Appoxee.instance().getTags()) {
251
+ array.pushString(tag);
252
+ }
253
+ promise.resolve(array);
254
+ }
255
+
256
+ @ReactMethod
257
+ public void removeAttribute(String attribute) {
258
+ Appoxee.instance().removeAttribute(attribute);
259
+ }
260
+
261
+
262
+ @ReactMethod
263
+ public void getAlias(Promise promise) {
264
+ promise.resolve(Appoxee.instance().getAlias());
265
+ }
266
+
267
+ @ReactMethod
268
+ public void getDeviceInfo(Promise promise) {
269
+ promise.resolve(getDeviceInfoJson(Appoxee.instance().getDeviceInfo()));
270
+ }
271
+
272
+ @ReactMethod
273
+ public void getAttributeStringValue(String value, Promise promise) {
274
+ promise.resolve(Appoxee.instance().getAttributeStringValue(value));
275
+ }
276
+
277
+
278
+ @ReactMethod
279
+ public void lockScreenOrientation(Integer orientation) {
280
+ Appoxee.setOrientation(Objects.requireNonNull((Application) reactContext.getApplicationContext()), orientation);
281
+ }
282
+
283
+ @ReactMethod
284
+ public void removeBadgeNumber() {
285
+ Appoxee.removeBadgeNumber(Objects.requireNonNull((Application) reactContext.getApplicationContext()));
286
+ }
287
+
288
+ @ReactMethod
289
+ public void startGeofencing(final Promise promise) {
290
+ Appoxee.instance().startGeoFencing(new ResultCallback<String>() {
291
+ @Override
292
+ public void onResult(@Nullable String result) {
293
+ promise.resolve(result);
294
+ }
295
+ });
296
+ }
297
+
298
+ @ReactMethod
299
+ public void stopGeofencing(final Promise promise) {
300
+ Appoxee.instance().stopGeoFencing(new ResultCallback<String>() {
301
+ @Override
302
+ public void onResult(@Nullable String result) {
303
+ promise.resolve(result);
304
+ }
305
+ });
306
+ }
307
+
308
+ /**
309
+ * This method is deprecated in Java. Use method {@link #startGeofencing(ResultCallback)}}
310
+ */
311
+ @ReactMethod
312
+ @Deprecated()
313
+ public void startGeoFencing() {
314
+ Appoxee.instance().startGeoFencing();
315
+ }
316
+
317
+ /**
318
+ * Deprecated in Java. Use method {@link #stopGeofencing(ResultCallback)}
319
+ */
320
+ @Deprecated
321
+ @ReactMethod
322
+ public void stopGeoFencing() {
323
+ Appoxee.instance().stopGeoFencing();
324
+ }
325
+
326
+ @ReactMethod
327
+ public void fetchInboxMessage(final Promise promise) {
328
+
329
+ Appoxee.instance().fetchInboxMessages(reactContext.getApplicationContext());
330
+
331
+ InAppInboxCallback inAppInboxCallback = new InAppInboxCallback();
332
+ inAppInboxCallback.addInAppInboxMessagesReceivedCallback(new InAppInboxCallback.onInAppInboxMessagesReceived() {
333
+ @Override
334
+ public void onInAppInboxMessages(List<APXInboxMessage> richMessages) {
335
+ WritableArray messagesArray = Arguments.createArray();
336
+ if (richMessages != null)
337
+ for (APXInboxMessage message : richMessages) {
338
+ messagesArray.pushMap(messageToJson(message));
339
+ }
340
+ promise.resolve(messagesArray);
341
+ }
342
+
343
+ @Override
344
+ public void onInAppInboxMessage(final APXInboxMessage message) {
345
+ promise.resolve(messageToJson(message));
346
+ }
347
+ });
348
+ }
349
+
350
+ @ReactMethod
351
+ public void triggerInApp(String key) {
352
+ Appoxee.instance().triggerInApp((getCurrentActivity()), key);
353
+ }
354
+
355
+ @ReactMethod
356
+ public void inAppMarkAsRead(Integer templateId, String eventId) {
357
+ Appoxee.instance().triggerStatistcs((getCurrentActivity()), getInAppStatisticsRequestObject(templateId,
358
+ eventId,
359
+ InAppStatistics.INBOX_INBOX_MESSAGE_READ_KEY, null, null, null));
360
+ }
361
+
362
+ @ReactMethod
363
+ public void inAppMarkAsUnRead(Integer templateId, String eventId) {
364
+ Appoxee.instance().triggerStatistcs((reactContext.getApplicationContext()), getInAppStatisticsRequestObject(templateId,
365
+ eventId,
366
+ InAppStatistics.INBOX_INBOX_MESSAGE_UNREAD_KEY, null, null, null));
367
+ }
368
+
369
+ @ReactMethod
370
+ public void inAppMarkAsDeleted(Integer templateId, String eventId) {
371
+ Appoxee.instance().triggerStatistcs((reactContext.getApplicationContext()), getInAppStatisticsRequestObject(templateId,
372
+ eventId,
373
+ InAppStatistics.INBOX_INBOX_MESSAGE_DELETED_KEY, null, null, null));
374
+ }
375
+
376
+ @ReactMethod
377
+ public void triggerStatistic(Integer templateId, String originalEventId,
378
+ String trackingKey, Long displayMillis,
379
+ String reason, String link) {
380
+ Appoxee.instance()
381
+ .triggerStatistcs((reactContext.getApplicationContext())
382
+ , getInAppStatisticsRequestObject(templateId, originalEventId, trackingKey, displayMillis, reason, link));
383
+ }
384
+
385
+ @ReactMethod
386
+ public void isDeviceRegistered(Promise promise) {
387
+ promise.resolve(Appoxee.instance().isDeviceRegistered());
388
+
389
+ }
390
+
391
+
392
+ @ReactMethod
393
+ public void addAndroidListener(String eventName) {
394
+ EventEmitter.shared().addAndroidListener(eventName);
395
+ }
396
+
397
+ @ReactMethod
398
+ public void removeAndroidListeners(int count) {
399
+ EventEmitter.shared().removeAndroidListeners(count);
400
+ }
401
+
402
+
403
+ private static InAppStatistics getInAppStatisticsRequestObject(int templateId, String originalEventId,
404
+ String trackingKey, Long displayMillis,
405
+ String reason, String link) {
406
+
407
+ InAppStatistics inAppStatistics = new InAppStatistics();
408
+ //This will be received from the respective Screens.
409
+ MessageContext mc = new MessageContext();
410
+ mc.setTemplateId(templateId);
411
+ mc.setOriginialEventid(originalEventId);
412
+ inAppStatistics.setMessageContext(mc);
413
+ Tracking tk = new Tracking();
414
+ tk.setTrackingKey(trackingKey);
415
+ TrackingAttributes ta = new TrackingAttributes();
416
+ ta.setTimeSinceDisplayMillis(displayMillis);
417
+ ta.setReason(reason);
418
+ ta.setLink(link);
419
+ tk.setTrackingAttributes(ta);
420
+ inAppStatistics.setTracking(tk);
421
+
422
+ return inAppStatistics;
423
+
424
+ }
425
+
426
+
427
+ private WritableMap messageToJson(APXInboxMessage msg) {
428
+ WritableMap msgJson = new WritableNativeMap();
429
+
430
+ try {
431
+ msgJson.putInt("templateId", msg.getTemplateId());
432
+ msgJson.putString("title", msg.getContent());
433
+ msgJson.putString("eventId", msg.getEventId());
434
+ if (msg.getExpirationDate() != null)
435
+ msgJson.putString("expirationDate", msg.getExpirationDate().toString());
436
+ if (msg.getIconUrl() != null)
437
+ msgJson.putString("iconURl", msg.getIconUrl());
438
+ if (msg.getStatus() != null)
439
+ msgJson.putString("status", msg.getStatus());
440
+ if (msg.getSubject() != null)
441
+ msgJson.putString("subject", msg.getSubject());
442
+ if (msg.getSummary() != null)
443
+ msgJson.putString("summary", msg.getSummary());
444
+ if (msg.getExtras() != null)
445
+ for (ApxInAppExtras apxInAppExtras : msg.getExtras())
446
+ msgJson.putString(apxInAppExtras.getName(), apxInAppExtras.getValue());
447
+
448
+
449
+ } catch (Exception e) {
450
+ e.printStackTrace();
451
+ }
452
+
453
+ return msgJson;
454
+ }
455
+
456
+
457
+ private WritableMap getDeviceInfoJson(DeviceInfo deviceInfoList) {
458
+ WritableMap deviceInfo = new WritableNativeMap();
459
+ try {
460
+ deviceInfo.putString("id", deviceInfoList.id);
461
+ deviceInfo.putString("appVersion", deviceInfoList.appVersion);
462
+ deviceInfo.putString("sdkVersion", deviceInfoList.sdkVersion);
463
+ deviceInfo.putString("locale", deviceInfoList.locale);
464
+ deviceInfo.putString("timezone", deviceInfoList.timezone);
465
+ deviceInfo.putString("deviceModel", deviceInfoList.deviceModel);
466
+ deviceInfo.putString("manufacturer", deviceInfoList.manufacturer);
467
+ deviceInfo.putString("osVersion", deviceInfoList.osVersion);
468
+ deviceInfo.putString("resolution", deviceInfoList.resolution);
469
+ deviceInfo.putString("density", String.valueOf(deviceInfoList.density));
470
+ } catch (Exception e) {
471
+ e.printStackTrace();
472
+ }
473
+
474
+ return deviceInfo;
475
+ }
476
+
477
+
478
+ public static WritableMap getPushMessageToJSon(PushData pushData) {
479
+ WritableMap deviceInfo = new WritableNativeMap();
480
+ try {
481
+ deviceInfo.putString("id", String.valueOf(pushData.id));
482
+ deviceInfo.putString("title", pushData.title);
483
+ deviceInfo.putString("bigText", pushData.bigText);
484
+ deviceInfo.putString("sound", pushData.sound);
485
+ if (pushData.actionUri != null)
486
+ deviceInfo.putString("actionUri", pushData.actionUri.toString());
487
+ deviceInfo.putString("collapseKey", pushData.collapseKey);
488
+ deviceInfo.putInt("badgeNumber", pushData.badgeNumber);
489
+ deviceInfo.putString("silentType", pushData.silentType);
490
+ deviceInfo.putString("silentData", pushData.silentData);
491
+ deviceInfo.putString("category", pushData.category);
492
+ if (pushData.extraFields != null)
493
+ for (Map.Entry<String, String> entry : pushData.extraFields.entrySet()) {
494
+ String key = entry.getKey();
495
+ String value = entry.getValue();
496
+ deviceInfo.putString(key, value);
497
+ }
498
+ } catch (Exception e) {
499
+ e.printStackTrace();
500
+ }
501
+
502
+ return deviceInfo;
503
+ }
504
+
505
+ private RemoteMessage getRemoteMessage(String jsonMsg) {
506
+ if (jsonMsg == null)
507
+ return null;
508
+
509
+ final String KEY_TOKEN = "token";
510
+ final String KEY_COLLAPSE_KEY = "collapseKey";
511
+ final String KEY_DATA = "data";
512
+ final String KEY_FROM = "from";
513
+ final String KEY_MESSAGE_ID = "messageId";
514
+ final String KEY_MESSAGE_TYPE = "messageType";
515
+ final String KEY_SENT_TIME = "sentTime";
516
+ final String KEY_ERROR = "error";
517
+ final String KEY_TO = "to";
518
+ final String KEY_TTL = "ttl";
519
+
520
+ JSONObject json = null;
521
+ try {
522
+ json = new JSONObject(jsonMsg);
523
+
524
+ String collapseKey = json.has(KEY_COLLAPSE_KEY) ? json.getString(KEY_COLLAPSE_KEY) : "";
525
+ String messageId = json.has(KEY_MESSAGE_ID) ? json.getString(KEY_MESSAGE_ID) : "";
526
+ String messageType = json.has(KEY_MESSAGE_TYPE) ? json.getString(KEY_MESSAGE_TYPE) : "";
527
+ int ttl = json.has(KEY_TTL) ? json.getInt(KEY_TTL) : 0;
528
+ JSONObject data = json.has(KEY_DATA) ? json.getJSONObject(KEY_DATA) : null;
529
+
530
+ RemoteMessage.Builder builder = new RemoteMessage.Builder("appoxee@gcm.googleapis.com")
531
+ .setMessageType(messageType)
532
+ .setMessageId(messageId)
533
+ .setTtl(ttl)
534
+ .setCollapseKey(collapseKey);
535
+
536
+ if (data != null) {
537
+ for (Iterator<String> it = data.keys(); it.hasNext();) {
538
+ String k = it.next();
539
+ builder.addData(k, data.getString(k));
540
+ }
541
+ }
542
+
543
+ return builder.build();
544
+ } catch (JSONException e) {
545
+ e.printStackTrace();
546
+ }
547
+ return null;
548
+ }
549
+
550
+ private boolean shouldRequestLocationPermissions() {
551
+ if (Build.VERSION.SDK_INT < 23) {
552
+ return false;
553
+ }
554
+
555
+ return ContextCompat.checkSelfPermission(getReactApplicationContext(), Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_DENIED &&
556
+ ContextCompat.checkSelfPermission(getReactApplicationContext(), Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_DENIED;
557
+ }
558
+
559
+ @ReactMethod
560
+ public void clearNotifications() {
561
+ NotificationManagerCompat.from(reactContext.getApplicationContext()).cancelAll();
562
+ }
563
+
564
+
565
+ @ReactMethod
566
+ public void clearNotification(int id) {
567
+ NotificationManagerCompat.from(reactContext.getApplicationContext()).cancel(id);
568
+ }
569
+
570
+ @ReactMethod
571
+ public void logOut(boolean pushEnabled) {
572
+ Appoxee.instance().logOut(application, pushEnabled);
573
+ }
574
+
575
+
576
+ }