|
|
@@ -20,6 +20,7 @@ import androidx.core.content.ContextCompat
|
|
|
import androidx.core.net.toUri
|
|
|
import androidx.lifecycle.lifecycleScope
|
|
|
import com.script.rhino.runScriptWithContext
|
|
|
+import io.legado.app.BuildConfig
|
|
|
import io.legado.app.R
|
|
|
import io.legado.app.constant.AppLog
|
|
|
import io.legado.app.constant.BookType
|
|
|
@@ -1620,20 +1621,24 @@ class ReadBookController(
|
|
|
upScreenTimeOut()
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * View/Window-only resume — business logic handled by ViewModel via OnResume intent.
|
|
|
- */
|
|
|
+ /** View/Window lifecycle work; business session work stays in the ViewModel. */
|
|
|
fun onResume() {
|
|
|
setOrientation()
|
|
|
upSystemUiVisibility()
|
|
|
- screenOffTimerStart()
|
|
|
+ upScreenTimeOut()
|
|
|
+ handleEffect(ReadBookEffect.UpTime)
|
|
|
+ registerTimeBatteryReceiver()
|
|
|
+ networkChangedListener.onNetworkChanged = viewModel::onNetworkChanged
|
|
|
+ networkChangedListener.register()
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * View/Window-only pause — business logic handled by ViewModel via OnPause intent.
|
|
|
- */
|
|
|
+ /** Release listeners even if the route's effect collector has already stopped. */
|
|
|
fun onPause() {
|
|
|
+ stopAutoPage()
|
|
|
+ unregisterTimeBatteryReceiver()
|
|
|
+ networkChangedListener.unRegister()
|
|
|
upSystemUiVisibility()
|
|
|
+ if (!BuildConfig.DEBUG) Backup.autoBack(activity)
|
|
|
}
|
|
|
|
|
|
override val isInMultiWindowModeCompat: Boolean
|
|
|
@@ -2313,30 +2318,10 @@ class ReadBookController(
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // ── Lifecycle — route/bridge Activity operations ──
|
|
|
- is ReadBookEffect.RegisterTimeBatteryReceiver -> {
|
|
|
- registerTimeBatteryReceiver()
|
|
|
- }
|
|
|
-
|
|
|
- is ReadBookEffect.UnregisterTimeBatteryReceiver -> {
|
|
|
- unregisterTimeBatteryReceiver()
|
|
|
- }
|
|
|
-
|
|
|
- is ReadBookEffect.RegisterNetworkListener -> {
|
|
|
- networkChangedListener.register()
|
|
|
- networkChangedListener.onNetworkChanged = {
|
|
|
- viewModel.onNetworkChanged()
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- is ReadBookEffect.UnregisterNetworkListener -> {
|
|
|
- networkChangedListener.unRegister()
|
|
|
- }
|
|
|
-
|
|
|
+ // ── Other Activity operations ──
|
|
|
is ReadBookEffect.SetOrientation -> {
|
|
|
setOrientation()
|
|
|
}
|
|
|
-
|
|
|
is ReadBookEffect.BackupNow -> {
|
|
|
Backup.autoBack(activity)
|
|
|
}
|