|
| 1 | +import { useFocusEffect } from '@react-navigation/native'; |
1 | 2 | import React, { useCallback, useEffect, useState } from 'react'; |
2 | 3 | import { |
3 | 4 | Alert, |
@@ -139,78 +140,93 @@ const OSDemo: React.FC = () => { |
139 | 140 | OneSignal.Debug.setLogLevel(LogLevel.None); |
140 | 141 | }, []); |
141 | 142 |
|
142 | | - useEffect(() => { |
143 | | - const setup = async () => { |
144 | | - OneSignal.LiveActivities.setupDefault(); |
145 | | - OneSignal.Notifications.addEventListener( |
146 | | - 'foregroundWillDisplay', |
147 | | - onForegroundWillDisplay, |
148 | | - ); |
149 | | - OneSignal.Notifications.addEventListener('click', onNotificationClick); |
150 | | - OneSignal.InAppMessages.addEventListener('click', onIAMClick); |
151 | | - OneSignal.InAppMessages.addEventListener('willDisplay', onIAMWillDisplay); |
152 | | - OneSignal.InAppMessages.addEventListener('didDisplay', onIAMDidDisplay); |
153 | | - OneSignal.InAppMessages.addEventListener('willDismiss', onIAMWillDismiss); |
154 | | - OneSignal.InAppMessages.addEventListener('didDismiss', onIAMDidDismiss); |
155 | | - OneSignal.User.pushSubscription.addEventListener( |
156 | | - 'change', |
157 | | - onSubscriptionChange, |
158 | | - ); |
159 | | - OneSignal.Notifications.addEventListener( |
160 | | - 'permissionChange', |
161 | | - onPermissionChange, |
162 | | - ); |
163 | | - OneSignal.User.addEventListener('change', onUserChange); |
164 | | - }; |
| 143 | + useFocusEffect( |
| 144 | + useCallback(() => { |
| 145 | + console.log('Setting up event listeners'); |
165 | 146 |
|
166 | | - setup(); |
| 147 | + const setup = async () => { |
| 148 | + OneSignal.LiveActivities.setupDefault(); |
| 149 | + OneSignal.Notifications.addEventListener( |
| 150 | + 'foregroundWillDisplay', |
| 151 | + onForegroundWillDisplay, |
| 152 | + ); |
| 153 | + OneSignal.Notifications.addEventListener('click', onNotificationClick); |
| 154 | + OneSignal.InAppMessages.addEventListener('click', onIAMClick); |
| 155 | + OneSignal.InAppMessages.addEventListener( |
| 156 | + 'willDisplay', |
| 157 | + onIAMWillDisplay, |
| 158 | + ); |
| 159 | + OneSignal.InAppMessages.addEventListener('didDisplay', onIAMDidDisplay); |
| 160 | + OneSignal.InAppMessages.addEventListener( |
| 161 | + 'willDismiss', |
| 162 | + onIAMWillDismiss, |
| 163 | + ); |
| 164 | + OneSignal.InAppMessages.addEventListener('didDismiss', onIAMDidDismiss); |
| 165 | + OneSignal.User.pushSubscription.addEventListener( |
| 166 | + 'change', |
| 167 | + onSubscriptionChange, |
| 168 | + ); |
| 169 | + OneSignal.Notifications.addEventListener( |
| 170 | + 'permissionChange', |
| 171 | + onPermissionChange, |
| 172 | + ); |
| 173 | + OneSignal.User.addEventListener('change', onUserChange); |
| 174 | + }; |
167 | 175 |
|
168 | | - return () => { |
169 | | - // Clean up all event listeners |
170 | | - OneSignal.Notifications.removeEventListener( |
171 | | - 'foregroundWillDisplay', |
172 | | - onForegroundWillDisplay, |
173 | | - ); |
174 | | - OneSignal.Notifications.removeEventListener('click', onNotificationClick); |
175 | | - OneSignal.InAppMessages.removeEventListener('click', onIAMClick); |
176 | | - OneSignal.InAppMessages.removeEventListener( |
177 | | - 'willDisplay', |
178 | | - onIAMWillDisplay, |
179 | | - ); |
180 | | - OneSignal.InAppMessages.removeEventListener( |
181 | | - 'didDisplay', |
182 | | - onIAMDidDisplay, |
183 | | - ); |
184 | | - OneSignal.InAppMessages.removeEventListener( |
185 | | - 'willDismiss', |
186 | | - onIAMWillDismiss, |
187 | | - ); |
188 | | - OneSignal.InAppMessages.removeEventListener( |
189 | | - 'didDismiss', |
190 | | - onIAMDidDismiss, |
191 | | - ); |
192 | | - OneSignal.User.pushSubscription.removeEventListener( |
193 | | - 'change', |
194 | | - onSubscriptionChange, |
195 | | - ); |
196 | | - OneSignal.Notifications.removeEventListener( |
197 | | - 'permissionChange', |
198 | | - onPermissionChange, |
199 | | - ); |
200 | | - OneSignal.User.removeEventListener('change', onUserChange); |
201 | | - }; |
202 | | - }, [ |
203 | | - onForegroundWillDisplay, |
204 | | - onNotificationClick, |
205 | | - onIAMClick, |
206 | | - onIAMWillDisplay, |
207 | | - onIAMDidDisplay, |
208 | | - onIAMWillDismiss, |
209 | | - onIAMDidDismiss, |
210 | | - onSubscriptionChange, |
211 | | - onPermissionChange, |
212 | | - onUserChange, |
213 | | - ]); |
| 176 | + setup(); |
| 177 | + |
| 178 | + return () => { |
| 179 | + console.log('Cleaning up event listeners'); |
| 180 | + |
| 181 | + // Clean up all event listeners |
| 182 | + OneSignal.Notifications.removeEventListener( |
| 183 | + 'foregroundWillDisplay', |
| 184 | + onForegroundWillDisplay, |
| 185 | + ); |
| 186 | + OneSignal.Notifications.removeEventListener( |
| 187 | + 'click', |
| 188 | + onNotificationClick, |
| 189 | + ); |
| 190 | + OneSignal.InAppMessages.removeEventListener('click', onIAMClick); |
| 191 | + OneSignal.InAppMessages.removeEventListener( |
| 192 | + 'willDisplay', |
| 193 | + onIAMWillDisplay, |
| 194 | + ); |
| 195 | + OneSignal.InAppMessages.removeEventListener( |
| 196 | + 'didDisplay', |
| 197 | + onIAMDidDisplay, |
| 198 | + ); |
| 199 | + OneSignal.InAppMessages.removeEventListener( |
| 200 | + 'willDismiss', |
| 201 | + onIAMWillDismiss, |
| 202 | + ); |
| 203 | + OneSignal.InAppMessages.removeEventListener( |
| 204 | + 'didDismiss', |
| 205 | + onIAMDidDismiss, |
| 206 | + ); |
| 207 | + OneSignal.User.pushSubscription.removeEventListener( |
| 208 | + 'change', |
| 209 | + onSubscriptionChange, |
| 210 | + ); |
| 211 | + OneSignal.Notifications.removeEventListener( |
| 212 | + 'permissionChange', |
| 213 | + onPermissionChange, |
| 214 | + ); |
| 215 | + OneSignal.User.removeEventListener('change', onUserChange); |
| 216 | + }; |
| 217 | + }, [ |
| 218 | + onForegroundWillDisplay, |
| 219 | + onNotificationClick, |
| 220 | + onIAMClick, |
| 221 | + onIAMWillDisplay, |
| 222 | + onIAMDidDisplay, |
| 223 | + onIAMWillDismiss, |
| 224 | + onIAMDidDismiss, |
| 225 | + onSubscriptionChange, |
| 226 | + onPermissionChange, |
| 227 | + onUserChange, |
| 228 | + ]), |
| 229 | + ); |
214 | 230 |
|
215 | 231 | const inputChange = useCallback((text: string) => { |
216 | 232 | setInputValue(text); |
|
0 commit comments