File tree Expand file tree Collapse file tree 3 files changed +17
-10
lines changed
android/src/main/java/com/onesignal/rnonesignalandroid Expand file tree Collapse file tree 3 files changed +17
-10
lines changed Original file line number Diff line number Diff line change @@ -96,6 +96,9 @@ public class RNOneSignal extends ReactContextBaseJavaModule
9696 private boolean hasAddedNotificationClickListener = false ;
9797 private boolean hasAddedInAppMessageClickListener = false ;
9898
99+ // Static reference to track current instance for cleanup on reload
100+ private static RNOneSignal currentInstance = null ;
101+
99102 private IInAppMessageClickListener rnInAppClickListener = new IInAppMessageClickListener () {
100103 @ Override
101104 public void onClick (IInAppMessageClickEvent event ) {
@@ -203,6 +206,13 @@ public RNOneSignal(ReactApplicationContext reactContext) {
203206 mReactContext .addLifecycleEventListener (this );
204207 notificationWillDisplayCache = new HashMap <String , INotificationWillDisplayEvent >();
205208 preventDefaultCache = new HashMap <String , INotificationWillDisplayEvent >();
209+
210+ // Clean up previous instance if it exists (handles reload scenario)
211+ if (currentInstance != null && currentInstance != this ) {
212+ currentInstance .removeHandlers ();
213+ currentInstance .removeObservers ();
214+ }
215+ currentInstance = this ;
206216 }
207217
208218 /** Native Module Overrides */
Original file line number Diff line number Diff line change @@ -135,16 +135,13 @@ const OSDemo: React.FC = () => {
135135 ) ;
136136
137137 useEffect ( ( ) => {
138- const initializeOneSignal = async ( ) => {
139- OneSignal . initialize ( APP_ID ) ;
140- OneSignal . Debug . setLogLevel ( LogLevel . None ) ;
138+ OneSignal . initialize ( APP_ID ) ;
139+ OneSignal . Debug . setLogLevel ( LogLevel . None ) ;
140+ } , [ ] ) ;
141141
142+ useEffect ( ( ) => {
143+ const setup = async ( ) => {
142144 OneSignal . LiveActivities . setupDefault ( ) ;
143- // OneSignal.LiveActivities.setupDefault({
144- // enablePushToStart: false,
145- // enablePushToUpdate: true,
146- // });
147-
148145 OneSignal . Notifications . addEventListener (
149146 'foregroundWillDisplay' ,
150147 onForegroundWillDisplay ,
@@ -166,7 +163,7 @@ const OSDemo: React.FC = () => {
166163 OneSignal . User . addEventListener ( 'change' , onUserChange ) ;
167164 } ;
168165
169- initializeOneSignal ( ) ;
166+ setup ( ) ;
170167
171168 return ( ) => {
172169 // Clean up all event listeners
Original file line number Diff line number Diff line change @@ -2665,7 +2665,7 @@ SPEC CHECKSUMS:
26652665 React-logger: a3cb5b29c32b8e447b5a96919340e89334062b48
26662666 React-Mapbuffer: 9d2434a42701d6144ca18f0ca1c4507808ca7696
26672667 React-microtasksnativemodule: 75b6604b667d297292345302cc5bfb6b6aeccc1b
2668- react-native-onesignal: 6c5758aa56975db4bca9956d18d83dd62444c931
2668+ react-native-onesignal: b68c981956150f288c1585889871affcef3c0b8b
26692669 react-native-safe-area-context: c00143b4823773bba23f2f19f85663ae89ceb460
26702670 React-NativeModulesApple: 879fbdc5dcff7136abceb7880fe8a2022a1bd7c3
26712671 React-oscompat: 93b5535ea7f7dff46aaee4f78309a70979bdde9d
You can’t perform that action at this time.
0 commit comments