react-native-repro 3.24.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/React-Repro.podspec +2 -2
- package/android/build.gradle +28 -1
- package/android/src/main/java/io/repro/android/reactbridge/{ReproReactBridgeModule.java → ReproReactBridgeModuleImpl.java} +262 -70
- package/android/src/main/java/io/repro/android/reactbridge/{ReproRemoteConfigBridge.java → ReproRemoteConfigBridgeModuleImpl.java} +19 -34
- package/android/src/newarch/java/io/repro/android/reactbridge/ReproEventEmitterOpenUrlModule.java +54 -0
- package/android/src/newarch/java/io/repro/android/reactbridge/ReproReactBridgeModule.java +367 -0
- package/android/src/newarch/java/io/repro/android/reactbridge/ReproReactBridgePackage.java +78 -0
- package/android/src/newarch/java/io/repro/android/reactbridge/ReproRemoteConfigBridgeModule.java +79 -0
- package/android/src/{main/java/io/repro/android/reactbridge/ReproEventEmitterOpenUrl.java → oldarch/java/io/repro/android/reactbridge/ReproEventEmitterOpenUrlModule.java} +4 -4
- package/android/src/oldarch/java/io/repro/android/reactbridge/ReproReactBridgeModule.java +365 -0
- package/android/src/oldarch/java/io/repro/android/reactbridge/ReproReactBridgePackage.java +29 -0
- package/android/src/oldarch/java/io/repro/android/reactbridge/ReproRemoteConfigBridgeModule.java +77 -0
- package/index.js +44 -232
- package/ios/RPRReproReactBridge.h +19 -4
- package/ios/{RPRReproReactBridge.m → RPRReproReactBridge.mm} +660 -193
- package/ios/RPRReproReactBridgeImpl.h +111 -0
- package/ios/RPRReproReactBridgeImpl.m +713 -0
- package/package.json +22 -1
- package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.aar +0 -0
- package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.aar.md5 +1 -0
- package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.aar.sha1 +1 -0
- package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.pom +24 -0
- package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.pom.md5 +1 -0
- package/sdk-android/io/repro/repro-android-sdk/5.20.0/repro-android-sdk-5.20.0.pom.sha1 +1 -0
- package/sdk-android/io/repro/repro-android-sdk/maven-metadata.xml +3 -3
- package/sdk-android/io/repro/repro-android-sdk/maven-metadata.xml.md5 +1 -1
- package/sdk-android/io/repro/repro-android-sdk/maven-metadata.xml.sha1 +1 -1
- package/sdk-ios/Repro.xcframework/_CodeSignature/CodeDirectory +0 -0
- package/sdk-ios/Repro.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
- package/sdk-ios/Repro.xcframework/_CodeSignature/CodeResources +18 -18
- package/sdk-ios/Repro.xcframework/_CodeSignature/CodeSignature +0 -0
- package/sdk-ios/Repro.xcframework/ios-arm64_armv7_armv7s/Repro.framework/Headers/Repro.h +63 -0
- package/sdk-ios/Repro.xcframework/ios-arm64_armv7_armv7s/Repro.framework/Info.plist +0 -0
- package/sdk-ios/Repro.xcframework/ios-arm64_armv7_armv7s/Repro.framework/Repro +0 -0
- package/sdk-ios/Repro.xcframework/ios-arm64_i386_x86_64-simulator/Repro.framework/Headers/Repro.h +63 -0
- package/sdk-ios/Repro.xcframework/ios-arm64_i386_x86_64-simulator/Repro.framework/Info.plist +0 -0
- package/sdk-ios/Repro.xcframework/ios-arm64_i386_x86_64-simulator/Repro.framework/Repro +0 -0
- package/src/EventEmitterOpenUrl.js +24 -0
- package/src/NativeReproEventEmitterOpenUrl.ts +9 -0
- package/src/NativeReproReactBridge.ts +134 -0
- package/src/NativeReproRemoteConfigBridge.ts +26 -0
- package/src/NewsFeedManager.js +149 -0
- package/android/src/main/java/io/repro/android/reactbridge/ReproReactBridgePackage.java +0 -36
- package/repro-version.json +0 -5
- package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.aar +0 -0
- package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.aar.md5 +0 -1
- package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.aar.sha1 +0 -1
- package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.pom +0 -9
- package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.pom.md5 +0 -1
- package/sdk-android/io/repro/repro-android-sdk/5.19.0/repro-android-sdk-5.19.0.pom.sha1 +0 -1
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
package io.repro.android.reactbridge;
|
|
2
2
|
|
|
3
|
-
import com.facebook.react.bridge.ReactApplicationContext;
|
|
4
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
5
|
-
import com.facebook.react.bridge.ReactMethod;
|
|
6
3
|
import com.facebook.react.bridge.Callback;
|
|
7
4
|
import com.facebook.react.bridge.ReadableMap;
|
|
8
5
|
import com.facebook.react.bridge.ReadableMapKeySetIterator;
|
|
@@ -17,31 +14,13 @@ import io.repro.android.Repro;
|
|
|
17
14
|
import io.repro.android.remoteconfig.RemoteConfigValue;
|
|
18
15
|
import io.repro.android.remoteconfig.RemoteConfigListener;
|
|
19
16
|
|
|
20
|
-
public class
|
|
17
|
+
public class ReproRemoteConfigBridgeModuleImpl {
|
|
21
18
|
|
|
22
19
|
public static final int REMOTE_CONFIG_SUCCESS = 0;
|
|
23
20
|
public static final int REMOTE_CONFIG_TIMEOUT_REACHED = 1;
|
|
24
21
|
public static final int REMOTE_CONFIG_ALREADY_FETCHED = 2;
|
|
25
22
|
|
|
26
|
-
public
|
|
27
|
-
super(reactContext);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
@Override
|
|
31
|
-
public String getName() {
|
|
32
|
-
return "RemoteConfig";
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
@Override
|
|
36
|
-
public Map<String, Object> getConstants() {
|
|
37
|
-
final Map<String, Object> constants = new HashMap<>();
|
|
38
|
-
|
|
39
|
-
constants.put("REMOTE_CONFIG_SUCCESS", REMOTE_CONFIG_SUCCESS);
|
|
40
|
-
constants.put("REMOTE_CONFIG_TIMEOUT_REACHED", REMOTE_CONFIG_TIMEOUT_REACHED);
|
|
41
|
-
constants.put("REMOTE_CONFIG_ALREADY_FETCHED", REMOTE_CONFIG_ALREADY_FETCHED);
|
|
42
|
-
|
|
43
|
-
return constants;
|
|
44
|
-
}
|
|
23
|
+
public static final String NAME = "ReproRemoteConfigBridge";
|
|
45
24
|
|
|
46
25
|
private WritableMap toWritableMap(final Map<String, RemoteConfigValue> javaMap) {
|
|
47
26
|
WritableMap map = Arguments.createMap();
|
|
@@ -73,8 +52,22 @@ public class ReproRemoteConfigBridge extends ReactContextBaseJavaModule {
|
|
|
73
52
|
return map;
|
|
74
53
|
}
|
|
75
54
|
|
|
76
|
-
|
|
77
|
-
|
|
55
|
+
public Map<String, Object> getConstants() {
|
|
56
|
+
final Map<String, Object> baseConstants = new HashMap<>();
|
|
57
|
+
|
|
58
|
+
baseConstants.put("REMOTE_CONFIG_SUCCESS", REMOTE_CONFIG_SUCCESS);
|
|
59
|
+
baseConstants.put("REMOTE_CONFIG_TIMEOUT_REACHED", REMOTE_CONFIG_TIMEOUT_REACHED);
|
|
60
|
+
baseConstants.put("REMOTE_CONFIG_ALREADY_FETCHED", REMOTE_CONFIG_ALREADY_FETCHED);
|
|
61
|
+
|
|
62
|
+
final Map<String, Object> fetchStatusConstants = new HashMap<>();
|
|
63
|
+
fetchStatusConstants.put("FETCH_STATUS", baseConstants);
|
|
64
|
+
|
|
65
|
+
Map<String, Object> mergedMap = new HashMap<>(baseConstants);
|
|
66
|
+
mergedMap.putAll(fetchStatusConstants);
|
|
67
|
+
return mergedMap;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
public void fetch(final double timeout, final Callback callback) {
|
|
78
71
|
Repro.getRemoteConfig().fetch((long)timeout, new RemoteConfigListener() {
|
|
79
72
|
@Override
|
|
80
73
|
public void onCompletion(RemoteConfigListener.FetchStatus status) {
|
|
@@ -93,51 +86,43 @@ public class ReproRemoteConfigBridge extends ReactContextBaseJavaModule {
|
|
|
93
86
|
});
|
|
94
87
|
}
|
|
95
88
|
|
|
96
|
-
@ReactMethod
|
|
97
89
|
public void activateFetched() {
|
|
98
90
|
Repro.getRemoteConfig().activateFetched();
|
|
99
91
|
}
|
|
100
92
|
|
|
101
93
|
// Default value settings
|
|
102
|
-
@ReactMethod
|
|
103
94
|
public void setDefaultsFromDictionary(final ReadableMap values) {
|
|
104
95
|
Map<String, Object> map = toMap(values);
|
|
105
96
|
Repro.getRemoteConfig().setDefaultsFromMap(map);
|
|
106
97
|
}
|
|
107
98
|
|
|
108
|
-
@ReactMethod
|
|
109
99
|
public void setDefaultsFromJsonString(final String jsonStr) {
|
|
110
100
|
Repro.getRemoteConfig().setDefaultsFromJsonString(jsonStr);
|
|
111
101
|
}
|
|
112
102
|
|
|
113
|
-
@ReactMethod
|
|
114
103
|
public void getValue(final String key, final Callback callback) {
|
|
115
104
|
String value = Repro.getRemoteConfig().get(key).asString();
|
|
116
105
|
callback.invoke(value);
|
|
117
106
|
}
|
|
118
107
|
|
|
119
108
|
// Value accessor
|
|
120
|
-
@ReactMethod
|
|
121
109
|
public void getAllValues(final Callback callback) {
|
|
122
110
|
Map<String, RemoteConfigValue> map = Repro.getRemoteConfig().getAllValues();
|
|
123
111
|
callback.invoke(toWritableMap(map));
|
|
124
112
|
}
|
|
125
113
|
|
|
126
|
-
@ReactMethod
|
|
127
114
|
public void getAllValuesWithPrefix(final String prefix, final Callback callback) {
|
|
128
115
|
Map<String, RemoteConfigValue> map = Repro.getRemoteConfig().getAllValuesWithPrefix(prefix);
|
|
129
116
|
callback.invoke(toWritableMap(map));
|
|
130
117
|
}
|
|
131
118
|
|
|
132
|
-
@ReactMethod
|
|
133
119
|
public void getLocalDefaultValue(final String key, final Callback callback) {
|
|
134
120
|
String value = Repro.getRemoteConfig().getLocalDefaultValue(key).asString();
|
|
135
121
|
callback.invoke(value);
|
|
136
122
|
}
|
|
137
123
|
|
|
138
124
|
// Others
|
|
139
|
-
@ReactMethod
|
|
140
125
|
public void forceReset() {
|
|
141
126
|
Repro.getRemoteConfig().forceReset();
|
|
142
127
|
}
|
|
143
|
-
}
|
|
128
|
+
}
|
package/android/src/newarch/java/io/repro/android/reactbridge/ReproEventEmitterOpenUrlModule.java
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
|
|
2
|
+
package io.repro.android.reactbridge;
|
|
3
|
+
|
|
4
|
+
import android.net.Uri;
|
|
5
|
+
|
|
6
|
+
import androidx.annotation.NonNull;
|
|
7
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
8
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
9
|
+
|
|
10
|
+
import io.repro.android.Repro;
|
|
11
|
+
|
|
12
|
+
import io.repro.android.reactbridge.NativeReproEventEmitterOpenUrlSpec;
|
|
13
|
+
|
|
14
|
+
public class ReproEventEmitterOpenUrlModule extends NativeReproEventEmitterOpenUrlSpec {
|
|
15
|
+
|
|
16
|
+
public static final String NAME = "ReproEventEmitterOpenUrl";
|
|
17
|
+
|
|
18
|
+
private final ReactApplicationContext reactContext;
|
|
19
|
+
|
|
20
|
+
public ReproEventEmitterOpenUrlModule(ReactApplicationContext reactContext) {
|
|
21
|
+
super(reactContext);
|
|
22
|
+
this.reactContext = reactContext;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
private void sendEvent(String eventName, Object parameter) {
|
|
26
|
+
this.reactContext
|
|
27
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
|
28
|
+
.emit(eventName, parameter);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
@Override
|
|
32
|
+
@NonNull
|
|
33
|
+
public String getName() {
|
|
34
|
+
return NAME;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@Override
|
|
38
|
+
public void addListener(String eventName) {
|
|
39
|
+
Repro.setOpenUrlCallback(new Repro.OpenUrlCallback() {
|
|
40
|
+
@Override
|
|
41
|
+
public void onOpened(Uri uri) {
|
|
42
|
+
sendEvent("__RPR__openUrlCallback", uri.toString());
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@Override
|
|
48
|
+
public void removeListeners(double count) {
|
|
49
|
+
Repro.setOpenUrlCallback(null);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
|
|
2
|
+
package io.repro.android.reactbridge;
|
|
3
|
+
|
|
4
|
+
import androidx.annotation.NonNull;
|
|
5
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
6
|
+
import com.facebook.react.bridge.Callback;
|
|
7
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
8
|
+
import com.facebook.react.bridge.ReadableArray;
|
|
9
|
+
|
|
10
|
+
import java.util.Map;
|
|
11
|
+
|
|
12
|
+
import io.repro.android.reactbridge.NativeReproReactBridgeSpec;
|
|
13
|
+
|
|
14
|
+
public class ReproReactBridgeModule extends NativeReproReactBridgeSpec {
|
|
15
|
+
|
|
16
|
+
private ReproReactBridgeModuleImpl reproModuleImpl;
|
|
17
|
+
|
|
18
|
+
public ReproReactBridgeModule(ReactApplicationContext reactContext) {
|
|
19
|
+
super(reactContext);
|
|
20
|
+
this.reproModuleImpl = new ReproReactBridgeModuleImpl();
|
|
21
|
+
this.reproModuleImpl.versionPassing();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@Override
|
|
25
|
+
@NonNull
|
|
26
|
+
public String getName() {
|
|
27
|
+
return this.reproModuleImpl.NAME;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@Override
|
|
31
|
+
public Map<String, Object> getTypedExportedConstants() {
|
|
32
|
+
return this.reproModuleImpl.getConstants();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@Override
|
|
36
|
+
public void optIn(boolean endUserOptedIn) {
|
|
37
|
+
this.reproModuleImpl.optIn(endUserOptedIn);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@Override
|
|
41
|
+
public void setUserID(final String userId) {
|
|
42
|
+
this.reproModuleImpl.setUserID(userId);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
@Override
|
|
46
|
+
public void getUserID(Callback callback) {
|
|
47
|
+
this.reproModuleImpl.getUserID(callback);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
@Override
|
|
51
|
+
public void setSilverEggCookie(final String cookie) {
|
|
52
|
+
this.reproModuleImpl.setSilverEggCookie(cookie);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@Override
|
|
56
|
+
public void setSilverEggProdKey(final String prodKey) {
|
|
57
|
+
this.reproModuleImpl.setSilverEggProdKey(prodKey);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@Override
|
|
61
|
+
public void setLogLevel(final double logLevel) {
|
|
62
|
+
this.reproModuleImpl.setLogLevel((int)logLevel);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@Override
|
|
66
|
+
public void setStringUserProfile(final String key, final String value) {
|
|
67
|
+
this.reproModuleImpl.setStringUserProfile(key, value);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@Override
|
|
71
|
+
public void setIntUserProfile(final String key, final double value) {
|
|
72
|
+
this.reproModuleImpl.setIntUserProfile(key, (int)value);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@Override
|
|
76
|
+
public void setDoubleUserProfile(final String key, final double value) {
|
|
77
|
+
this.reproModuleImpl.setDoubleUserProfile(key, value);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@Override
|
|
81
|
+
public void setDateUserProfile(final String key, final String value) {
|
|
82
|
+
this.reproModuleImpl.setDateUserProfile(key, value);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@Override
|
|
86
|
+
public void setUserEmailAddress(final String mailAddr) {
|
|
87
|
+
this.reproModuleImpl.setUserEmailAddress(mailAddr);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@Override
|
|
91
|
+
public void setUserGender(final double gender) {
|
|
92
|
+
this.reproModuleImpl.setUserGender((int)gender);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
@Override
|
|
96
|
+
public void setUserResidencePrefecture(final double prefecture) {
|
|
97
|
+
this.reproModuleImpl.setUserResidencePrefecture((int)prefecture);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@Override
|
|
101
|
+
public void setUserDateOfBirth(final String value) {
|
|
102
|
+
this.reproModuleImpl.setUserDateOfBirth(value);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@Override
|
|
106
|
+
public void setUserAge(double age) {
|
|
107
|
+
this.reproModuleImpl.setUserAge((int)age);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@Override
|
|
111
|
+
public void onlySetIfAbsentStringUserProfile(String key, String value) {
|
|
112
|
+
this.reproModuleImpl.onlySetIfAbsentStringUserProfile(key, value);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@Override
|
|
116
|
+
public void onlySetIfAbsentIntUserProfile(String key, double value) {
|
|
117
|
+
this.reproModuleImpl.onlySetIfAbsentIntUserProfile(key, (int)value);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@Override
|
|
121
|
+
public void onlySetIfAbsentDoubleUserProfile(String key, double value) {
|
|
122
|
+
this.reproModuleImpl.onlySetIfAbsentDoubleUserProfile(key, value);
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
@Override
|
|
126
|
+
public void onlySetIfAbsentDateUserProfile(String key, String value) {
|
|
127
|
+
this.reproModuleImpl.onlySetIfAbsentDateUserProfile(key, value);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
@Override
|
|
131
|
+
public void incrementIntUserProfileBy(String key, double value) {
|
|
132
|
+
this.reproModuleImpl.incrementIntUserProfileBy(key, (int)value);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
@Override
|
|
136
|
+
public void decrementIntUserProfileBy(String key, double value) {
|
|
137
|
+
this.reproModuleImpl.decrementIntUserProfileBy(key, (int)value);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
@Override
|
|
141
|
+
public void incrementDoubleUserProfileBy(String key, double value) {
|
|
142
|
+
this.reproModuleImpl.incrementDoubleUserProfileBy(key, value);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
@Override
|
|
146
|
+
public void decrementDoubleUserProfileBy(String key, double value) {
|
|
147
|
+
this.reproModuleImpl.decrementDoubleUserProfileBy(key, value);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
@Override
|
|
151
|
+
public void onlySetIfAbsentUserGender(final double gender) {
|
|
152
|
+
this.reproModuleImpl.onlySetIfAbsentUserGender((int)gender);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
@Override
|
|
156
|
+
public void onlySetIfAbsentUserEmailAddress(String email) {
|
|
157
|
+
this.reproModuleImpl.onlySetIfAbsentUserEmailAddress(email);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
@Override
|
|
161
|
+
public void onlySetIfAbsentUserResidencePrefecture(final double prefecture) {
|
|
162
|
+
this.reproModuleImpl.onlySetIfAbsentUserResidencePrefecture((int)prefecture);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
@Override
|
|
166
|
+
public void onlySetIfAbsentUserDateOfBirth(final String value) {
|
|
167
|
+
this.reproModuleImpl.onlySetIfAbsentUserDateOfBirth(value);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
@Override
|
|
171
|
+
public void onlySetIfAbsentUserAge(double age) {
|
|
172
|
+
this.reproModuleImpl.onlySetIfAbsentUserAge((int)age);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
@Override
|
|
176
|
+
public void incrementUserAgeBy(double value) {
|
|
177
|
+
this.reproModuleImpl.incrementUserAgeBy((int)value);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
@Override
|
|
181
|
+
public void decrementUserAgeBy(double value) {
|
|
182
|
+
this.reproModuleImpl.decrementUserAgeBy((int)value);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
@Override
|
|
186
|
+
public void deleteUserProfile(String key) {
|
|
187
|
+
this.reproModuleImpl.deleteUserProfile(key);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
@Override
|
|
191
|
+
public void deleteUserGender() {
|
|
192
|
+
this.reproModuleImpl.deleteUserGender();
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
@Override
|
|
196
|
+
public void deleteUserEmailAddress() {
|
|
197
|
+
this.reproModuleImpl.deleteUserEmailAddress();
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
@Override
|
|
201
|
+
public void deleteUserResidencePrefecture() {
|
|
202
|
+
this.reproModuleImpl.deleteUserResidencePrefecture();
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
@Override
|
|
206
|
+
public void deleteUserDateOfBirth() {
|
|
207
|
+
this.reproModuleImpl.deleteUserDateOfBirth();
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
@Override
|
|
211
|
+
public void deleteUserAge() {
|
|
212
|
+
this.reproModuleImpl.deleteUserAge();
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
@Override
|
|
216
|
+
public void getDeviceID(Callback callback) {
|
|
217
|
+
this.reproModuleImpl.getDeviceID(callback);
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
@Override
|
|
221
|
+
public void disableInAppMessagesOnForegroundTransition() {
|
|
222
|
+
this.reproModuleImpl.disableInAppMessagesOnForegroundTransition();
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
@Override
|
|
226
|
+
public void enableInAppMessagesOnForegroundTransition() {
|
|
227
|
+
this.reproModuleImpl.enableInAppMessagesOnForegroundTransition(this.getCurrentActivity());
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
@Override
|
|
231
|
+
public void setPushDeviceTokenString(final String deviceTokenHexString) {
|
|
232
|
+
this.reproModuleImpl.setPushDeviceTokenString(deviceTokenHexString);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
@Override
|
|
236
|
+
public void setPushRegistrationID(final String pushRegId) {
|
|
237
|
+
this.reproModuleImpl.setPushRegistrationID(pushRegId);
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
@Override
|
|
241
|
+
public void setPushToken(final String token) {
|
|
242
|
+
this.reproModuleImpl.setPushRegistrationID(token);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
@Override
|
|
246
|
+
public void enablePushNotification() {
|
|
247
|
+
this.reproModuleImpl.enablePushNotification();
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
@Override
|
|
251
|
+
public void linkLineID(final String lineUserId, final String lineChannelId) {
|
|
252
|
+
this.reproModuleImpl.linkLineID(lineUserId, lineChannelId);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
@Override
|
|
256
|
+
public void unlinkLineID(final String lineUserId, final String lineChannelId) {
|
|
257
|
+
this.reproModuleImpl.unlinkLineID(lineUserId, lineChannelId);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
@Override
|
|
261
|
+
public void _handleWebViewUrl(String requestUrl) {
|
|
262
|
+
this.reproModuleImpl._webviewJavaScriptOpenUrlHandler(requestUrl);
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
@Override
|
|
266
|
+
public void track(final String name, final ReadableMap properties) {
|
|
267
|
+
this.reproModuleImpl.track(name, properties);
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
@Override
|
|
271
|
+
public void trackViewContent(final String contentId, final ReadableMap props) {
|
|
272
|
+
this.reproModuleImpl.trackViewContent(contentId, props);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
@Override
|
|
276
|
+
public void trackSearch(final ReadableMap props) {
|
|
277
|
+
this.reproModuleImpl.trackSearch(props);
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
@Override
|
|
281
|
+
public void trackAddToWishlist(final ReadableMap props) {
|
|
282
|
+
this.reproModuleImpl.trackAddToWishlist(props);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
@Override
|
|
286
|
+
public void trackAddToCart(final String contentId, final ReadableMap props) {
|
|
287
|
+
this.reproModuleImpl.trackAddToCart(contentId, props);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
@Override
|
|
291
|
+
public void trackInitiateCheckout(final ReadableMap props) {
|
|
292
|
+
this.reproModuleImpl.trackInitiateCheckout(props);
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
@Override
|
|
296
|
+
public void trackAddPaymentInfo(final ReadableMap props) {
|
|
297
|
+
this.reproModuleImpl.trackAddPaymentInfo(props);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
@Override
|
|
301
|
+
public void trackPurchase(final String contentId, final double value, final String currency, final ReadableMap props) {
|
|
302
|
+
this.reproModuleImpl.trackPurchase(contentId, value, currency, props);
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
@Override
|
|
306
|
+
public void trackShare(final ReadableMap props) {
|
|
307
|
+
this.reproModuleImpl.trackShare(props);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
@Override
|
|
311
|
+
public void trackCompleteRegistration(final ReadableMap props) {
|
|
312
|
+
this.reproModuleImpl.trackCompleteRegistration(props);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
@Override
|
|
316
|
+
public void trackLead(final ReadableMap props) {
|
|
317
|
+
this.reproModuleImpl.trackLead(props);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
@Override
|
|
321
|
+
public void trackNotificationOpened(final String notificationId) {
|
|
322
|
+
this.reproModuleImpl.trackNotificationOpened(notificationId);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
@Override
|
|
326
|
+
public void getNewsFeeds(final double limit, Callback callback) {
|
|
327
|
+
this.reproModuleImpl.getNewsFeeds((int)limit, callback);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
@Override
|
|
331
|
+
public void oldArchGetNewsFeeds(final double limit, final double campaignType, Callback callback) {
|
|
332
|
+
// Only Legacy Architecture method
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
@Override
|
|
336
|
+
public void getNewsFeedsFor(final double limit, final double offsetID, Callback callback) {
|
|
337
|
+
this.reproModuleImpl.getNewsFeedsFor((int)limit, (int)offsetID, callback);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
@Override
|
|
341
|
+
public void oldArchGetNewsFeedsFor(final double limit, final double offsetID, final double campaignType, Callback callback) {
|
|
342
|
+
// Only Legacy Architecture method
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
@Override
|
|
346
|
+
public void getNewsFeedsWithCampaignType(final double limit, final double campaignType, Callback callback) {
|
|
347
|
+
this.reproModuleImpl.getNewsFeedsWithCampaignType((int)limit, (int)campaignType, callback);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
@Override
|
|
351
|
+
public void getNewsFeedsWithCampaignTypeFor(final double limit, final double offsetID, final double campaignType, Callback callback) {
|
|
352
|
+
this.reproModuleImpl.getNewsFeedsWithCampaignTypeFor((int)limit, (int)offsetID, (int)campaignType, callback);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
@Override
|
|
356
|
+
public void updateNewsFeeds(ReadableArray array, Callback callback) {
|
|
357
|
+
this.reproModuleImpl.updateNewsFeeds(array, callback);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
@Override
|
|
361
|
+
public void oldArchUpdateNewsFeeds(ReadableArray array, Callback callback) {
|
|
362
|
+
// Only Legacy Architecture method
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
|
|
367
|
+
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
package io.repro.android.reactbridge;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
import androidx.annotation.Nullable;
|
|
5
|
+
import com.facebook.react.bridge.NativeModule;
|
|
6
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
7
|
+
import com.facebook.react.module.model.ReactModuleInfo;
|
|
8
|
+
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
|
9
|
+
import com.facebook.react.TurboReactPackage;
|
|
10
|
+
import com.facebook.react.uimanager.ViewManager;
|
|
11
|
+
|
|
12
|
+
import java.util.ArrayList;
|
|
13
|
+
import java.util.Collections;
|
|
14
|
+
import java.util.List;
|
|
15
|
+
import java.util.HashMap;
|
|
16
|
+
import java.util.Map;
|
|
17
|
+
|
|
18
|
+
public class ReproReactBridgePackage extends TurboReactPackage {
|
|
19
|
+
|
|
20
|
+
@Nullable
|
|
21
|
+
@Override
|
|
22
|
+
public NativeModule getModule(String name, @NonNull ReactApplicationContext reactContext) {
|
|
23
|
+
if (name.equals(ReproReactBridgeModule.NAME)) {
|
|
24
|
+
return new ReproReactBridgeModule(reactContext);
|
|
25
|
+
} else if (name.equals(ReproRemoteConfigBridgeModule.NAME)) {
|
|
26
|
+
return new ReproRemoteConfigBridgeModule(reactContext);
|
|
27
|
+
} else if (name.equals(ReproEventEmitterOpenUrlModule.NAME)) {
|
|
28
|
+
return new ReproEventEmitterOpenUrlModule(reactContext);
|
|
29
|
+
} else {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@Override
|
|
35
|
+
public ReactModuleInfoProvider getReactModuleInfoProvider() {
|
|
36
|
+
return new ReactModuleInfoProvider() {
|
|
37
|
+
@Override
|
|
38
|
+
public Map<String, ReactModuleInfo> getReactModuleInfos() {
|
|
39
|
+
final Map<String, ReactModuleInfo> moduleInfos = new HashMap<>();
|
|
40
|
+
|
|
41
|
+
moduleInfos.put(
|
|
42
|
+
ReproReactBridgeModule.NAME,
|
|
43
|
+
new ReactModuleInfo(
|
|
44
|
+
ReproReactBridgeModule.NAME,
|
|
45
|
+
ReproReactBridgeModule.NAME,
|
|
46
|
+
false, // canOverrideExistingModule
|
|
47
|
+
false, // needsEagerInit
|
|
48
|
+
true, // hasConstants
|
|
49
|
+
false, // isCxxModule
|
|
50
|
+
true // isTurboModule
|
|
51
|
+
));
|
|
52
|
+
moduleInfos.put(
|
|
53
|
+
ReproRemoteConfigBridgeModule.NAME,
|
|
54
|
+
new ReactModuleInfo(
|
|
55
|
+
ReproRemoteConfigBridgeModule.NAME,
|
|
56
|
+
ReproRemoteConfigBridgeModule.NAME,
|
|
57
|
+
false, // canOverrideExistingModule
|
|
58
|
+
false, // needsEagerInit
|
|
59
|
+
true, // hasConstants
|
|
60
|
+
false, // isCxxModule
|
|
61
|
+
true // isTurboModule
|
|
62
|
+
));
|
|
63
|
+
moduleInfos.put(
|
|
64
|
+
ReproEventEmitterOpenUrlModule.NAME,
|
|
65
|
+
new ReactModuleInfo(
|
|
66
|
+
ReproEventEmitterOpenUrlModule.NAME,
|
|
67
|
+
ReproEventEmitterOpenUrlModule.NAME,
|
|
68
|
+
false, // canOverrideExistingModule
|
|
69
|
+
false, // needsEagerInit
|
|
70
|
+
true, // hasConstants
|
|
71
|
+
false, // isCxxModule
|
|
72
|
+
true // isTurboModule
|
|
73
|
+
));
|
|
74
|
+
return moduleInfos;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
package/android/src/newarch/java/io/repro/android/reactbridge/ReproRemoteConfigBridgeModule.java
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
package io.repro.android.reactbridge;
|
|
2
|
+
|
|
3
|
+
import androidx.annotation.NonNull;
|
|
4
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
5
|
+
import com.facebook.react.bridge.Callback;
|
|
6
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
7
|
+
|
|
8
|
+
import java.util.Map;
|
|
9
|
+
|
|
10
|
+
import io.repro.android.reactbridge.NativeReproRemoteConfigBridgeSpec;
|
|
11
|
+
|
|
12
|
+
public class ReproRemoteConfigBridgeModule extends NativeReproRemoteConfigBridgeSpec {
|
|
13
|
+
|
|
14
|
+
private ReproRemoteConfigBridgeModuleImpl remoteConfigModuleImpl;
|
|
15
|
+
|
|
16
|
+
public ReproRemoteConfigBridgeModule(ReactApplicationContext reactContext) {
|
|
17
|
+
super(reactContext);
|
|
18
|
+
this.remoteConfigModuleImpl = new ReproRemoteConfigBridgeModuleImpl();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@Override
|
|
22
|
+
@NonNull
|
|
23
|
+
public String getName() {
|
|
24
|
+
return this.remoteConfigModuleImpl.NAME;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@Override
|
|
28
|
+
public Map<String, Object> getTypedExportedConstants() {
|
|
29
|
+
return this.remoteConfigModuleImpl.getConstants();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@Override
|
|
33
|
+
public void fetch(final double timeout, final Callback callback) {
|
|
34
|
+
this.remoteConfigModuleImpl.fetch(timeout, callback);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@Override
|
|
38
|
+
public void activateFetched() {
|
|
39
|
+
this.remoteConfigModuleImpl.activateFetched();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Default value settings
|
|
43
|
+
@Override
|
|
44
|
+
public void setDefaultsFromDictionary(final ReadableMap values) {
|
|
45
|
+
this.remoteConfigModuleImpl.setDefaultsFromDictionary(values);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@Override
|
|
49
|
+
public void setDefaultsFromJsonString(final String jsonStr) {
|
|
50
|
+
this.remoteConfigModuleImpl.setDefaultsFromJsonString(jsonStr);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@Override
|
|
54
|
+
public void getValue(final String key, final Callback callback) {
|
|
55
|
+
this.remoteConfigModuleImpl.getValue(key, callback);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Value accessor
|
|
59
|
+
@Override
|
|
60
|
+
public void getAllValues(final Callback callback) {
|
|
61
|
+
this.remoteConfigModuleImpl.getAllValues(callback);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@Override
|
|
65
|
+
public void getAllValuesWithPrefix(final String prefix, final Callback callback) {
|
|
66
|
+
this.remoteConfigModuleImpl.getAllValuesWithPrefix(prefix, callback);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@Override
|
|
70
|
+
public void getLocalDefaultValue(final String key, final Callback callback) {
|
|
71
|
+
this.remoteConfigModuleImpl.getLocalDefaultValue(key, callback);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Others
|
|
75
|
+
@Override
|
|
76
|
+
public void forceReset() {
|
|
77
|
+
this.remoteConfigModuleImpl.forceReset();
|
|
78
|
+
}
|
|
79
|
+
}
|