Skip to content

Commit c72be26

Browse files
committed
Add backguards compatibility
* Keep old onNewToken without bundle param
1 parent fd2fd4c commit c72be26

File tree

3 files changed

+30
-4
lines changed

3 files changed

+30
-4
lines changed

Examples/OneSignalDemo/app/src/huawei/java/com/onesignal/sdktest/notification/HmsMessageServiceAppLevel.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,21 @@ public class HmsMessageServiceAppLevel extends HmsMessageService {
1919
*/
2020
@Override
2121
public void onNewToken(String token, Bundle bundle) {
22-
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HMS onNewToken refresh token:" + token + " bundle: " + bundle);
22+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HmsMessageServiceAppLevel onNewToken refresh token:" + token + " bundle: " + bundle);
2323

2424
// Forward event on to OneSignal SDK
2525
OneSignalHmsEventBridge.onNewToken(this, token, bundle);
2626
}
2727

28+
@Deprecated
29+
@Override
30+
public void onNewToken(String token) {
31+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HmsMessageServiceAppLevel onNewToken refresh token:" + token);
32+
33+
// Forward event on to OneSignal SDK
34+
OneSignalHmsEventBridge.onNewToken(this, token);
35+
}
36+
2837
/**
2938
* This method is called in the following cases:
3039
* 1. "Data messages" - App process is alive when received.

OneSignalSDK/onesignal/src/main/java/com/onesignal/HmsMessageServiceOneSignal.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
*/
2323
public class HmsMessageServiceOneSignal extends HmsMessageService {
2424

25-
2625
/**
2726
* When an app calls the getToken method to apply for a token from the server,
2827
* if the server does not return the token during current method calling, the server can return the token through this method later.
@@ -33,9 +32,19 @@ public class HmsMessageServiceOneSignal extends HmsMessageService {
3332
*/
3433
@Override
3534
public void onNewToken(String token, Bundle bundle) {
35+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HmsMessageServiceOneSignal onNewToken refresh token:" + token);
36+
3637
OneSignalHmsEventBridge.onNewToken(this, token, bundle);
3738
}
3839

40+
@Deprecated
41+
@Override
42+
public void onNewToken(String token) {
43+
OneSignal.onesignalLog(OneSignal.LOG_LEVEL.DEBUG, "HmsMessageServiceOneSignal onNewToken refresh token:" + token);
44+
45+
OneSignalHmsEventBridge.onNewToken(this, token);
46+
}
47+
3948
/**
4049
* This method is called in the following cases:
4150
* 1. "Data messages" - App process is alive when received.

OneSignalSDK/onesignal/src/main/java/com/onesignal/OneSignalHmsEventBridge.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
import com.huawei.hms.push.RemoteMessage;
1010

11+
import java.util.concurrent.atomic.AtomicBoolean;
12+
1113
/**
1214
* If you have your own {@link com.huawei.hms.push.HmsMessageService} defined in your app please also
1315
* call {@link OneSignalHmsEventBridge#onNewToken} and {@link OneSignalHmsEventBridge#onMessageReceived}
@@ -18,12 +20,18 @@
1820
*/
1921
public class OneSignalHmsEventBridge {
2022

23+
private static final AtomicBoolean firstToken = new AtomicBoolean(true);
24+
2125
/**
2226
* Method used by last HMS push version 5.3.0.304 and upper
2327
*/
2428
public static void onNewToken(@NonNull Context context, @NonNull String token, @Nullable Bundle bundle) {
25-
OneSignal.Log(OneSignal.LOG_LEVEL.INFO, "HmsMessageServiceOneSignal.onNewToken - HMS token: " + token + " Bundle: " + bundle);
26-
PushRegistratorHMS.fireCallback(token);
29+
if (firstToken.compareAndSet(true, false)) {
30+
OneSignal.Log(OneSignal.LOG_LEVEL.INFO, "OneSignalHmsEventBridge onNewToken - HMS token: " + token + " Bundle: " + bundle);
31+
PushRegistratorHMS.fireCallback(token);
32+
} else {
33+
OneSignal.Log(OneSignal.LOG_LEVEL.INFO, "OneSignalHmsEventBridge ignoring onNewToken - HMS token: " + token + " Bundle: " + bundle);
34+
}
2735
}
2836

2937
/**

0 commit comments

Comments
 (0)