mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-10-30 22:07:57 +01:00 
			
		
		
		
	Remove confirm exit option
Redundant with predictive back, but also just sort of pointless since it doesn't help with any sort of app state retention.
This commit is contained in:
		| @@ -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) | ||||
|   | ||||
| @@ -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.presentation.more.settings.Preference | ||||
| import eu.kanade.tachiyomi.R | ||||
| import eu.kanade.tachiyomi.util.system.LocaleHelper | ||||
| @@ -34,9 +33,13 @@ object SettingsGeneralScreen : SearchableSettings { | ||||
|  | ||||
|     @Composable | ||||
|     override fun getPreferences(): List<Preference> { | ||||
|         val prefs = remember { Injekt.get<BasePreferences>() } | ||||
|         val libraryPrefs = remember { Injekt.get<LibraryPreferences>() } | ||||
|         return mutableListOf<Preference>().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(), | ||||
| @@ -44,14 +47,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( | ||||
| @@ -66,8 +61,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, | ||||
|   | ||||
| @@ -9,9 +9,7 @@ import android.graphics.Color | ||||
| import android.os.Build | ||||
| import android.os.Bundle | ||||
| 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 | ||||
| @@ -32,7 +30,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 | ||||
| @@ -80,10 +77,8 @@ 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.openInBrowser | ||||
| import eu.kanade.tachiyomi.util.system.toast | ||||
| import eu.kanade.tachiyomi.util.view.setComposeContent | ||||
| import kotlinx.coroutines.channels.awaitClose | ||||
| import kotlinx.coroutines.delay | ||||
| import kotlinx.coroutines.flow.callbackFlow | ||||
| import kotlinx.coroutines.flow.collectLatest | ||||
| import kotlinx.coroutines.flow.drop | ||||
| @@ -100,7 +95,6 @@ import tachiyomi.presentation.core.components.material.Scaffold | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import uy.kohesive.injekt.injectLazy | ||||
| import kotlin.time.Duration.Companion.seconds | ||||
| import androidx.compose.ui.graphics.Color.Companion as ComposeColor | ||||
|  | ||||
| class MainActivity : BaseActivity() { | ||||
| @@ -192,10 +186,6 @@ class MainActivity : BaseActivity() { | ||||
|                 screen = HomeScreen, | ||||
|                 disposeBehavior = NavigatorDisposeBehavior(disposeNestedNavigators = false, disposeSteps = true), | ||||
|             ) { navigator -> | ||||
|                 if (navigator.size == 1) { | ||||
|                     ConfirmExit() | ||||
|                 } | ||||
|  | ||||
|                 LaunchedEffect(navigator) { | ||||
|                     this@MainActivity.navigator = navigator | ||||
|  | ||||
| @@ -288,22 +278,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) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user