Repository navigation
Commit 39aa9fe
committed
fix(overlay): stop the service only for the newest start when an overlay closes
dismiss() called plain stopSelf(), which stops the service even when a
newer start is already queued. The start intent is then delivered,
shows its overlay, and onDestroy removes it right after. The withdrawal
added in fc53929 makes that reachable: a rejected caller's withdrawal
followed within milliseconds by the next caller's overlay start.
The service now records the newest startId it was handed, and dismiss()
calls stopSelf(latestStartId). Android ignores that while a newer start
is pending, and stops the service exactly as before otherwise. Found by
the verification pass over fc53929.
Tests: CallerIdOverlayWithdrawTest gains a case that checks the stop
names the newest start; no existing test changed. A control run with
plain stopSelf() back in dismiss() fails it.1 parent fc53929 commit 39aa9fe
3 files changed
Lines changed: 25 additions & 5 deletions
File tree
- app/src
- main/java/com/sysadmindoc/callshield/service
- test/java/com/sysadmindoc/callshield/service
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
592 | 592 | | |
593 | 593 | | |
594 | 594 | | |
595 | | - | |
| 595 | + | |
596 | 596 | | |
597 | 597 | | |
598 | 598 | | |
599 | 599 | | |
600 | | - | |
| 600 | + | |
601 | 601 | | |
602 | 602 | | |
603 | 603 | | |
| |||
634 | 634 | | |
635 | 635 | | |
636 | 636 | | |
637 | | - | |
| 637 | + | |
638 | 638 | | |
639 | 639 | | |
640 | 640 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
302 | 302 | | |
303 | 303 | | |
304 | 304 | | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
305 | 311 | | |
306 | 312 | | |
307 | 313 | | |
| |||
323 | 329 | | |
324 | 330 | | |
325 | 331 | | |
| 332 | + | |
326 | 333 | | |
327 | 334 | | |
328 | 335 | | |
| |||
1311 | 1318 | | |
1312 | 1319 | | |
1313 | 1320 | | |
1314 | | - | |
| 1321 | + | |
1315 | 1322 | | |
1316 | 1323 | | |
1317 | 1324 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
82 | 95 | | |
83 | 96 | | |
84 | 97 | | |
| |||
0 commit comments