diff --git a/app/src/main/java/com/cherret/zaprett/ui/screen/DebugScreen.kt b/app/src/main/java/com/cherret/zaprett/ui/screen/DebugScreen.kt
index 87f13c5..88a81a3 100644
--- a/app/src/main/java/com/cherret/zaprett/ui/screen/DebugScreen.kt
+++ b/app/src/main/java/com/cherret/zaprett/ui/screen/DebugScreen.kt
@@ -1,5 +1,6 @@
package com.cherret.zaprett.ui.screen
+import android.app.Activity
import android.content.Context
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.PaddingValues
@@ -11,6 +12,7 @@ import androidx.compose.foundation.lazy.items
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material.icons.filled.MoreVert
+import androidx.compose.material3.AlertDialog
import androidx.compose.material3.DropdownMenu
import androidx.compose.material3.DropdownMenuItem
import androidx.compose.material3.ExperimentalMaterial3Api
@@ -18,6 +20,7 @@ import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
+import androidx.compose.material3.TextButton
import androidx.compose.material3.TopAppBar
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
@@ -48,6 +51,7 @@ fun DebugScreen(navController: NavController) {
val editor = remember { sharedPreferences.edit() }
val showUpdateUrlDialog = remember { mutableStateOf(false) }
val textDialogValue = remember { mutableStateOf("") }
+ val showResetSettingsDialog = remember { mutableStateOf(false) }
val settingsList = listOf(
Setting.Action(
title = stringResource(R.string.btn_update_repository_url),
@@ -56,6 +60,12 @@ fun DebugScreen(navController: NavController) {
showUpdateUrlDialog.value = true
}
),
+ Setting.Action(
+ title = stringResource(R.string.reset_settings_title),
+ onClick = {
+ showResetSettingsDialog.value = true
+ }
+ )
)
Scaffold(
topBar = {
@@ -115,4 +125,31 @@ fun DebugScreen(navController: NavController) {
editor.putString("update_repo_url", it).apply()
}, onDismiss = { showUpdateUrlDialog.value = false })
}
+
+ if (showResetSettingsDialog.value) {
+ AlertDialog(title = { Text(text = stringResource(R.string.reset_settings_title)) },
+ text = { Text(text = stringResource(R.string.reset_settings_message)) },
+ onDismissRequest = {
+ showResetSettingsDialog.value = false
+ },
+ dismissButton = {
+ TextButton(onClick = {
+ showResetSettingsDialog.value = false
+ }) {
+ Text(stringResource(R.string.btn_dismiss))
+ }
+ },
+ confirmButton = {
+ TextButton(onClick = {
+ context.deleteSharedPreferences("settings")
+ showResetSettingsDialog.value = false
+ val activity = context as Activity
+ val intent = activity.intent
+ activity.finish()
+ activity.startActivity(intent)
+ }) {
+ Text(text = stringResource(R.string.btn_continue))
+ }
+ })
+ }
}
\ No newline at end of file
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index 691ea57..d085560 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -118,4 +118,6 @@
Не обнаружено активных списков хостов, включите один или несколько, иначе подбор не сработает
Доступные домены
Нет разрешения на доступ к файлам
+ Сброс настроек
+ ВЫ действительно хотите сбросить настройки?
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3f055c3..8df5695 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -123,4 +123,6 @@
No active host lists found, please enable one or more, otherwise the selection will not work
Available domains
Missing permission to access files
+ Reset settings
+ Are you sure you want to reset the settings?
\ No newline at end of file