reactnative-plugin-appice 1.3.0 → 1.4.2
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/README.md +1 -59
- package/android/build.gradle +14 -54
- package/android/libs/logutility.jar +0 -0
- package/android/local.properties +2 -2
- package/android/src/main/AndroidManifest.xml +21 -124
- package/android/src/main/java/com/reactlibrary/AppICEUtils.java +38 -0
- package/android/src/main/java/com/reactlibrary/AppIceReactPluginModule.java +330 -78
- package/android/src/main/java/com/reactlibrary/CampaignCampsReceiver.java +20 -3
- package/android/src/main/java/com/reactlibrary/InAppWebView.java +68 -0
- package/android/src/main/java/com/reactlibrary/NotificationEventService.java +0 -0
- package/android/src/main/java/com/reactlibrary/React-Native workspace.code-workspace +29 -0
- package/example/App.js +130 -0
- package/example/Gemfile +6 -0
- package/example/__tests__/App-test.js +14 -0
- package/example/android/app/_BUCK +55 -0
- package/example/android/app/build.gradle +320 -0
- package/example/android/app/build_defs.bzl +19 -0
- package/example/android/app/debug.keystore +0 -0
- package/example/android/app/proguard-rules.pro +10 -0
- package/example/android/app/src/debug/AndroidManifest.xml +13 -0
- package/example/android/app/src/debug/java/com/example/ReactNativeFlipper.java +73 -0
- package/example/android/app/src/main/AndroidManifest.xml +72 -0
- package/example/android/app/src/main/java/com/example/MainActivity.java +48 -0
- package/example/android/app/src/main/java/com/example/MainApplication.java +91 -0
- package/example/android/app/src/main/java/com/example/newarchitecture/MainApplicationReactNativeHost.java +116 -0
- package/example/android/app/src/main/java/com/example/newarchitecture/components/MainComponentsRegistry.java +36 -0
- package/example/android/app/src/main/java/com/example/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java +48 -0
- package/example/android/app/src/main/jni/Android.mk +48 -0
- package/example/android/app/src/main/jni/MainApplicationModuleProvider.cpp +24 -0
- package/example/android/app/src/main/jni/MainApplicationModuleProvider.h +16 -0
- package/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +45 -0
- package/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h +38 -0
- package/example/android/app/src/main/jni/MainComponentsRegistry.cpp +61 -0
- package/example/android/app/src/main/jni/MainComponentsRegistry.h +32 -0
- package/example/android/app/src/main/jni/OnLoad.cpp +11 -0
- package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +36 -0
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/values/strings.xml +3 -0
- package/example/android/app/src/main/res/values/styles.xml +9 -0
- package/example/android/build.gradle +53 -0
- package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/example/android/gradle/wrapper/gradle-wrapper.properties +5 -0
- package/example/android/gradle.properties +40 -0
- package/example/android/gradlew +234 -0
- package/example/android/gradlew.bat +89 -0
- package/example/android/settings.gradle +11 -0
- package/example/app.json +4 -0
- package/example/babel.config.js +3 -0
- package/example/index.js +9 -0
- package/example/ios/Podfile +36 -0
- package/example/ios/Podfile.lock +561 -0
- package/example/ios/_xcode.env +11 -0
- package/example/ios/example/AppDelegate.h +8 -0
- package/example/ios/example/AppDelegate.mm +175 -0
- package/example/ios/example/Images.xcassets/AppIcon.appiconset/Contents.json +53 -0
- package/example/ios/example/Images.xcassets/Contents.json +6 -0
- package/example/ios/example/Info.plist +62 -0
- package/example/ios/example/LaunchScreen.storyboard +47 -0
- package/example/ios/example/example.entitlements +8 -0
- package/example/ios/example/main.m +10 -0
- package/example/ios/example.xcodeproj/project.pbxproj +712 -0
- package/example/ios/example.xcodeproj/xcshareddata/xcschemes/example.xcscheme +88 -0
- package/example/ios/example.xcworkspace/contents.xcworkspacedata +10 -0
- package/example/ios/example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/example/ios/exampleTests/Info.plist +24 -0
- package/example/ios/exampleTests/exampleTests.m +66 -0
- package/example/metro.config.js +17 -0
- package/example/package-lock.json +21443 -0
- package/example/package.json +33 -0
- package/example/yarn.lock +7238 -0
- package/index.js +99 -3
- package/ios/AppICEReactEvent.h +22 -0
- package/ios/AppICEReactEvent.m +65 -0
- package/ios/AppICESDK/appICE.momd/VersionInfo.plist +0 -0
- package/ios/AppICESDK/appICE.momd/appICE 4.mom +0 -0
- package/ios/AppICESDK/appICE.momd/appICE 4.omo +0 -0
- package/ios/AppICESDK/appICEBundle.bundle/APPChildViewController.nib +0 -0
- package/ios/AppICESDK/appICEBundle.bundle/HAlfFooterNOTINAppViewController.nib +0 -0
- package/ios/AppICESDK/appICEBundle.bundle/HAlfHeaderINAppViewController.nib +0 -0
- package/ios/AppICESDK/appICEBundle.bundle/HAlfINAppViewController.nib +0 -0
- package/ios/AppICESDK/appICEBundle.bundle/INAppViewController.nib/objects-11.0+.nib +0 -0
- package/ios/AppICESDK/appICEBundle.bundle/INAppViewController.nib/runtime.nib +0 -0
- package/ios/AppICESDK/appICEBundle.bundle/Info.plist +0 -0
- package/ios/AppICESDK/appICEBundle.bundle/RatingViewController.nib +0 -0
- package/ios/AppICESDK/appICEBundle.bundle/SurveyViewController.nib +0 -0
- package/ios/AppICESDK/include/iosAppiceSDK/AppICEHelper.h +77 -0
- package/ios/AppICESDK/include/iosAppiceSDK/AppICEInboxMessage.h +1 -0
- package/ios/AppICESDK/include/iosAppiceSDK/AppICEJSInterface.h +21 -0
- package/ios/AppICESDK/include/iosAppiceSDK/appICE.h +68 -22
- package/ios/AppICESDK/include/iosAppiceSDK/appICEUserDetails.h +6 -0
- package/ios/AppICESDK/include/iosAppiceSDK/isrgrootx1.der +0 -0
- package/ios/AppICESDK/include/iosAppiceSDK/lets-encrypt-r3.der +0 -0
- package/ios/AppICESDK/{libiosAppiceSDK_v1.7.15.a → libiosAppiceSDK_v1.7.37.a} +0 -0
- package/ios/AppIceReactPlugin.h +15 -2
- package/ios/AppIceReactPlugin.m +91 -14
- package/ios/AppIceReactPlugin.xcodeproj/project.pbxproj +67 -55
- package/package.json +3 -2
- package/android/.gradle/5.4.1/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/5.4.1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/5.4.1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/5.4.1/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/5.4.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/5.4.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/vcs-1/gc.properties +0 -0
- package/android/.idea/caches/build_file_checksums.ser +0 -0
- package/android/.idea/caches/gradle_models.ser +0 -0
- package/android/.idea/codeStyles/Project.xml +0 -116
- package/android/.idea/dictionaries/Adi.xml +0 -3
- package/android/.idea/gradle.xml +0 -16
- package/android/.idea/libraries/Gradle____local_aars____Users_Adi_ReactModule_AppICEReactLibrary_android_libs_AppICE_SDK_v2_4_18_jar_unspecified_jar.xml +0 -9
- package/android/.idea/libraries/Gradle____local_aars____Users_Adi_ReactModule_AppICEReactLibrary_android_libs_logutility_jar_unspecified_jar.xml +0 -9
- package/android/.idea/libraries/Gradle__android_arch_core_common_1_0_0_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__android_arch_lifecycle_common_1_0_0_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_0_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_android_support_appcompat_v7_23_0_1_aar.xml +0 -15
- package/android/.idea/libraries/Gradle__com_android_support_customtabs_26_1_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_android_support_recyclerview_v7_23_0_1_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_android_support_support_annotations_23_0_1_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__com_android_support_support_annotations_26_1_0_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__com_android_support_support_compat_26_1_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_android_support_support_core_ui_26_1_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_android_support_support_core_utils_26_1_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_android_support_support_fragment_26_1_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_android_support_support_media_compat_26_1_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_android_support_support_v4_23_0_1_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__com_android_support_support_v4_26_1_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_0_8_1_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_0_8_1_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_0_8_1_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_0_8_1_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp_0_8_1_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_20_1_aar.xml +0 -16
- package/android/.idea/libraries/Gradle__com_facebook_stetho_stetho_1_2_0_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__com_facebook_stetho_stetho_okhttp_1_2_0_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__com_fasterxml_jackson_core_jackson_core_2_2_3_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_16_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_base_16_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_identifier_16_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_ads_lite_16_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_base_16_0_1_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_basement_16_2_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_gass_16_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_location_16_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_16_5_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_api_16_5_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_base_16_5_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_impl_16_5_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_sdk_16_5_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_measurement_sdk_api_16_5_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_places_placereport_16_0_0_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_stats_16_0_1_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_android_gms_play_services_tasks_16_0_1_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_auto_value_auto_value_annotations_1_6_3_jar.xml +0 -13
- package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_0_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_analytics_16_5_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_common_17_0_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_core_16_0_9_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_18_0_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_iid_interop_16_0_1_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_measurement_connector_17_0_1_aar.xml +0 -10
- package/android/.idea/libraries/Gradle__com_google_firebase_firebase_messaging_18_0_0_aar.xml +0 -12
- package/android/.idea/libraries/Gradle__com_nineoldandroids_library_2_4_0_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__com_parse_bolts_bolts_android_1_1_4_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_2_5_0_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__com_squareup_okhttp_okhttp_ws_2_5_0_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_6_0_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__commons_cli_commons_cli_1_2_jar.xml +0 -11
- package/android/.idea/libraries/Gradle__org_webkit_android_jsc_r174650_aar.xml +0 -10
- package/android/.idea/misc.xml +0 -23
- package/android/.idea/modules.xml +0 -8
- package/android/.idea/runConfigurations.xml +0 -12
- package/android/.idea/workspace.xml +0 -322
- package/android/build/generated/source/buildConfig/androidTest/debug/com/reactlibrary/test/BuildConfig.java +0 -13
- package/android/build/generated/source/buildConfig/debug/com/reactlibrary/BuildConfig.java +0 -13
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -170
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
- package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -170
- package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
- package/android/build/intermediates/merged_manifests/debugAndroidTest/AndroidManifest.xml +0 -250
- package/android/build/intermediates/merged_manifests/debugAndroidTest/output.json +0 -1
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -307
- package/android/libs/AppICE_SDK_v2.4.18.jar +0 -0
- package/ios/.DS_Store +0 -0
- package/ios/AppICESDK/appICEBundle.bundle/INAppViewController.nib +0 -0
- package/ios/AppICESDK/include/iosAppiceSDK/appICEDB.h +0 -52
|
@@ -8,30 +8,55 @@ import android.content.pm.ResolveInfo;
|
|
|
8
8
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
9
9
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
10
10
|
import com.facebook.react.bridge.ReactMethod;
|
|
11
|
-
import com.facebook.react.bridge.Callback;
|
|
12
11
|
import com.facebook.react.bridge.ReadableMap;
|
|
13
12
|
import com.facebook.react.bridge.ReadableMapKeySetIterator;
|
|
14
13
|
import com.facebook.react.bridge.ReadableType;
|
|
15
14
|
|
|
15
|
+
import android.util.Log;
|
|
16
|
+
|
|
16
17
|
import java.util.HashMap;
|
|
17
18
|
import java.util.List;
|
|
18
|
-
import java.util.Map;
|
|
19
19
|
|
|
20
20
|
import semusi.activitysdk.Api;
|
|
21
21
|
import semusi.activitysdk.ContextSdk;
|
|
22
22
|
import semusi.activitysdk.SdkConfig;
|
|
23
23
|
import semusi.activitysdk.User;
|
|
24
|
-
import semusi.context.utility.Utility;
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
import java.util.*;
|
|
26
|
+
|
|
27
|
+
//import semusi.context.utility.Utility;
|
|
28
|
+
import androidx.annotation.NonNull;
|
|
29
|
+
import androidx.annotation.Nullable;
|
|
30
|
+
|
|
31
|
+
import com.facebook.react.bridge.ReadableArray;
|
|
32
|
+
import com.facebook.react.bridge.WritableMap;
|
|
33
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
27
34
|
|
|
28
|
-
|
|
35
|
+
import org.json.JSONArray;
|
|
36
|
+
import org.json.JSONException;
|
|
37
|
+
import org.json.JSONObject;
|
|
38
|
+
|
|
39
|
+
public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
|
|
40
|
+
private static ReactApplicationContext context = null;
|
|
41
|
+
private static final String TAG = "AppIceReactPluginModule";
|
|
42
|
+
private static final String APPICE_USER_NAME = "n";
|
|
43
|
+
private static final String APPICE_USER_PHONE = "ph";
|
|
44
|
+
private static final String APPICE_USER_EMAIL = "em";
|
|
45
|
+
private static final String dateOfBirth = "dob";
|
|
46
|
+
private static final String APPICE_USER_AGE = "a";
|
|
47
|
+
private static final String APPICE_USER_EDUCATION = "ed";
|
|
48
|
+
private static final String APPICE_USER_GENDER = "g";
|
|
49
|
+
private static final String APPICE_USER_IS_EMPLOYED = "is_emp";
|
|
50
|
+
private static final String APPICE_USER_EMPLOYMENT_TYPE = "et";
|
|
51
|
+
private static final String APPICE_USER_MARRIED = "m";
|
|
52
|
+
private static final String APPICE_PUSH_NOTIFICATION_CLICKED = "AppICEPushNotificationClicked";
|
|
29
53
|
|
|
30
54
|
public AppIceReactPluginModule(ReactApplicationContext reactContext) {
|
|
31
55
|
super(reactContext);
|
|
32
|
-
|
|
56
|
+
context = reactContext;
|
|
33
57
|
}
|
|
34
58
|
|
|
59
|
+
@NonNull
|
|
35
60
|
@Override
|
|
36
61
|
public String getName() {
|
|
37
62
|
return "AppIceReactPlugin";
|
|
@@ -41,53 +66,69 @@ public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
|
|
|
41
66
|
* @param appID
|
|
42
67
|
* @param appKey
|
|
43
68
|
* @param apiKey
|
|
69
|
+
* @param region
|
|
70
|
+
* @param baseUrl
|
|
71
|
+
* @param certs
|
|
44
72
|
*/
|
|
73
|
+
//appID, appKey, apiKey, gcmID, region, baseUrl, certs,success, error
|
|
45
74
|
@ReactMethod
|
|
46
|
-
public void startContext(String appID, String appKey, String apiKey,String deviceID
|
|
75
|
+
public void startContext(String appID, String appKey, String apiKey, String deviceID,
|
|
76
|
+
String region, String baseUrl, ReadableArray certs
|
|
77
|
+
) {
|
|
47
78
|
Context context = getReactApplicationContext();
|
|
48
|
-
|
|
49
|
-
|
|
79
|
+
Log.d(TAG, "in startContext : appID : " + appID + ", appkey : " + appKey + ", apiKey : " + apiKey);
|
|
50
80
|
try {
|
|
51
81
|
SdkConfig config = new SdkConfig();
|
|
52
82
|
config.setAnalyticsTrackingAllowedState(true);
|
|
53
83
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
84
|
+
System.out.println(certs.toString());
|
|
85
|
+
//readaableArray can not read by java so converting it to list type array
|
|
86
|
+
List<String> certList = new ArrayList<String>(certs.size());
|
|
87
|
+
|
|
88
|
+
for (int i = 0; i < certs.size(); i++) {
|
|
89
|
+
|
|
90
|
+
certList.add(certs.getString(i));
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
//as per new upgradation 27 jul 21r
|
|
95
|
+
Api.initSdk(appID, appKey, apiKey, region, baseUrl
|
|
96
|
+
, certList
|
|
97
|
+
, context);
|
|
98
|
+
|
|
99
|
+
Api.startContext(context, config);
|
|
100
|
+
|
|
101
|
+
} catch (Exception e) {
|
|
102
|
+
Log.d(TAG, "Exception in startContext : " + e);
|
|
58
103
|
}
|
|
59
104
|
}
|
|
60
105
|
|
|
61
|
-
|
|
62
106
|
/**
|
|
63
107
|
* @param eventName
|
|
64
108
|
*/
|
|
65
109
|
@ReactMethod
|
|
66
|
-
public void tagEvent(String eventName, ReadableMap props){
|
|
110
|
+
public void tagEvent(String eventName, ReadableMap props) {
|
|
67
111
|
Context context = getReactApplicationContext();
|
|
68
112
|
try {
|
|
69
|
-
HashMap<String,Object> mapData = eventPropsFromReadableMap(props);
|
|
70
|
-
if (eventName != null && eventName.length()>0) {
|
|
113
|
+
HashMap<String, Object> mapData = eventPropsFromReadableMap(props);
|
|
114
|
+
if (eventName != null && eventName.length() > 0) {
|
|
71
115
|
ContextSdk.tagEventObj(eventName, mapData, context);
|
|
72
|
-
// Utility.loginfo("recordEvent key : "+eventName);
|
|
73
116
|
}
|
|
74
117
|
} catch (Exception e) {
|
|
75
|
-
|
|
118
|
+
Log.d(TAG, "Exception in tagEvent : " + e);
|
|
76
119
|
}
|
|
77
120
|
}
|
|
78
121
|
|
|
79
|
-
|
|
80
|
-
* @param props
|
|
81
|
-
*/
|
|
122
|
+
|
|
82
123
|
@ReactMethod
|
|
83
|
-
public void setCustomVariable(String eventName, String value){
|
|
124
|
+
public void setCustomVariable(String eventName, String value) {
|
|
84
125
|
Context context = getReactApplicationContext();
|
|
85
126
|
try {
|
|
86
127
|
if (value != null) {
|
|
87
128
|
ContextSdk.setCustomVariable(eventName, (String) value, context);
|
|
88
129
|
}
|
|
89
|
-
}catch (Exception e){
|
|
90
|
-
|
|
130
|
+
} catch (Exception e) {
|
|
131
|
+
Log.d(TAG, "Exception in customVar : " + e);
|
|
91
132
|
}
|
|
92
133
|
}
|
|
93
134
|
|
|
@@ -95,7 +136,7 @@ public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
|
|
|
95
136
|
* @return
|
|
96
137
|
*/
|
|
97
138
|
@ReactMethod
|
|
98
|
-
private void validateIntegration(){
|
|
139
|
+
private void validateIntegration() {
|
|
99
140
|
try {
|
|
100
141
|
Context ctx = getReactApplicationContext();
|
|
101
142
|
PackageManager pm = ctx.getPackageManager();
|
|
@@ -104,53 +145,291 @@ public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
|
|
|
104
145
|
receiverIntent.setClass(ctx, CampaignCampsReceiver.class);
|
|
105
146
|
List<ResolveInfo> receivers = pm.queryBroadcastReceivers(receiverIntent, 0);
|
|
106
147
|
if (receivers == null || receivers.size() <= 0) {
|
|
107
|
-
|
|
148
|
+
Log.d(TAG, "Missing Receiver entry in AndroidManifest : CampaignCampsReceiver");
|
|
108
149
|
}
|
|
109
150
|
Intent serviceIntent = new Intent();
|
|
110
151
|
serviceIntent.setClass(ctx, NotificationEventService.class);
|
|
111
152
|
ResolveInfo services = pm.resolveService(serviceIntent, 0);
|
|
112
153
|
if (services == null) {
|
|
113
|
-
|
|
154
|
+
Log.d(TAG, "Missing Service entry in AndroidManifest : NotificationEventService");
|
|
114
155
|
}
|
|
115
156
|
|
|
116
157
|
ContextSdk sdk = new ContextSdk(ctx);
|
|
117
158
|
if (sdk.getAppId() == null || sdk.getAppId().length() <= 0 || sdk.getAppId().trim().length() <= 0) {
|
|
118
|
-
|
|
159
|
+
Log.d(TAG, "Missing Meta-data entry : AppID");
|
|
119
160
|
}
|
|
120
161
|
|
|
121
162
|
if (sdk.getAppKey() == null || sdk.getAppKey().length() <= 0 || sdk.getAppKey().trim().length() <= 0) {
|
|
122
|
-
|
|
163
|
+
Log.d(TAG, "Missing Meta-data entry : AppKey");
|
|
123
164
|
}
|
|
124
165
|
|
|
125
166
|
if (sdk.getApiKey() == null || sdk.getApiKey().length() <= 0 || sdk.getApiKey().trim().length() <= 0) {
|
|
126
|
-
|
|
167
|
+
Log.d(TAG, "Missing Meta-data entry : ApiKey");
|
|
127
168
|
}
|
|
128
169
|
} catch (Exception e) {
|
|
129
|
-
e.
|
|
130
|
-
// Utility.loginfo(e.getMessage());
|
|
170
|
+
Log.d(TAG, "validateIntegration: " + e.getMessage());
|
|
131
171
|
}
|
|
132
172
|
}
|
|
133
173
|
|
|
134
|
-
/**
|
|
135
|
-
* @return sdk version
|
|
136
|
-
*/
|
|
137
174
|
@ReactMethod
|
|
138
|
-
|
|
139
|
-
|
|
175
|
+
public void setUser(ReadableMap userDetails) {
|
|
176
|
+
Context context = getReactApplicationContext();
|
|
177
|
+
|
|
178
|
+
Log.d(TAG, "setUser: " + userDetails);
|
|
179
|
+
HashMap<String, Object> map = eventPropsFromReadableMap(userDetails);
|
|
180
|
+
|
|
181
|
+
if (map != null) {
|
|
182
|
+
try {
|
|
183
|
+
User user = new User();
|
|
184
|
+
try {
|
|
185
|
+
if (map.containsKey(AppIceReactPluginModule.APPICE_USER_NAME)) {
|
|
186
|
+
Object name = map.get(AppIceReactPluginModule.APPICE_USER_NAME);
|
|
187
|
+
if (name != null) {
|
|
188
|
+
user.setName(name.toString());
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
} catch (Exception e) {
|
|
192
|
+
Log.d(TAG, "setUser: name issue "+e.getMessage());
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
try {
|
|
196
|
+
if (map.containsKey(AppIceReactPluginModule.APPICE_USER_PHONE)) {
|
|
197
|
+
Object phone = map.get(AppIceReactPluginModule.APPICE_USER_PHONE);
|
|
198
|
+
if (phone != null) {
|
|
199
|
+
user.setPhone(phone.toString());
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
} catch (Exception e) {
|
|
203
|
+
Log.d(TAG, "setUser: phone issue "+e.getMessage());
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
try {
|
|
207
|
+
if (map.containsKey(AppIceReactPluginModule.APPICE_USER_EMAIL)) {
|
|
208
|
+
Object email = map.get(AppIceReactPluginModule.APPICE_USER_EMAIL);
|
|
209
|
+
if (email != null) {
|
|
210
|
+
user.setEmail(email.toString());
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
} catch (Exception e) {
|
|
214
|
+
Log.d(TAG, "setUser: email issue "+e.getMessage());
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
try {
|
|
218
|
+
if (map.containsKey(AppIceReactPluginModule.APPICE_USER_AGE)) {
|
|
219
|
+
Object age = map.get(AppIceReactPluginModule.APPICE_USER_AGE);
|
|
220
|
+
if (age != null) {
|
|
221
|
+
user.setAge((Integer) age);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
} catch (Exception e) {
|
|
225
|
+
Log.d(TAG, "setUser: age issue "+e.getMessage());
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
try {
|
|
229
|
+
if (map.containsKey(AppIceReactPluginModule.dateOfBirth)) {
|
|
230
|
+
Object age = map.get(AppIceReactPluginModule.dateOfBirth);
|
|
231
|
+
if (age != null) {
|
|
232
|
+
user.setDob((Integer) age);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
} catch (Exception e) {
|
|
236
|
+
Log.d(TAG, "setUser: dob issue "+e.getMessage());
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
try {
|
|
240
|
+
if (map.containsKey(AppIceReactPluginModule.APPICE_USER_EDUCATION)) {
|
|
241
|
+
Object ed = map.get(AppIceReactPluginModule.APPICE_USER_EDUCATION);
|
|
242
|
+
if (ed != null) {
|
|
243
|
+
user.setEducationType(ed.toString());
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
} catch (Exception e) {
|
|
247
|
+
Log.d(TAG, "setUser: ed issue "+e.getMessage());
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
try {
|
|
251
|
+
if (map.containsKey(AppIceReactPluginModule.APPICE_USER_GENDER)) {
|
|
252
|
+
Object g = map.get(AppIceReactPluginModule.APPICE_USER_GENDER);
|
|
253
|
+
if (g != null) {
|
|
254
|
+
user.setGender(g.toString());
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
} catch (Exception e) {
|
|
258
|
+
Log.d(TAG, "setUser: gender issue "+e.getMessage());
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
try {
|
|
263
|
+
if (map.containsKey(AppIceReactPluginModule.APPICE_USER_IS_EMPLOYED)) {
|
|
264
|
+
Object is_emp = map.get(AppIceReactPluginModule.APPICE_USER_IS_EMPLOYED);
|
|
265
|
+
if (is_emp != null) {
|
|
266
|
+
user.setEmployed((Boolean) is_emp);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
} catch (Exception e) {
|
|
270
|
+
Log.d(TAG, "setUser: setEmployed issue "+e.getMessage());
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
try {
|
|
274
|
+
if (map.containsKey(AppIceReactPluginModule.APPICE_USER_EMPLOYMENT_TYPE)) {
|
|
275
|
+
Object et = map.get(AppIceReactPluginModule.APPICE_USER_EMPLOYMENT_TYPE);
|
|
276
|
+
if (et != null) {
|
|
277
|
+
user.setEmploymentType(et.toString());
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
} catch (Exception e) {
|
|
281
|
+
Log.d(TAG, "setUser: et issue "+e.getMessage());
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
try {
|
|
285
|
+
if (map.containsKey(AppIceReactPluginModule.APPICE_USER_MARRIED)) {
|
|
286
|
+
Object m = map.get(AppIceReactPluginModule.APPICE_USER_MARRIED);
|
|
287
|
+
if (m != null) {
|
|
288
|
+
user.setMarried((Boolean) m);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
} catch (Exception e) {
|
|
292
|
+
Log.d(TAG, "setUser: married issue "+e.getMessage());
|
|
293
|
+
}
|
|
294
|
+
ContextSdk.setUser(user, context);
|
|
295
|
+
} catch (Exception e) {
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
@ReactMethod
|
|
301
|
+
public void setUserId(ReadableArray userIds) {
|
|
302
|
+
Context context = getReactApplicationContext();
|
|
303
|
+
try {
|
|
304
|
+
ArrayList<String> finalValues = arrayListStringFromReadableArray(userIds);
|
|
305
|
+
if (finalValues != null) {
|
|
306
|
+
String[] usersId = finalValues.toArray(new String[finalValues.size()]);
|
|
307
|
+
ContextSdk.setUser(usersId, context);
|
|
308
|
+
}
|
|
309
|
+
} catch (Exception e) {
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
@Nullable
|
|
314
|
+
@Override
|
|
315
|
+
public Map<String, Object> getConstants() {
|
|
316
|
+
final Map<String, Object> constants = new HashMap<>();
|
|
317
|
+
constants.put(APPICE_USER_NAME, APPICE_USER_NAME);
|
|
318
|
+
constants.put(APPICE_USER_PHONE, APPICE_USER_PHONE);
|
|
319
|
+
constants.put(APPICE_USER_EMAIL, APPICE_USER_EMAIL);
|
|
320
|
+
constants.put(APPICE_USER_IS_EMPLOYED, APPICE_USER_IS_EMPLOYED);
|
|
321
|
+
constants.put(APPICE_USER_MARRIED, APPICE_USER_MARRIED);
|
|
322
|
+
constants.put(APPICE_USER_EDUCATION, APPICE_USER_EDUCATION);
|
|
323
|
+
constants.put(APPICE_USER_EMPLOYMENT_TYPE, APPICE_USER_EMPLOYMENT_TYPE);
|
|
324
|
+
constants.put(APPICE_USER_AGE, APPICE_USER_AGE);
|
|
325
|
+
constants.put(APPICE_USER_GENDER, APPICE_USER_GENDER);
|
|
326
|
+
constants.put(APPICE_PUSH_NOTIFICATION_CLICKED, APPICE_PUSH_NOTIFICATION_CLICKED);
|
|
327
|
+
return constants;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
@ReactMethod
|
|
331
|
+
public void addListener(String eventName) {
|
|
332
|
+
// Set up any upstream listeners or background tasks as necessary
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
@ReactMethod
|
|
336
|
+
public void removeListeners(Integer count) {
|
|
337
|
+
// Remove upstream listeners, stop unnecessary background tasks
|
|
140
338
|
}
|
|
141
339
|
|
|
142
|
-
/**
|
|
143
|
-
* @return int sdk version
|
|
144
|
-
*/
|
|
145
340
|
@ReactMethod
|
|
146
|
-
|
|
147
|
-
|
|
341
|
+
public void pushNotificationClicked(String payload) {
|
|
342
|
+
Context ctx = getReactApplicationContext();
|
|
343
|
+
ContextSdk.pushNotificationClicked(payload, ctx);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
static void sendEvent(String eventName, @Nullable WritableMap params) {
|
|
347
|
+
try {
|
|
348
|
+
context.
|
|
349
|
+
getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
|
350
|
+
.emit(eventName, params);
|
|
351
|
+
} catch (RuntimeException e) {
|
|
352
|
+
Log.e(TAG, "java.lang.RuntimeException: Trying to invoke JS before CatalystInstance has been set!", e);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
private static ArrayList<String> arrayListStringFromReadableArray(ReadableArray readableArray) {
|
|
357
|
+
ArrayList<String> array = new ArrayList<>();
|
|
358
|
+
for (int i = 0; i < readableArray.size(); i++) {
|
|
359
|
+
switch (readableArray.getType(i)) {
|
|
360
|
+
case Null:
|
|
361
|
+
break;
|
|
362
|
+
case Boolean:
|
|
363
|
+
array.add(String.valueOf(readableArray.getBoolean(i)));
|
|
364
|
+
break;
|
|
365
|
+
case Number:
|
|
366
|
+
array.add(String.valueOf(readableArray.getDouble(i)));
|
|
367
|
+
break;
|
|
368
|
+
case String:
|
|
369
|
+
array.add(readableArray.getString(i));
|
|
370
|
+
break;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
return array;
|
|
148
374
|
}
|
|
149
375
|
|
|
376
|
+
private static JSONArray jsonArrayFromReadableArray(ReadableArray readableArray) throws JSONException {
|
|
377
|
+
JSONArray array = new JSONArray();
|
|
378
|
+
for (int i = 0; i < readableArray.size(); i++) {
|
|
379
|
+
switch (readableArray.getType(i)) {
|
|
380
|
+
case Null:
|
|
381
|
+
break;
|
|
382
|
+
case Boolean:
|
|
383
|
+
array.put(readableArray.getBoolean(i));
|
|
384
|
+
break;
|
|
385
|
+
case Number:
|
|
386
|
+
array.put(readableArray.getDouble(i));
|
|
387
|
+
break;
|
|
388
|
+
case String:
|
|
389
|
+
array.put(readableArray.getString(i));
|
|
390
|
+
break;
|
|
391
|
+
case Map:
|
|
392
|
+
array.put(jsonObjectFromReadableMap(readableArray.getMap(i)));
|
|
393
|
+
break;
|
|
394
|
+
case Array:
|
|
395
|
+
array.put(jsonArrayFromReadableArray(readableArray.getArray(i)));
|
|
396
|
+
break;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
return array;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
private static JSONObject jsonObjectFromReadableMap(ReadableMap readableMap) throws JSONException {
|
|
403
|
+
JSONObject object = new JSONObject();
|
|
404
|
+
ReadableMapKeySetIterator iterator = readableMap.keySetIterator();
|
|
405
|
+
while (iterator.hasNextKey()) {
|
|
406
|
+
String key = iterator.nextKey();
|
|
407
|
+
switch (readableMap.getType(key)) {
|
|
408
|
+
case Null:
|
|
409
|
+
object.put(key, JSONObject.NULL);
|
|
410
|
+
break;
|
|
411
|
+
case Boolean:
|
|
412
|
+
object.put(key, readableMap.getBoolean(key));
|
|
413
|
+
break;
|
|
414
|
+
case Number:
|
|
415
|
+
object.put(key, readableMap.getDouble(key));
|
|
416
|
+
break;
|
|
417
|
+
case String:
|
|
418
|
+
object.put(key, readableMap.getString(key));
|
|
419
|
+
break;
|
|
420
|
+
case Map:
|
|
421
|
+
object.put(key, jsonObjectFromReadableMap(readableMap.getMap(key)));
|
|
422
|
+
break;
|
|
423
|
+
case Array:
|
|
424
|
+
object.put(key, jsonArrayFromReadableArray(readableMap.getArray(key)));
|
|
425
|
+
break;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
return object;
|
|
429
|
+
}
|
|
150
430
|
|
|
151
431
|
/**
|
|
152
|
-
* @param propsMap
|
|
153
|
-
* took data from js and iterate it and store in hashmap
|
|
432
|
+
* @param propsMap took data from js and iterate it and store in hashmap
|
|
154
433
|
* @return map of the props data
|
|
155
434
|
*/
|
|
156
435
|
private HashMap<String, Object> eventPropsFromReadableMap(ReadableMap propsMap) {
|
|
@@ -166,52 +445,25 @@ public class AppIceReactPluginModule extends ReactContextBaseJavaModule {
|
|
|
166
445
|
|
|
167
446
|
if (readableType == ReadableType.String) {
|
|
168
447
|
props.put(key, propsMap.getString(key));
|
|
169
|
-
}
|
|
170
|
-
else if (readableType == ReadableType.Boolean) {
|
|
448
|
+
} else if (readableType == ReadableType.Boolean) {
|
|
171
449
|
props.put(key, propsMap.getBoolean(key));
|
|
172
|
-
}
|
|
173
|
-
else if (readableType == ReadableType.Number) {
|
|
450
|
+
} else if (readableType == ReadableType.Number) {
|
|
174
451
|
try {
|
|
175
452
|
props.put(key, propsMap.getDouble(key));
|
|
176
453
|
} catch (Throwable t) {
|
|
177
454
|
try {
|
|
178
455
|
props.put(key, propsMap.getInt(key));
|
|
179
456
|
} catch (Throwable t1) {
|
|
180
|
-
|
|
457
|
+
Log.d(TAG, "Unhandled ReadableType.Number from ReadableMap");
|
|
181
458
|
}
|
|
182
459
|
}
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
// Utility.loginfo("Unhandled event property ReadableType");
|
|
460
|
+
} else {
|
|
461
|
+
Log.d(TAG, "Unhandled event property ReadableType");
|
|
186
462
|
}
|
|
187
463
|
} catch (Throwable t) {
|
|
188
|
-
|
|
464
|
+
Log.d(TAG, t.getLocalizedMessage());
|
|
189
465
|
}
|
|
190
466
|
}
|
|
191
467
|
return props;
|
|
192
468
|
}
|
|
193
|
-
|
|
194
|
-
@ReactMethod
|
|
195
|
-
public void setUser(String name, String phone, String email){
|
|
196
|
-
Context context = getReactApplicationContext();
|
|
197
|
-
|
|
198
|
-
try {
|
|
199
|
-
User user = new User();
|
|
200
|
-
user.setName(name);
|
|
201
|
-
user.setPhone(phone);
|
|
202
|
-
user.setEmail(email);
|
|
203
|
-
|
|
204
|
-
ContextSdk.setUser(user, context);
|
|
205
|
-
}catch (Exception e){
|
|
206
|
-
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
@ReactMethod
|
|
211
|
-
public void setUserId(String userId){
|
|
212
|
-
Context context = getReactApplicationContext();
|
|
213
|
-
try {
|
|
214
|
-
ContextSdk.setCustomVariable("UserId",userId,context);
|
|
215
|
-
}catch (Exception e){}
|
|
216
|
-
}
|
|
217
469
|
}
|
|
@@ -5,6 +5,10 @@ import android.content.Context;
|
|
|
5
5
|
import android.content.Intent;
|
|
6
6
|
import android.net.Uri;
|
|
7
7
|
import android.os.Bundle;
|
|
8
|
+
import android.util.Log;
|
|
9
|
+
|
|
10
|
+
import com.facebook.react.bridge.Arguments;
|
|
11
|
+
import com.facebook.react.bridge.WritableMap;
|
|
8
12
|
|
|
9
13
|
import org.json.JSONException;
|
|
10
14
|
import org.json.JSONObject;
|
|
@@ -12,13 +16,14 @@ import org.json.JSONObject;
|
|
|
12
16
|
import java.net.URLDecoder;
|
|
13
17
|
import java.util.HashMap;
|
|
14
18
|
import java.util.Iterator;
|
|
19
|
+
import java.util.Map;
|
|
15
20
|
import java.util.Set;
|
|
16
21
|
|
|
17
22
|
import semusi.activitysdk.ContextSdk;
|
|
18
23
|
|
|
19
24
|
|
|
20
25
|
public class CampaignCampsReceiver extends BroadcastReceiver {
|
|
21
|
-
|
|
26
|
+
private static final String TAG = "CampaignCampsReceiver";
|
|
22
27
|
@Override
|
|
23
28
|
public void onReceive(Context context, Intent intent) {
|
|
24
29
|
try {
|
|
@@ -34,6 +39,8 @@ public class CampaignCampsReceiver extends BroadcastReceiver {
|
|
|
34
39
|
// value of clicked is True/False based upon user click or not
|
|
35
40
|
String url = extra.getString("url");
|
|
36
41
|
String cdata = extra.getString("cdata");
|
|
42
|
+
String ai_content = extra.getString("ai_content");
|
|
43
|
+
|
|
37
44
|
|
|
38
45
|
JSONObject json = new JSONObject();
|
|
39
46
|
|
|
@@ -72,7 +79,7 @@ public class CampaignCampsReceiver extends BroadcastReceiver {
|
|
|
72
79
|
} catch (Exception e) {
|
|
73
80
|
}
|
|
74
81
|
|
|
75
|
-
json.put("
|
|
82
|
+
json.put("click", tap);
|
|
76
83
|
|
|
77
84
|
try {
|
|
78
85
|
if (url != null && url.length() > 0) {
|
|
@@ -83,7 +90,17 @@ public class CampaignCampsReceiver extends BroadcastReceiver {
|
|
|
83
90
|
} catch (Exception e) {
|
|
84
91
|
}
|
|
85
92
|
|
|
86
|
-
|
|
93
|
+
if (ai_content != null && ai_content.length()>0){
|
|
94
|
+
JSONObject pushContent = new JSONObject(ai_content);
|
|
95
|
+
if (pushContent != null){
|
|
96
|
+
Log.d(TAG, "sendCallback: "+json);
|
|
97
|
+
WritableMap params = Arguments.createMap();
|
|
98
|
+
if (pushContent != null){
|
|
99
|
+
params.putString("AppICEPushNotificationClicked", pushContent.toString());
|
|
100
|
+
AppIceReactPluginModule.sendEvent("AppICEPushNotificationClicked", params);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
87
104
|
} catch (Exception e) {
|
|
88
105
|
e.printStackTrace();
|
|
89
106
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
package com.reactlibrary;
|
|
2
|
+
import android.annotation.SuppressLint;
|
|
3
|
+
import android.content.Context;
|
|
4
|
+
import android.graphics.Point;
|
|
5
|
+
import android.util.DisplayMetrics;
|
|
6
|
+
import android.util.TypedValue;
|
|
7
|
+
import android.view.View;
|
|
8
|
+
import android.webkit.WebView;
|
|
9
|
+
|
|
10
|
+
@SuppressLint("ViewConstructor")
|
|
11
|
+
class InAppWebView extends WebView {
|
|
12
|
+
|
|
13
|
+
final Point dim = new Point();
|
|
14
|
+
|
|
15
|
+
private int height;
|
|
16
|
+
|
|
17
|
+
private int heightPercentage;
|
|
18
|
+
|
|
19
|
+
private int width;
|
|
20
|
+
|
|
21
|
+
private int widthPercentage;
|
|
22
|
+
|
|
23
|
+
@SuppressLint("ResourceType")
|
|
24
|
+
public InAppWebView(Context context, int width, int height, int widthPercentage, int heightPercentage) {
|
|
25
|
+
super(context);
|
|
26
|
+
this.width = width;
|
|
27
|
+
this.height = height;
|
|
28
|
+
this.widthPercentage = widthPercentage;
|
|
29
|
+
this.heightPercentage = heightPercentage;
|
|
30
|
+
setHorizontalScrollBarEnabled(false);
|
|
31
|
+
setVerticalScrollBarEnabled(false);
|
|
32
|
+
setHorizontalFadingEdgeEnabled(false);
|
|
33
|
+
setVerticalFadingEdgeEnabled(false);
|
|
34
|
+
setOverScrollMode(View.OVER_SCROLL_NEVER);
|
|
35
|
+
setBackgroundColor(0x00000000);
|
|
36
|
+
//noinspection ResourceType
|
|
37
|
+
setId(188293);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@Override
|
|
41
|
+
public boolean performClick() {
|
|
42
|
+
return super.performClick();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@Override
|
|
46
|
+
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
|
47
|
+
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
|
48
|
+
updateDimension();
|
|
49
|
+
setMeasuredDimension(dim.x, dim.y);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
void updateDimension() {
|
|
53
|
+
if (width != 0) {
|
|
54
|
+
dim.x = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
|
|
55
|
+
width, getResources().getDisplayMetrics());
|
|
56
|
+
} else {
|
|
57
|
+
DisplayMetrics metrics = getResources().getDisplayMetrics();
|
|
58
|
+
dim.x = (int) (metrics.widthPixels * widthPercentage / 100f);
|
|
59
|
+
}
|
|
60
|
+
if (height != 0) {
|
|
61
|
+
dim.y = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
|
|
62
|
+
height, getResources().getDisplayMetrics());
|
|
63
|
+
} else {
|
|
64
|
+
DisplayMetrics metrics = getResources().getDisplayMetrics();
|
|
65
|
+
dim.y = (int) (metrics.heightPixels * heightPercentage / 100f);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
File without changes
|