diff --git a/app/src/main/java/eu/kanade/domain/base/BasePreferences.kt b/app/src/main/java/eu/kanade/domain/base/BasePreferences.kt index b7e0e47ce..ba3cebc86 100644 --- a/app/src/main/java/eu/kanade/domain/base/BasePreferences.kt +++ b/app/src/main/java/eu/kanade/domain/base/BasePreferences.kt @@ -11,8 +11,6 @@ class BasePreferences( private val preferenceStore: PreferenceStore, ) { - fun confirmExit() = preferenceStore.getBoolean("pref_confirm_exit", false) - fun downloadedOnly() = preferenceStore.getBoolean("pref_downloaded_only", false) fun incognitoMode() = preferenceStore.getBoolean("incognito_mode", false) diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt index ffa22256d..3fc9a934e 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsGeneralScreen.kt @@ -16,7 +16,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.core.os.LocaleListCompat -import eu.kanade.domain.base.BasePreferences import eu.kanade.domain.ui.UiPreferences import eu.kanade.presentation.more.settings.Preference import eu.kanade.tachiyomi.R @@ -35,12 +34,16 @@ object SettingsGeneralScreen : SearchableSettings { @Composable override fun getPreferences(): List { - val prefs = remember { Injekt.get() } val libraryPrefs = remember { Injekt.get() } // SY --> val uiPrefs = remember { Injekt.get() } // SY <-- - return mutableListOf().apply { + val context = LocalContext.current + + val langs = remember { getLangs(context) } + var currentLanguage by remember { mutableStateOf(AppCompatDelegate.getApplicationLocales().get(0)?.toLanguageTag() ?: "") } + + return buildList { add( Preference.PreferenceItem.SwitchPreference( pref = libraryPrefs.newShowUpdatesCount(), @@ -48,14 +51,6 @@ object SettingsGeneralScreen : SearchableSettings { ), ) - add( - Preference.PreferenceItem.SwitchPreference( - pref = prefs.confirmExit(), - title = stringResource(R.string.pref_confirm_exit), - ), - ) - - val context = LocalContext.current if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { add( Preference.PreferenceItem.TextPreference( @@ -70,8 +65,6 @@ object SettingsGeneralScreen : SearchableSettings { ) } - val langs = remember { getLangs(context) } - var currentLanguage by remember { mutableStateOf(AppCompatDelegate.getApplicationLocales().get(0)?.toLanguageTag() ?: "") } add( Preference.PreferenceItem.BasicListPreference( value = currentLanguage, diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt index eda1b898f..d708cfc08 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/main/MainActivity.kt @@ -10,9 +10,7 @@ import android.os.Build import android.os.Bundle import android.os.Looper import android.view.View -import android.widget.Toast import androidx.activity.ComponentActivity -import androidx.activity.compose.BackHandler import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.WindowInsets @@ -30,7 +28,6 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.luminance @@ -65,7 +62,6 @@ import eu.kanade.presentation.util.AssistContentScreen import eu.kanade.presentation.util.DefaultNavigatorScreenTransition import eu.kanade.presentation.util.collectAsState import eu.kanade.tachiyomi.BuildConfig -import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.download.DownloadCache import eu.kanade.tachiyomi.data.notification.NotificationReceiver import eu.kanade.tachiyomi.data.updater.AppUpdateChecker @@ -79,7 +75,6 @@ import eu.kanade.tachiyomi.ui.more.NewUpdateScreen import eu.kanade.tachiyomi.util.system.dpToPx import eu.kanade.tachiyomi.util.system.isNavigationBarNeedsScrim import eu.kanade.tachiyomi.util.system.isPreviewBuildType -import eu.kanade.tachiyomi.util.system.toast import eu.kanade.tachiyomi.util.view.setComposeContent import exh.EXHMigrations import exh.debug.DebugToggles @@ -90,7 +85,6 @@ import exh.source.EH_SOURCE_ID import exh.source.EXH_SOURCE_ID import exh.syDebugVersion import kotlinx.coroutines.channels.awaitClose -import kotlinx.coroutines.delay import kotlinx.coroutines.flow.callbackFlow import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.flow.drop @@ -109,7 +103,6 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.util.LinkedList -import kotlin.time.Duration.Companion.seconds import androidx.compose.ui.graphics.Color.Companion as ComposeColor class MainActivity : BaseActivity() { @@ -232,10 +225,6 @@ class MainActivity : BaseActivity() { screen = HomeScreen, disposeBehavior = NavigatorDisposeBehavior(disposeNestedNavigators = false, disposeSteps = true), ) { navigator -> - if (navigator.size == 1) { - ConfirmExit() - } - LaunchedEffect(navigator) { this@MainActivity.navigator = navigator @@ -353,22 +342,6 @@ class MainActivity : BaseActivity() { } } - @Composable - private fun ConfirmExit() { - val scope = rememberCoroutineScope() - val confirmExit by preferences.confirmExit().collectAsState() - var waitingConfirmation by remember { mutableStateOf(false) } - BackHandler(enabled = !waitingConfirmation && confirmExit) { - scope.launch { - waitingConfirmation = true - val toast = toast(R.string.confirm_exit, Toast.LENGTH_LONG) - delay(2.seconds) - toast.cancel() - waitingConfirmation = false - } - } - } - @Composable fun HandleOnNewIntent(context: Context, navigator: Navigator) { LaunchedEffect(Unit) { diff --git a/core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt b/core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt index 5a1113250..8ac175fb5 100644 --- a/core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt +++ b/core/src/main/java/tachiyomi/core/util/system/ImageUtil.kt @@ -446,7 +446,7 @@ object ImageUtil { "$partCount parts @ ${optimalSplitHeight}px height per part" } - return mutableListOf().apply { + return buildList { val range = 0 until partCount for (index in range) { // Only continue if the list is empty or there is image remaining diff --git a/i18n/src/main/res/values/strings.xml b/i18n/src/main/res/values/strings.xml index 4ac1c2297..80fe3929d 100755 --- a/i18n/src/main/res/values/strings.xml +++ b/i18n/src/main/res/values/strings.xml @@ -206,7 +206,6 @@ Long (Short+, n days ago) Date format - Confirm exit Manage notifications App language