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.
- package/.vscode/settings.json +2 -2
- package/CustomEvent.js +47 -47
- package/Mapp.js +452 -431
- package/MappEventEmitter.js +41 -41
- package/README.md +93 -93
- package/RNMappPlugin.podspec +29 -29
- package/__package.json +37 -37
- package/android/.classpath +6 -6
- package/android/.project +34 -34
- package/android/.settings/org.eclipse.buildship.core.prefs +13 -13
- package/android/build.gradle +75 -76
- package/android/gradle/wrapper/gradle-wrapper.properties +7 -7
- package/android/gradle.properties +15 -15
- package/android/src/main/AndroidManifest.xml +66 -65
- package/android/src/main/java/com/reactlibrary/ActivityListener.java +43 -43
- package/android/src/main/java/com/reactlibrary/Event.java +28 -28
- package/android/src/main/java/com/reactlibrary/EventEmitter.java +153 -153
- package/android/src/main/java/com/reactlibrary/HelperActivity.java +72 -254
- package/android/src/main/java/com/reactlibrary/IntentNotificationEvent.java +52 -54
- package/android/src/main/java/com/reactlibrary/MessageService.java +45 -36
- package/android/src/main/java/com/reactlibrary/MyPushBroadcastReceiver.java +43 -43
- package/android/src/main/java/com/reactlibrary/PushNotificationEvent.java +37 -37
- package/android/src/main/java/com/reactlibrary/RNMappPluginModule.java +576 -601
- package/android/src/main/java/com/reactlibrary/RNMappPluginPackage.java +34 -34
- package/android/src/main/java/com/reactlibrary/RNUtils.java +191 -191
- package/android/src/main/res/values/styles.xml +14 -14
- package/index.js +8 -8
- package/ios/Frameworks/AppoxeeInapp.framework/Versions/A/Headers/APXInBoxMessage.h +101 -101
- package/ios/Frameworks/AppoxeeInapp.framework/Versions/A/Headers/AppoxeeInapp.h +153 -153
- package/ios/Frameworks/AppoxeeInapp.framework/Versions/A/Headers/AppoxeeInappSDK.h +9 -9
- package/ios/Frameworks/AppoxeeLocationServices.framework/Versions/A/Headers/AppoxeeLocationManager.h +122 -122
- package/ios/Frameworks/AppoxeeLocationServices.framework/Versions/A/Headers/AppoxeeLocationServices.h +10 -10
- package/ios/Frameworks/AppoxeeSDK.xcframework/Info.plist +46 -0
- package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXClientDevice.h +26 -26
- package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXInterfaceService.h +49 -49
- package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXPushNotification.h +92 -92
- package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXPushNotificationAction.h +20 -20
- package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXPushNotificationActionButton.h +19 -19
- package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXPushNotificationActionButtonAction.h +34 -34
- package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/APXRichMessage.h +58 -58
- package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/Appoxee.h +840 -840
- package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/AppoxeeManager.h +385 -385
- package/ios/Frameworks/{AppoxeeSDK.framework/Versions/A → AppoxeeSDK.xcframework/ios-arm64_armv7}/Headers/AppoxeeSDK.h +12 -12
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_armv7/libAppoxeeSDK.a +0 -0
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXClientDevice.h +26 -0
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXInterfaceService.h +49 -0
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXPushNotification.h +92 -0
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXPushNotificationAction.h +20 -0
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXPushNotificationActionButton.h +19 -0
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXPushNotificationActionButtonAction.h +35 -0
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/APXRichMessage.h +58 -0
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/Appoxee.h +840 -0
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/AppoxeeManager.h +386 -0
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/Headers/AppoxeeSDK.h +12 -0
- package/ios/Frameworks/AppoxeeSDK.xcframework/ios-arm64_i386_x86_64-simulator/libAppoxeeSDK.a +0 -0
- package/ios/Frameworks/AppoxeeSDKResources.bundle/app_conf.json +340 -340
- package/ios/RNMappEventEmmiter.h +25 -25
- package/ios/RNMappEventEmmiter.m +221 -221
- package/ios/RNMappPluginModule.h +10 -10
- package/ios/RNMappPluginModule.m +324 -320
- package/iospatch.sh +13 -13
- package/jsdoc.conf.json +14 -14
- package/package.json +37 -37
- package/android/.gradle/5.6.4/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/5.6.4/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/5.6.4/fileChanges/last-build.bin +0 -0
- package/android/.gradle/5.6.4/fileContent/fileContent.lock +0 -0
- package/android/.gradle/5.6.4/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/5.6.4/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/5.6.4/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/5.6.4/gc.properties +0 -0
- package/android/.gradle/5.6.4/javaCompile/classAnalysis.bin +0 -0
- package/android/.gradle/5.6.4/javaCompile/jarAnalysis.bin +0 -0
- package/android/.gradle/5.6.4/javaCompile/javaCompile.lock +0 -0
- package/android/.gradle/5.6.4/javaCompile/taskHistory.bin +0 -0
- package/android/.gradle/7.0-rc-1/dependencies-accessors/dependencies-accessors.lock +0 -0
- package/android/.gradle/7.0-rc-1/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/7.0-rc-1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/7.0-rc-1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/7.0-rc-1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/7.0-rc-1/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/configuration-cache/gc.properties +0 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.idea/compiler.xml +0 -6
- package/android/.idea/gradle.xml +0 -21
- package/android/.idea/jarRepositories.xml +0 -35
- package/android/.idea/libraries/Gradle__androidx_activity_activity_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_2_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_2_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_core_core_1_3_1_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_1_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v13_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_v4_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_1_0.xml +0 -11
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_media_media_1_0_1_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_recyclerview_recyclerview_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_0_8_1_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_0_8_1_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_0_8_1_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_0_8_1_aar.xml +0 -19
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp_0_8_1_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_20_1_aar.xml +0 -24
- package/android/.idea/libraries/Gradle__com_facebook_stetho_stetho_1_2_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_facebook_stetho_stetho_okhttp_1_2_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_2_3.xml +0 -13
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_17_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_17_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_16_0_0_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_16_0_0_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_17_0_0_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_17_0_0_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_6_5.xml +0 -13
- package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_google_code_gson_gson_2_8_5.xml +0 -13
- package/android/.idea/libraries/Gradle__com_google_dagger_dagger_2_24.xml +0 -13
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_common_19_0_0_aar.xml +0 -18
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_20_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_17_0_0_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_18_0_0_aar.xml +0 -14
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_messaging_20_0_0_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__com_mapp_sdk_mapp_android_6_0_17_special8_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__com_nineoldandroids_library_2_4_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_parse_bolts_bolts_android_1_1_4.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_2_5_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_ws_2_5_0.xml +0 -13
- package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_6_0.xml +0 -13
- package/android/.idea/libraries/Gradle__commons_cli_commons_cli_1_2.xml +0 -13
- package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +0 -13
- package/android/.idea/libraries/Gradle__org_webkit_android_jsc_r174650_aar.xml +0 -14
- package/android/.idea/misc.xml +0 -9
- package/android/.idea/modules/android.iml +0 -122
- package/android/.idea/modules/app/android.app.iml +0 -26
- package/android/.idea/modules.xml +0 -9
- package/android/.idea/vcs.xml +0 -6
- package/android/build/generated/source/buildConfig/debug/com/reactlibrary/BuildConfig.java +0 -18
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -70
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
- package/android/build/intermediates/aar_main_jar/debug/classes.jar +0 -0
- package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
- package/android/build/intermediates/annotations_typedef_file/debug/typedefs.txt +0 -0
- package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/R.txt +0 -2993
- package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
- package/android/build/intermediates/incremental/debug-mergeNativeLibs/merge-state +0 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
- package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
- package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -1
- package/android/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml +0 -13
- package/android/build/intermediates/incremental/packageDebugResources/merger.xml +0 -11
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/ActivityListener.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/BuildConfig.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/Event.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/EventEmitter$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/EventEmitter$2.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/EventEmitter$3.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/EventEmitter.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/HelperActivity$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/HelperActivity$2.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/HelperActivity$ActivityResult.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/HelperActivity.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/IntentNotificationEvent.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/MessageService.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/MyPushBroadcastReceiver.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/PushNotificationEvent.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginModule$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginModule$2.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginModule$3.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginModule$4.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginModule.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNMappPluginPackage.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNUtils$1.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RNUtils.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RequestPermissionsTask$Callback.class +0 -0
- package/android/build/intermediates/javac/debug/classes/com/reactlibrary/RequestPermissionsTask.class +0 -0
- package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -70
- package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +0 -3
- package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +0 -134
- package/android/build/intermediates/merged_java_res/debug/out.jar +0 -0
- package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
- package/android/build/intermediates/packaged_res/debug/values/values.xml +0 -13
- package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +0 -1856
- package/android/build/outputs/aar/android-debug.aar +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -135
- package/android/local.properties +0 -8
- package/android/src/main/java/com/reactlibrary/RequestPermissionsTask.java +0 -58
- package/ios/Frameworks/AppoxeeInapp.framework/AppoxeeInapp +0 -1
- package/ios/Frameworks/AppoxeeInapp.framework/Headers +0 -1
- package/ios/Frameworks/AppoxeeInapp.framework/Versions/Current +0 -1
- package/ios/Frameworks/AppoxeeLocationServices.framework/AppoxeeLocationServices +0 -1
- package/ios/Frameworks/AppoxeeLocationServices.framework/Headers +0 -1
- package/ios/Frameworks/AppoxeeLocationServices.framework/Versions/Current +0 -1
- package/ios/Frameworks/AppoxeeSDK.framework/AppoxeeSDK +0 -1
- package/ios/Frameworks/AppoxeeSDK.framework/Headers +0 -1
- package/ios/Frameworks/AppoxeeSDK.framework/Versions/A/AppoxeeSDK +0 -0
- package/ios/Frameworks/AppoxeeSDK.framework/Versions/Current +0 -1
|
@@ -1,153 +1,153 @@
|
|
|
1
|
-
/* Copyright Urban Airship and Contributors */
|
|
2
|
-
|
|
3
|
-
package com.reactlibrary;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import android.os.Handler;
|
|
7
|
-
import android.os.Looper;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import androidx.annotation.MainThread;
|
|
11
|
-
|
|
12
|
-
import com.facebook.react.bridge.ReactContext;
|
|
13
|
-
import com.facebook.react.modules.core.RCTNativeAppEventEmitter;
|
|
14
|
-
|
|
15
|
-
import java.util.ArrayList;
|
|
16
|
-
import java.util.HashSet;
|
|
17
|
-
import java.util.List;
|
|
18
|
-
import java.util.Set;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Created by Aleksandar Marinkovic on 2019-05-15.
|
|
25
|
-
* Copyright (c) 2019 MAPP.
|
|
26
|
-
*/
|
|
27
|
-
class EventEmitter {
|
|
28
|
-
|
|
29
|
-
private static EventEmitter sharedInstance = new EventEmitter();
|
|
30
|
-
|
|
31
|
-
private final List<Event> pendingEvents = new ArrayList<>();
|
|
32
|
-
private final Set<String> knownListeners = new HashSet<>();
|
|
33
|
-
private final Handler mainHandler = new Handler(Looper.getMainLooper());
|
|
34
|
-
|
|
35
|
-
private long listenerCount;
|
|
36
|
-
private ReactContext reactContext;
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Returns the shared {@link EventEmitter} instance.
|
|
40
|
-
*
|
|
41
|
-
* @return The shared {@link EventEmitter} instance.
|
|
42
|
-
*/
|
|
43
|
-
static EventEmitter shared() {
|
|
44
|
-
return sharedInstance;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Attaches the react context.
|
|
49
|
-
*
|
|
50
|
-
* @param reactContext The react context.
|
|
51
|
-
*/
|
|
52
|
-
void attachReactContext(final ReactContext reactContext) {
|
|
53
|
-
mainHandler.post(new Runnable() {
|
|
54
|
-
@Override
|
|
55
|
-
public void run() {
|
|
56
|
-
EventEmitter.this.reactContext = reactContext;
|
|
57
|
-
sendPendingEvents();
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Sends an event to the JS layer.
|
|
64
|
-
*
|
|
65
|
-
* @param event The event.
|
|
66
|
-
*/
|
|
67
|
-
void sendEvent(final Event event) {
|
|
68
|
-
mainHandler.post(new Runnable() {
|
|
69
|
-
@Override
|
|
70
|
-
public void run() {
|
|
71
|
-
synchronized (knownListeners) {
|
|
72
|
-
if (!knownListeners.contains(event.getName()) || !emit(event)) {
|
|
73
|
-
pendingEvents.add(event);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Called when a new listener is added for a specified event name.
|
|
82
|
-
*
|
|
83
|
-
* @param eventName The event name.
|
|
84
|
-
*/
|
|
85
|
-
void addAndroidListener(String eventName) {
|
|
86
|
-
synchronized (knownListeners) {
|
|
87
|
-
listenerCount++;
|
|
88
|
-
knownListeners.add(eventName);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
mainHandler.post(new Runnable() {
|
|
92
|
-
@Override
|
|
93
|
-
public void run() {
|
|
94
|
-
sendPendingEvents();
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Called when listeners are removed.
|
|
101
|
-
*
|
|
102
|
-
* @param count The count of listeners.
|
|
103
|
-
*/
|
|
104
|
-
void removeAndroidListeners(int count) {
|
|
105
|
-
synchronized (knownListeners) {
|
|
106
|
-
listenerCount -= count;
|
|
107
|
-
if (listenerCount <= 0) {
|
|
108
|
-
listenerCount = 0;
|
|
109
|
-
knownListeners.clear();
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Attempts to send pending events.
|
|
116
|
-
*/
|
|
117
|
-
@MainThread
|
|
118
|
-
private void sendPendingEvents() {
|
|
119
|
-
synchronized (knownListeners) {
|
|
120
|
-
for (Event event : new ArrayList<>(pendingEvents)) {
|
|
121
|
-
if (knownListeners.contains(event.getName())) {
|
|
122
|
-
// Remove the event first before attempting to send. If it fails to
|
|
123
|
-
// send it will get added back to pendingEvents.
|
|
124
|
-
pendingEvents.remove(event);
|
|
125
|
-
sendEvent(event);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Helper method to emit data.
|
|
133
|
-
*
|
|
134
|
-
* @param event The event.
|
|
135
|
-
* @return {@code true} if the event was emitted, otherwise {@code false}.
|
|
136
|
-
*/
|
|
137
|
-
@MainThread
|
|
138
|
-
private boolean emit(final Event event) {
|
|
139
|
-
ReactContext reactContext = this.reactContext;
|
|
140
|
-
if (reactContext == null || !reactContext.hasActiveCatalystInstance()) {
|
|
141
|
-
return false;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
try {
|
|
145
|
-
reactContext.getJSModule(RCTNativeAppEventEmitter.class).emit(event.getName(), event.getBody());
|
|
146
|
-
} catch (Exception e) {
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
return true;
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
}
|
|
1
|
+
/* Copyright Urban Airship and Contributors */
|
|
2
|
+
|
|
3
|
+
package com.reactlibrary;
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
import android.os.Handler;
|
|
7
|
+
import android.os.Looper;
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
import androidx.annotation.MainThread;
|
|
11
|
+
|
|
12
|
+
import com.facebook.react.bridge.ReactContext;
|
|
13
|
+
import com.facebook.react.modules.core.RCTNativeAppEventEmitter;
|
|
14
|
+
|
|
15
|
+
import java.util.ArrayList;
|
|
16
|
+
import java.util.HashSet;
|
|
17
|
+
import java.util.List;
|
|
18
|
+
import java.util.Set;
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Created by Aleksandar Marinkovic on 2019-05-15.
|
|
25
|
+
* Copyright (c) 2019 MAPP.
|
|
26
|
+
*/
|
|
27
|
+
class EventEmitter {
|
|
28
|
+
|
|
29
|
+
private static EventEmitter sharedInstance = new EventEmitter();
|
|
30
|
+
|
|
31
|
+
private final List<Event> pendingEvents = new ArrayList<>();
|
|
32
|
+
private final Set<String> knownListeners = new HashSet<>();
|
|
33
|
+
private final Handler mainHandler = new Handler(Looper.getMainLooper());
|
|
34
|
+
|
|
35
|
+
private long listenerCount;
|
|
36
|
+
private ReactContext reactContext;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Returns the shared {@link EventEmitter} instance.
|
|
40
|
+
*
|
|
41
|
+
* @return The shared {@link EventEmitter} instance.
|
|
42
|
+
*/
|
|
43
|
+
static EventEmitter shared() {
|
|
44
|
+
return sharedInstance;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Attaches the react context.
|
|
49
|
+
*
|
|
50
|
+
* @param reactContext The react context.
|
|
51
|
+
*/
|
|
52
|
+
void attachReactContext(final ReactContext reactContext) {
|
|
53
|
+
mainHandler.post(new Runnable() {
|
|
54
|
+
@Override
|
|
55
|
+
public void run() {
|
|
56
|
+
EventEmitter.this.reactContext = reactContext;
|
|
57
|
+
sendPendingEvents();
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Sends an event to the JS layer.
|
|
64
|
+
*
|
|
65
|
+
* @param event The event.
|
|
66
|
+
*/
|
|
67
|
+
void sendEvent(final Event event) {
|
|
68
|
+
mainHandler.post(new Runnable() {
|
|
69
|
+
@Override
|
|
70
|
+
public void run() {
|
|
71
|
+
synchronized (knownListeners) {
|
|
72
|
+
if (!knownListeners.contains(event.getName()) || !emit(event)) {
|
|
73
|
+
pendingEvents.add(event);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Called when a new listener is added for a specified event name.
|
|
82
|
+
*
|
|
83
|
+
* @param eventName The event name.
|
|
84
|
+
*/
|
|
85
|
+
void addAndroidListener(String eventName) {
|
|
86
|
+
synchronized (knownListeners) {
|
|
87
|
+
listenerCount++;
|
|
88
|
+
knownListeners.add(eventName);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
mainHandler.post(new Runnable() {
|
|
92
|
+
@Override
|
|
93
|
+
public void run() {
|
|
94
|
+
sendPendingEvents();
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Called when listeners are removed.
|
|
101
|
+
*
|
|
102
|
+
* @param count The count of listeners.
|
|
103
|
+
*/
|
|
104
|
+
void removeAndroidListeners(int count) {
|
|
105
|
+
synchronized (knownListeners) {
|
|
106
|
+
listenerCount -= count;
|
|
107
|
+
if (listenerCount <= 0) {
|
|
108
|
+
listenerCount = 0;
|
|
109
|
+
knownListeners.clear();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Attempts to send pending events.
|
|
116
|
+
*/
|
|
117
|
+
@MainThread
|
|
118
|
+
private void sendPendingEvents() {
|
|
119
|
+
synchronized (knownListeners) {
|
|
120
|
+
for (Event event : new ArrayList<>(pendingEvents)) {
|
|
121
|
+
if (knownListeners.contains(event.getName())) {
|
|
122
|
+
// Remove the event first before attempting to send. If it fails to
|
|
123
|
+
// send it will get added back to pendingEvents.
|
|
124
|
+
pendingEvents.remove(event);
|
|
125
|
+
sendEvent(event);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Helper method to emit data.
|
|
133
|
+
*
|
|
134
|
+
* @param event The event.
|
|
135
|
+
* @return {@code true} if the event was emitted, otherwise {@code false}.
|
|
136
|
+
*/
|
|
137
|
+
@MainThread
|
|
138
|
+
private boolean emit(final Event event) {
|
|
139
|
+
ReactContext reactContext = this.reactContext;
|
|
140
|
+
if (reactContext == null || !reactContext.hasActiveCatalystInstance()) {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
try {
|
|
145
|
+
reactContext.getJSModule(RCTNativeAppEventEmitter.class).emit(event.getName(), event.getBody());
|
|
146
|
+
} catch (Exception e) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
}
|
|
@@ -1,254 +1,72 @@
|
|
|
1
|
-
package com.reactlibrary;
|
|
2
|
-
|
|
3
|
-
import android.app.Activity;
|
|
4
|
-
import android.content.
|
|
5
|
-
import android.content.Intent;
|
|
6
|
-
import android.content.pm.PackageManager;
|
|
7
|
-
import android.os.
|
|
8
|
-
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
import
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
finish();
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
private Intent getDefaultActivityIntent() {
|
|
79
|
-
PackageManager packageManager = getPackageManager();
|
|
80
|
-
return packageManager.getLaunchIntentForPackage(getPackageName());
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
@Override
|
|
84
|
-
protected void onNewIntent(Intent intent) {
|
|
85
|
-
super.onNewIntent(intent);
|
|
86
|
-
if (intent == null) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
if (intent.getAction() != null)
|
|
90
|
-
if (!intent.getAction().equals("")) {
|
|
91
|
-
EventEmitter.shared().sendEvent(new IntentNotificationEvent(Objects.requireNonNull(intent.getData()), intent.getAction()));
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
@Override
|
|
96
|
-
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
|
|
97
|
-
if (resultReceiver != null) {
|
|
98
|
-
Bundle bundledData = new Bundle();
|
|
99
|
-
bundledData.putParcelable(RESULT_INTENT_EXTRA, data);
|
|
100
|
-
resultReceiver.send(resultCode, bundledData);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
super.onActivityResult(requestCode, resultCode, data);
|
|
104
|
-
this.finish();
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
@Override
|
|
108
|
-
public void onRequestPermissionsResult(int requestCode, @NonNull String permissions[], @NonNull int[] grantResults) {
|
|
109
|
-
if (resultReceiver != null) {
|
|
110
|
-
Bundle bundledData = new Bundle();
|
|
111
|
-
bundledData.putIntArray(RESULT_INTENT_EXTRA, grantResults);
|
|
112
|
-
resultReceiver.send(Activity.RESULT_OK, bundledData);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
|
116
|
-
finish();
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* Requests permissions.
|
|
121
|
-
*
|
|
122
|
-
* @param context The application context.
|
|
123
|
-
* @param permissions The permissions to request.
|
|
124
|
-
* @return The result from requesting permissions.
|
|
125
|
-
*/
|
|
126
|
-
@WorkerThread
|
|
127
|
-
@NonNull
|
|
128
|
-
public static int[] requestPermissions(@NonNull Context context, @NonNull String... permissions) {
|
|
129
|
-
context = context.getApplicationContext();
|
|
130
|
-
boolean permissionsDenied = false;
|
|
131
|
-
|
|
132
|
-
final int[] result = new int[permissions.length];
|
|
133
|
-
for (int i = 0; i < result.length; i++) {
|
|
134
|
-
result[i] = ContextCompat.checkSelfPermission(context, permissions[i]);
|
|
135
|
-
if (result[i] == PackageManager.PERMISSION_DENIED) {
|
|
136
|
-
permissionsDenied = true;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
if (!permissionsDenied || Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
|
|
141
|
-
return result;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
ResultReceiver receiver = new ResultReceiver(new Handler(Looper.getMainLooper())) {
|
|
145
|
-
@Override
|
|
146
|
-
public void onReceiveResult(int resultCode, Bundle resultData) {
|
|
147
|
-
int[] receiverResults = resultData.getIntArray(HelperActivity.RESULT_INTENT_EXTRA);
|
|
148
|
-
if (receiverResults != null && receiverResults.length == result.length) {
|
|
149
|
-
System.arraycopy(receiverResults, 0, result, 0, result.length);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
synchronized (result) {
|
|
153
|
-
result.notify();
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
};
|
|
157
|
-
|
|
158
|
-
Intent startingIntent = new Intent(context, HelperActivity.class)
|
|
159
|
-
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
|
160
|
-
.setPackage(context.getPackageName())
|
|
161
|
-
.putExtra(HelperActivity.PERMISSIONS_EXTRA, permissions)
|
|
162
|
-
.putExtra(HelperActivity.RESULT_RECEIVER_EXTRA, receiver);
|
|
163
|
-
|
|
164
|
-
synchronized (result) {
|
|
165
|
-
context.startActivity(startingIntent);
|
|
166
|
-
try {
|
|
167
|
-
result.wait();
|
|
168
|
-
} catch (InterruptedException e) {
|
|
169
|
-
Thread.currentThread().interrupt();
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
return result;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Starts an activity for a result.
|
|
178
|
-
*
|
|
179
|
-
* @param context The application context.
|
|
180
|
-
* @param intent The activity to start.
|
|
181
|
-
* @return The result of the activity in a ActivityResult object.
|
|
182
|
-
*/
|
|
183
|
-
@NonNull
|
|
184
|
-
@WorkerThread
|
|
185
|
-
public static ActivityResult startActivityForResult(@NonNull Context context, @NonNull Intent intent) {
|
|
186
|
-
context = context.getApplicationContext();
|
|
187
|
-
final ActivityResult result = new ActivityResult();
|
|
188
|
-
|
|
189
|
-
ResultReceiver receiver = new ResultReceiver(new Handler(Looper.getMainLooper())) {
|
|
190
|
-
@Override
|
|
191
|
-
public void onReceiveResult(int resultCode, Bundle resultData) {
|
|
192
|
-
result.setResult(resultCode, (Intent) resultData.getParcelable(HelperActivity.RESULT_INTENT_EXTRA));
|
|
193
|
-
synchronized (result) {
|
|
194
|
-
result.notify();
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
};
|
|
198
|
-
|
|
199
|
-
Intent startingIntent = new Intent(context, HelperActivity.class)
|
|
200
|
-
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
|
|
201
|
-
.setPackage(context.getPackageName())
|
|
202
|
-
.putExtra(HelperActivity.START_ACTIVITY_INTENT_EXTRA, intent)
|
|
203
|
-
.putExtra(HelperActivity.RESULT_RECEIVER_EXTRA, receiver);
|
|
204
|
-
|
|
205
|
-
synchronized (result) {
|
|
206
|
-
context.startActivity(startingIntent);
|
|
207
|
-
try {
|
|
208
|
-
result.wait();
|
|
209
|
-
} catch (InterruptedException e) {
|
|
210
|
-
Thread.currentThread().interrupt();
|
|
211
|
-
return new ActivityResult();
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
return result;
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
/**
|
|
219
|
-
* Wraps the result code and data from starting an activity
|
|
220
|
-
* for a result.
|
|
221
|
-
*/
|
|
222
|
-
public static class ActivityResult {
|
|
223
|
-
|
|
224
|
-
private int resultCode = Activity.RESULT_CANCELED;
|
|
225
|
-
private Intent intent;
|
|
226
|
-
|
|
227
|
-
/**
|
|
228
|
-
* Gets the result intent.
|
|
229
|
-
*
|
|
230
|
-
* @return The result intent from the activity.
|
|
231
|
-
*/
|
|
232
|
-
@Nullable
|
|
233
|
-
public Intent getIntent() {
|
|
234
|
-
return intent;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/**
|
|
238
|
-
* Gets the result code from the activity.
|
|
239
|
-
*
|
|
240
|
-
* @return The result code from the activity.
|
|
241
|
-
*/
|
|
242
|
-
public int getResultCode() {
|
|
243
|
-
return resultCode;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
private void setResult(int resultCode, @Nullable Intent intent) {
|
|
247
|
-
this.resultCode = resultCode;
|
|
248
|
-
this.intent = intent;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
}
|
|
254
|
-
|
|
1
|
+
package com.reactlibrary;
|
|
2
|
+
|
|
3
|
+
import android.app.Activity;
|
|
4
|
+
import android.content.ComponentName;
|
|
5
|
+
import android.content.Intent;
|
|
6
|
+
import android.content.pm.PackageManager;
|
|
7
|
+
import android.os.Bundle;
|
|
8
|
+
|
|
9
|
+
import androidx.annotation.Nullable;
|
|
10
|
+
|
|
11
|
+
import java.util.Objects;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Created by Aleksandar Marinkovic on 2019-05-23.
|
|
15
|
+
* Copyright (c) 2019 MAPP.
|
|
16
|
+
*/
|
|
17
|
+
public class HelperActivity extends Activity {
|
|
18
|
+
|
|
19
|
+
@Override
|
|
20
|
+
public final void onCreate(@Nullable Bundle savedInstanceState) {
|
|
21
|
+
super.onCreate(savedInstanceState);
|
|
22
|
+
|
|
23
|
+
Intent intent = getIntent();
|
|
24
|
+
|
|
25
|
+
if (intent == null) {
|
|
26
|
+
finish();
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ComponentName name = intent.getComponent();
|
|
31
|
+
String packageName = getPackageName();
|
|
32
|
+
|
|
33
|
+
if (Objects.equals(name.getPackageName(), packageName)) {
|
|
34
|
+
if (intent.getAction() != null && !intent.getAction().equals("")) {
|
|
35
|
+
Intent launchIntent = getDefaultActivityIntent();
|
|
36
|
+
ComponentName launcherComponent = launchIntent.getComponent();
|
|
37
|
+
|
|
38
|
+
if (Objects.equals(launcherComponent.getPackageName(), packageName)) {
|
|
39
|
+
launchIntent.putExtra("action", intent.getAction());
|
|
40
|
+
launchIntent.setData(intent.getData());
|
|
41
|
+
launchIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
|
|
42
|
+
startActivity(launchIntent);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
EventEmitter.shared().sendEvent(new IntentNotificationEvent(Objects.requireNonNull(intent.getData()), intent.getAction()));
|
|
46
|
+
finish();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
private Intent getDefaultActivityIntent() {
|
|
52
|
+
PackageManager packageManager = getPackageManager();
|
|
53
|
+
return packageManager.getLaunchIntentForPackage(getPackageName());
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@Override
|
|
57
|
+
protected void onNewIntent(Intent intent) {
|
|
58
|
+
super.onNewIntent(intent);
|
|
59
|
+
if (intent == null) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
ComponentName name = intent.getComponent();
|
|
64
|
+
String packageName = getPackageName();
|
|
65
|
+
|
|
66
|
+
if (Objects.equals(name.getPackageName(), packageName)) {
|
|
67
|
+
if (intent.getAction() != null && !intent.getAction().equals("")) {
|
|
68
|
+
EventEmitter.shared().sendEvent(new IntentNotificationEvent(Objects.requireNonNull(intent.getData()), intent.getAction()));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|