Commit 0f7feca
committed
fix: Interrupt split APK merger immediately on cancellation
Replace `withContext` with `runInterruptible` in `Merger.merge` so that blocking operations (loadApkDirectory, mergeModules, writeApk) are interrupted immediately via `Thread.interrupt()` when the patcher worker is canceled. Previously, `withContext` would wait for the blocking call to finish naturally before throwing `CancellationException`, leaving temporary `split-<timestamp>` directories on disk and causing them to accumulate when the user restarted patching.1 parent 099ba6c commit 0f7feca
2 files changed
Lines changed: 12 additions & 29 deletions
Lines changed: 8 additions & 20 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | 11 | | |
13 | 12 | | |
14 | 13 | | |
15 | | - | |
| 14 | + | |
16 | 15 | | |
17 | 16 | | |
18 | 17 | | |
| |||
21 | 20 | | |
22 | 21 | | |
23 | 22 | | |
| 23 | + | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
28 | | - | |
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| |||
72 | 72 | | |
73 | 73 | | |
74 | 74 | | |
75 | | - | |
| 75 | + | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| |||
196 | 196 | | |
197 | 197 | | |
198 | 198 | | |
199 | | - | |
| 199 | + | |
200 | 200 | | |
201 | 201 | | |
202 | 202 | | |
| |||
227 | 227 | | |
228 | 228 | | |
229 | 229 | | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | 230 | | |
243 | 231 | | |
244 | 232 | | |
| |||
309 | 297 | | |
310 | 298 | | |
311 | 299 | | |
312 | | - | |
| 300 | + | |
313 | 301 | | |
314 | | - | |
| 302 | + | |
315 | 303 | | |
316 | 304 | | |
317 | 305 | | |
| |||
323 | 311 | | |
324 | 312 | | |
325 | 313 | | |
326 | | - | |
| 314 | + | |
327 | 315 | | |
328 | 316 | | |
329 | 317 | | |
Lines changed: 4 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
| 35 | + | |
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| |||
257 | 257 | | |
258 | 258 | | |
259 | 259 | | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
| 260 | + | |
| 261 | + | |
267 | 262 | | |
268 | 263 | | |
269 | 264 | | |
| |||
354 | 349 | | |
355 | 350 | | |
356 | 351 | | |
357 | | - | |
| 352 | + | |
358 | 353 | | |
359 | 354 | | |
360 | 355 | | |
| |||
0 commit comments