Use Downloads as start screen if device is offline (#1675)
This commit is contained in:
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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
Reference in new issue
Block a user