komikku/app
Two-Ai 288fe0d888 Simplify PageHolder load Job (#9086)
Inline statusJob into loadJob, using supervisorScope to load the page
and track status changes in parallel.
- supervisorScope does not complete until both the child loadPage
  coroutine and statusFlow.collectLatest have completed.
- Cancelling supervisorScope cancels the child loadPage coroutine and
  statusFlow.collectLatest.
- Use supervisorScope instead of coroutineScope to let status
  collection continue if loadPage fails.

Inline progressJob into loadJob, using collectLatest's cancellation
to avoid cancelling the progressFlow collection explicitly.
- collectLatest cancels the previous action block when the flow
  emits a new value. This means the DOWNLOAD_IMAGE
  progressFlow.collectLatest gets automatically cancelled when
  statusFlow emits a new state.

Convert launchLoadJob to suspend function, move job launch to caller,
and rename as loadPageAndProcessStatus.

(cherry picked from commit 4635e58405eedce0b49fc69f7ccb190a7c600da9)

# Conflicts:
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerPageHolder.kt
2023-02-26 21:37:26 -05:00
..
src Simplify PageHolder load Job (#9086) 2023-02-26 21:37:26 -05:00
.gitignore Move google-services.json 2020-04-29 17:56:05 -04:00
build.gradle.kts Rework on the wheel picker (#8559) 2023-02-26 21:09:14 -05:00
proguard-android-optimize.txt Proguard fixes 2021-05-22 16:07:11 -04:00
proguard-rules.pro Fix debug functions on release builds 2022-10-18 21:46:29 -04:00
shortcuts.xml Remove more unused strings 2021-05-31 23:48:06 -04:00