From f442d9d030e510958e9043105a6c6981b073df18 Mon Sep 17 00:00:00 2001 From: tarsin Date: Wed, 8 Feb 2023 08:55:55 +0800 Subject: [PATCH] Use LocalContext as Activity to execute finish --- .../main/java/com/hippo/ehviewer/ui/login/LoginActivity.kt | 4 +--- .../java/com/hippo/ehviewer/ui/login/SelectSiteScreen.kt | 7 +++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/login/LoginActivity.kt b/app/src/main/java/com/hippo/ehviewer/ui/login/LoginActivity.kt index c0fa77bd6..09d1b23e8 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/login/LoginActivity.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/login/LoginActivity.kt @@ -39,9 +39,7 @@ class LoginActivity : EhActivity() { composable(SELECT_SITE_ROUTE_NAME) { val selectSite by remember { mutableStateOf(Settings.getSelectSite()) } if (selectSite) { - SelectSiteScreen { - finish() - } + SelectSiteScreen() } else { SideEffect { finish() diff --git a/app/src/main/java/com/hippo/ehviewer/ui/login/SelectSiteScreen.kt b/app/src/main/java/com/hippo/ehviewer/ui/login/SelectSiteScreen.kt index 604caebbf..eeb47b856 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/login/SelectSiteScreen.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/login/SelectSiteScreen.kt @@ -1,5 +1,6 @@ package com.hippo.ehviewer.ui.login +import android.app.Activity import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.clickable @@ -29,6 +30,7 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.dimensionResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp @@ -39,7 +41,8 @@ import com.hippo.ehviewer.client.EhUrl import eu.kanade.tachiyomi.util.lang.launchNonCancellable @Composable -fun SelectSiteScreen(finish: () -> Unit) { +fun SelectSiteScreen() { + val activity = LocalContext.current as Activity val coroutineScope = rememberCoroutineScope() var siteEx by remember { mutableStateOf(true) } @@ -126,7 +129,7 @@ fun SelectSiteScreen(finish: () -> Unit) { } } } - finish() + activity.finish() }, Modifier.fillMaxWidth()) { Text(text = stringResource(id = android.R.string.ok)) }