Skip to content

Commit 82f0774

Browse files
authored
Merge pull request #1754 from OneSignal/user-model/trigger-as-string
[User Model] Change `addTrigger` to accept a `String` instead of `Any`
2 parents f9b0f75 + ad10873 commit 82f0774

File tree

9 files changed

+32
-20
lines changed

9 files changed

+32
-20
lines changed

Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/adapter/PairRecyclerViewAdapter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,10 @@ private void populateInterfaceElements(final int position) {
8181

8282
if (Util.isBoolean(value))
8383
value += " (bool)";
84-
else if (Util.isNumeric(value))
85-
value += " (num)";
84+
else if (Util.isInteger(value))
85+
value += " (int)";
86+
else if (Util.isFloat(value))
87+
value += " (float)";
8688
else
8789
value += " (str)";
8890
pairValueTextView.setText(value);

Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/adapter/SingleRecyclerViewAdapter.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,10 @@ private void populateInterfaceElements(final int position) {
7676

7777
if (Util.isBoolean(value))
7878
value += " (bool)";
79-
else if (Util.isNumeric(value))
80-
value += " (num)";
79+
else if (Util.isInteger(value))
80+
value += " (int)";
81+
else if (Util.isFloat(value))
82+
value += " (float)";
8183
else
8284
value += " (str)";
8385
singleTextView.setText(value);

Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/model/MainActivityViewModel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -719,7 +719,7 @@ public void onSuccess(Pair<String, Object> pair) {
719719
triggerSet.remove(pair.first);
720720
toaster.makeCustomViewToast("Deleted trigger " + pair.first, ToastType.SUCCESS);
721721
} else {
722-
OneSignal.getInAppMessages().addTrigger(pair.first, pair.second);
722+
OneSignal.getInAppMessages().addTrigger(pair.first, pair.second.toString());
723723
triggerSet.put(pair.first, pair.second);
724724
toaster.makeCustomViewToast("Added trigger " + pair.first, ToastType.SUCCESS);
725725
}

Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/util/Dialog.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,9 @@ public void onClick(final DialogInterface dialog, int which) {
167167
Object pairValue = pairStringValue;
168168
if (Util.isBoolean(pairStringValue)) {
169169
pairValue = Boolean.parseBoolean(pairStringValue.toLowerCase());
170-
} else if (Util.isNumeric(pairStringValue)) {
170+
} else if (Util.isInteger(pairStringValue)) {
171+
pairValue = Long.parseLong(pairStringValue);
172+
} else if (Util.isFloat(pairStringValue)) {
171173
pairValue = Double.parseDouble(pairStringValue);
172174
}
173175

Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/util/Util.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,16 @@ public static boolean isBoolean(String string) {
77
return (string.equals("true") || string.equals("false"));
88
}
99

10-
public static boolean isNumeric(String string) {
10+
public static boolean isInteger(String string) {
11+
try {
12+
Long.parseLong(string);
13+
return true;
14+
} catch (NumberFormatException e) {
15+
return false;
16+
}
17+
}
18+
19+
public static boolean isFloat(String string) {
1120
try {
1221
Double.parseDouble(string);
1322
return true;

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/inAppMessages/IInAppMessagesManager.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,9 @@ interface IInAppMessagesManager {
2525
* to the current user.
2626
*
2727
* @param key The key of the trigger that is to be set.
28-
* @param value The value of the trigger. Although this is defined as [Any] its [Any.toString]
29-
* will be used for evaluation purposes.
28+
* @param value The value of the trigger.
3029
*/
31-
fun addTrigger(key: String, value: Any)
30+
fun addTrigger(key: String, value: String)
3231

3332
/**
3433
* Add multiple triggers for the current user. Triggers are currently explicitly used to determine
@@ -38,11 +37,9 @@ interface IInAppMessagesManager {
3837
* triggers are not persisted to the backend. They only exist on the local device and are applicable
3938
* to the current user.
4039
*
41-
* @param triggers The map of triggers that are to be added to the current user. Although the
42-
* value of the [Map] is defined as [Any] its [Any.toString] will be used for evaluation
43-
* purposes.
40+
* @param triggers The map of triggers that are to be added to the current user.
4441
*/
45-
fun addTriggers(triggers: Map<String, Any>)
42+
fun addTriggers(triggers: Map<String, String>)
4643

4744
/**
4845
* Remove the trigger with the provided key from the current user.

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/inAppMessages/internal/MisconfiguredIAMManager.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ internal class MisconfiguredIAMManager : IInAppMessagesManager {
1313
get() = throw EXCEPTION
1414
set(value) = throw EXCEPTION
1515

16-
override fun addTrigger(key: String, value: Any) = throw EXCEPTION
17-
override fun addTriggers(triggers: Map<String, Any>) = throw EXCEPTION
16+
override fun addTrigger(key: String, value: String) = throw EXCEPTION
17+
override fun addTriggers(triggers: Map<String, String>) = throw EXCEPTION
1818
override fun removeTrigger(key: String) = throw EXCEPTION
1919
override fun removeTriggers(keys: Collection<String>) = throw EXCEPTION
2020
override fun clearTriggers() = throw EXCEPTION

OneSignalSDK/onesignal/in-app-messages/src/main/java/com/onesignal/inAppMessages/internal/DummyInAppMessagesManager.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ import com.onesignal.inAppMessages.IInAppMessagesManager
66

77
internal class DummyInAppMessagesManager : IInAppMessagesManager {
88
override var paused: Boolean = true
9-
override fun addTrigger(key: String, value: Any) {
9+
override fun addTrigger(key: String, value: String) {
1010
}
1111

12-
override fun addTriggers(triggers: Map<String, Any>) {
12+
override fun addTriggers(triggers: Map<String, String>) {
1313
}
1414

1515
override fun removeTrigger(key: String) {

OneSignalSDK/onesignal/in-app-messages/src/main/java/com/onesignal/inAppMessages/internal/InAppMessagesManager.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -442,13 +442,13 @@ internal class InAppMessagesManager(
442442
Logging.debug("InAppMessagesManager.persistInAppMessage: $message with msg array data: $_redisplayedInAppMessages")
443443
}
444444

445-
override fun addTriggers(triggers: Map<String, Any>) {
445+
override fun addTriggers(triggers: Map<String, String>) {
446446
Logging.debug("InAppMessagesManager.addTriggers(triggers: $triggers)")
447447

448448
triggers.forEach { addTrigger(it.key, it.value) }
449449
}
450450

451-
override fun addTrigger(key: String, value: Any) {
451+
override fun addTrigger(key: String, value: String) {
452452
Logging.debug("InAppMessagesManager.addTrigger(key: $key, value: $value)")
453453

454454
var triggerModel = _triggerModelStore.get(key)

0 commit comments

Comments
 (0)