Commit bd0306b
committed
notif ios: Buffer notification tap events; same as on Android
It turns out that
`userNotificationCenter(_:didReceive:withCompletionHandler:)`
does execute when app is terminated and later opened by
tapping on a notification, so there is no need to check
`launchOptions` in `application(_:didFinishLaunchingWithOptions:)`
to handle this case.
But because we currently handle both cases, there is a potential
bug where if both are handled, it could cause double navigations
for the same notification. This is not observed in practice,
probably because we do not buffer events from
`userNotificationCenter(_:didReceive:withCompletionHandler:)`
currently and those events may be missed until Flutter init is
complete and the handler (in NotificationOpenService.init) is
setup.
So, remove the unnecessary handlers for `launchOptions`. This also
unifies our notification opening implementation between Android and
iOS, where we handle all types of notification tap events via the
same Pigeon EventChannel API.1 parent 8a7e94a commit bd0306b
12 files changed
Lines changed: 82 additions & 550 deletions
File tree
- android/app/src/main/kotlin/com/zulip/flutter/notifications
- ios/Runner
- lib
- host
- model
- notifications
- widgets
- pigeon
- test
- model
- notifications
Lines changed: 3 additions & 106 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | 17 | | |
38 | 18 | | |
39 | 19 | | |
| |||
78 | 58 | | |
79 | 59 | | |
80 | 60 | | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | 61 | | |
116 | 62 | | |
117 | 63 | | |
| |||
202 | 148 | | |
203 | 149 | | |
204 | 150 | | |
205 | | - | |
206 | | - | |
207 | | - | |
208 | | - | |
209 | | - | |
210 | 151 | | |
211 | 152 | | |
212 | 153 | | |
213 | 154 | | |
214 | | - | |
| 155 | + | |
215 | 156 | | |
216 | 157 | | |
217 | 158 | | |
| |||
221 | 162 | | |
222 | 163 | | |
223 | 164 | | |
224 | | - | |
225 | | - | |
226 | | - | |
227 | | - | |
228 | 165 | | |
229 | | - | |
| 166 | + | |
230 | 167 | | |
231 | 168 | | |
232 | 169 | | |
233 | | - | |
| 170 | + | |
234 | 171 | | |
235 | 172 | | |
236 | 173 | | |
| |||
240 | 177 | | |
241 | 178 | | |
242 | 179 | | |
243 | | - | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | | - | |
249 | | - | |
250 | | - | |
251 | | - | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | | - | |
273 | | - | |
274 | | - | |
275 | | - | |
276 | | - | |
277 | | - | |
278 | | - | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | 180 | | |
284 | 181 | | |
285 | 182 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | 23 | | |
36 | 24 | | |
37 | 25 | | |
| |||
58 | 46 | | |
59 | 47 | | |
60 | 48 | | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| 8 | + | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
14 | 28 | | |
15 | 29 | | |
16 | 30 | | |
17 | | - | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
18 | 37 | | |
19 | 38 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | 32 | | |
59 | 33 | | |
60 | 34 | | |
| |||
128 | 102 | | |
129 | 103 | | |
130 | 104 | | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | 105 | | |
161 | 106 | | |
162 | 107 | | |
| |||
235 | 180 | | |
236 | 181 | | |
237 | 182 | | |
238 | | - | |
239 | | - | |
240 | 183 | | |
241 | | - | |
| 184 | + | |
242 | 185 | | |
243 | 186 | | |
244 | 187 | | |
| |||
248 | 191 | | |
249 | 192 | | |
250 | 193 | | |
251 | | - | |
| 194 | + | |
252 | 195 | | |
253 | 196 | | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | 197 | | |
258 | | - | |
| 198 | + | |
259 | 199 | | |
260 | 200 | | |
261 | 201 | | |
| |||
279 | 219 | | |
280 | 220 | | |
281 | 221 | | |
282 | | - | |
283 | | - | |
284 | | - | |
285 | | - | |
286 | | - | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
305 | | - | |
306 | | - | |
307 | | - | |
308 | | - | |
309 | | - | |
310 | | - | |
311 | | - | |
312 | | - | |
313 | | - | |
314 | | - | |
315 | | - | |
316 | | - | |
317 | | - | |
318 | | - | |
319 | | - | |
320 | | - | |
321 | | - | |
322 | 222 | | |
323 | 223 | | |
324 | 224 | | |
| |||
0 commit comments