Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,9 @@ public class RNOneSignal extends ReactContextBaseJavaModule
private boolean hasAddedNotificationClickListener = false;
private boolean hasAddedInAppMessageClickListener = false;

// Static reference to track current instance for cleanup on reload
private static RNOneSignal currentInstance = null;

private IInAppMessageClickListener rnInAppClickListener = new IInAppMessageClickListener() {
@Override
public void onClick(IInAppMessageClickEvent event) {
Expand Down Expand Up @@ -203,6 +206,13 @@ public RNOneSignal(ReactApplicationContext reactContext) {
mReactContext.addLifecycleEventListener(this);
notificationWillDisplayCache = new HashMap<String, INotificationWillDisplayEvent>();
preventDefaultCache = new HashMap<String, INotificationWillDisplayEvent>();

// Clean up previous instance if it exists (handles reload scenario)
if (currentInstance != null && currentInstance != this) {
currentInstance.removeHandlers();
currentInstance.removeObservers();
}
currentInstance = this;
}

/** Native Module Overrides */
Expand Down
15 changes: 6 additions & 9 deletions examples/RNOneSignalTS/OSDemo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -135,16 +135,13 @@ const OSDemo: React.FC = () => {
);

useEffect(() => {
const initializeOneSignal = async () => {
OneSignal.initialize(APP_ID);
OneSignal.Debug.setLogLevel(LogLevel.None);
OneSignal.initialize(APP_ID);
OneSignal.Debug.setLogLevel(LogLevel.None);
}, []);

useEffect(() => {
const setup = async () => {
OneSignal.LiveActivities.setupDefault();
// OneSignal.LiveActivities.setupDefault({
// enablePushToStart: false,
// enablePushToUpdate: true,
// });

OneSignal.Notifications.addEventListener(
'foregroundWillDisplay',
onForegroundWillDisplay,
Expand All @@ -166,7 +163,7 @@ const OSDemo: React.FC = () => {
OneSignal.User.addEventListener('change', onUserChange);
};

initializeOneSignal();
setup();

return () => {
// Clean up all event listeners
Expand Down
2 changes: 1 addition & 1 deletion examples/RNOneSignalTS/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2665,7 +2665,7 @@ SPEC CHECKSUMS:
React-logger: a3cb5b29c32b8e447b5a96919340e89334062b48
React-Mapbuffer: 9d2434a42701d6144ca18f0ca1c4507808ca7696
React-microtasksnativemodule: 75b6604b667d297292345302cc5bfb6b6aeccc1b
react-native-onesignal: 6c5758aa56975db4bca9956d18d83dd62444c931
react-native-onesignal: b68c981956150f288c1585889871affcef3c0b8b
react-native-safe-area-context: c00143b4823773bba23f2f19f85663ae89ceb460
React-NativeModulesApple: 879fbdc5dcff7136abceb7880fe8a2022a1bd7c3
React-oscompat: 93b5535ea7f7dff46aaee4f78309a70979bdde9d
Expand Down
Loading