Use Downloads as start screen if device is offline (#1675)

This commit is contained in:
FooIbar authored and GitHub committed 2024-09-25 03:54:34 +00:00
1 parent a52ab28534
commit 24d2072586
3 files changed
+21 -8

No files matched your search

@@ -248,18 +248,24 @@ class MainActivity : EhActivity() {
}
}
val hasNetwork = remember { connectivityManager.activeNetwork != null }
if (!AppConfig.isBenchmark) {
val noNetwork = stringResource(R.string.no_network)
LaunchedEffect(Unit) {
runCatching { dialogState.checkDownloadLocation() }
runCatching { dialogState.checkAppLinkVerify() }
runSuspendCatching {
withIOContext {
AppUpdater.checkForUpdate()?.let {
dialogState.showNewVersion(this@MainActivity, it)
if (hasNetwork) {
runSuspendCatching {
withIOContext {
AppUpdater.checkForUpdate()?.let {
dialogState.showNewVersion(this@MainActivity, it)
}
}
}.onFailure {
snackbarState.showSnackbar(getString(R.string.update_failed, it.displayString()))
}
}.onFailure {
snackbarState.showSnackbar(getString(R.string.update_failed, it.displayString()))
} else {
snackbarState.showSnackbar(noNetwork)
}
}
}
@@ -466,9 +472,14 @@ class MainActivity : EhActivity() {
// https://issuetracker.google.com/336140982
// SharedTransitionLayout {
CompositionLocalProvider(LocalSharedTransitionScope provides NoopSharedTransitionScope) {
val start = when {
Settings.needSignIn -> SignInScreenDestination
hasNetwork -> StartDestination
else -> DownloadsScreenDestination
}
DestinationsNavHost(
navGraph = NavGraphs.root,
start = if (Settings.needSignIn) SignInScreenDestination else StartDestination,
start = start,
defaultTransitions = rememberEhNavAnim(),
navController = navController,
)
@@ -526,7 +537,7 @@ class MainActivity : EhActivity() {
Uri.parse("package:$packageName"),
)
startActivity(intent)
} catch (t: Throwable) {
} catch (_: Throwable) {
val intent = Intent(
android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.parse("package:$packageName"),
@@ -472,6 +472,7 @@
<string name="action_add_tag">添加标签</string>
<string name="action_add_tag_tip">添加新标签,用逗号「,」分割</string>
<string name="comment_user_uploader">%s (上传者)</string>
<string name="no_network">无网络</string>
<string name="settings_eh_metered_network_warning">流量计费网络警告</string>
<string name="metered_network_warning">正在使用流量计费网络</string>
<string name="read_from">从第 %d 页阅读</string>
+1
View File
@@ -489,6 +489,7 @@
<string name="action_add_tag">Add tag</string>
<string name="action_add_tag_tip">Enter new tags, separated with comma</string>
<string name="comment_user_uploader">%s (Uploader)</string>
<string name="no_network">No network</string>
<string name="settings_eh_metered_network_warning">Metered network warning</string>
<string name="metered_network_warning">Connected to metered networks</string>
<string name="read_from">Read page %d</string>