Work around ANR on DownloadManager initialization

This commit is contained in:
FooIbar committed 2025-09-05 00:29:28 +08:00
1 parent 7016190ce5
commit 19d9bb198f
2 files changed
+7 -1

No files matched your search

@@ -133,6 +133,7 @@ class EhApplication :
if (DownloadManager.labelList.isNotEmpty() && Settings.downloadFilterMode !in Settings.snapshot()) {
Settings.downloadFilterMode.value = DownloadsFilterMode.CUSTOM.flag
}
initialized = true
DownloadManager.readMetadataFromLocal()
}
launch {
@@ -214,6 +215,10 @@ class EhApplication :
}
companion object {
@Volatile
var initialized = false
private set
val ktorClient by lazy {
if (isAtLeastSExtension7 && Settings.enableCronet.value) {
HttpClient(Cronet) {
@@ -111,6 +111,7 @@ import com.ehviewer.core.ui.icons.filled.Subscriptions
import com.ehviewer.core.ui.util.LocalSnackBarFabPadding
import com.ehviewer.core.ui.util.LocalWindowSizeClass
import com.ehviewer.core.util.withIOContext
import com.hippo.ehviewer.EhApplication.Companion.initialized
import com.hippo.ehviewer.Settings
import com.hippo.ehviewer.client.data.ListUrlBuilder
import com.hippo.ehviewer.client.parser.GalleryDetailUrlParser
@@ -200,7 +201,7 @@ class MainActivity : EhActivity() {
@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
override fun onCreate(savedInstanceState: Bundle?) {
installSplashScreen()
installSplashScreen().setKeepOnScreenCondition { !initialized }
super.onCreate(savedInstanceState)
setMD3Content {
val configuration = LocalConfiguration.current