diff --git a/app/src/main/java/com/itsaky/androidide/preferences/generalPrefExts.kt b/app/src/main/java/com/itsaky/androidide/preferences/generalPrefExts.kt index bdd2c517ec..478d90edae 100644 --- a/app/src/main/java/com/itsaky/androidide/preferences/generalPrefExts.kt +++ b/app/src/main/java/com/itsaky/androidide/preferences/generalPrefExts.kt @@ -32,183 +32,163 @@ import kotlinx.parcelize.Parcelize @Parcelize class GeneralPreferencesScreen( - override val key: String = "idepref_general", - override val title: Int = string.title_general, - override val summary: Int? = string.idepref_general_summary, - override val children: List = mutableListOf() +override val key: String = "idepref_general", +override val title: Int = string.title_general, +override val summary: Int? = string.idepref_general_summary, +override val children: List = mutableListOf() ) : IPreferenceScreen() { - init { - addPreference(InterfaceConfig()) - addPreference(ProjectConfig()) - } +init { + addPreference(InterfaceConfig()) + addPreference(ProjectConfig()) +} } @Parcelize class InterfaceConfig( - override val key: String = "idepref_general_interface", - override val title: Int = string.title_interface, - override val children: List = mutableListOf(), +override val key: String = "idepref_general_interface", +override val title: Int = string.title_interface, +override val children: List = mutableListOf(), ) : IPreferenceGroup() { - init { - addPreference(UiMode()) - addPreference(LocaleSelector()) - } +init { + addPreference(UiMode()) + addPreference(LocaleSelector()) +} } @Parcelize class ProjectConfig( - override val key: String = "idepref_general_project", - override val title: Int = R.string.idepref_general_projectConfig, - override val children: List = mutableListOf(), +override val key: String = "idepref_general_project", +override val title: Int = R.string.idepref_general_projectConfig, +override val children: List = mutableListOf(), ) : IPreferenceGroup() { - init { - addPreference(OpenLastProject()) - addPreference(ConfirmProjectOpen()) - } +init { + addPreference(OpenLastProject()) + addPreference(ConfirmProjectOpen()) +} } @Parcelize class UiMode( - override val key: String = GeneralPreferences.UI_MODE, - override val title: Int = R.string.idepref_general_uiMode, - override val summary: Int? = R.string.idepref_general_uiMode_summary, - override val icon: Int? = R.drawable.ic_ui_mode +override val key: String = GeneralPreferences.UI_MODE, +override val title: Int = R.string.idepref_general_uiMode, +override val summary: Int? = R.string.idepref_general_uiMode_summary, +override val icon: Int? = R.drawable.ic_ui_mode ) : SingleChoicePreference() { - @IgnoredOnParcel - override val tooltipTag: String = PREFS_GENERAL +@IgnoredOnParcel +override val tooltipTag: String = PREFS_GENERAL - override fun getEntries(preference: Preference): Array { - val context = preference.context - val currentUiMode = GeneralPreferences.uiMode +override fun getEntries(preference: Preference): Array { + val context = preference.context + val currentUiMode = GeneralPreferences.uiMode - return Array(3) { index -> - val (label, mode) = when (index) { - 0 -> context.getString(R.string.uiMode_light) to AppCompatDelegate.MODE_NIGHT_NO - 1 -> context.getString(R.string.uiMode_dark) to AppCompatDelegate.MODE_NIGHT_YES - 2 -> context.getString(R.string.uiMode_system) to AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM - else -> throw IllegalStateException("Invalid index") - } + return Array(3) { index -> + val (label, mode) = when (index) { + 0 -> context.getString(R.string.uiMode_light) to AppCompatDelegate.MODE_NIGHT_NO + 1 -> context.getString(R.string.uiMode_dark) to AppCompatDelegate.MODE_NIGHT_YES + 2 -> context.getString(R.string.uiMode_system) to AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM + else -> throw IllegalStateException("Invalid index") + } - PreferenceChoices.Entry(label, currentUiMode == mode, mode) - } - } + PreferenceChoices.Entry(label, currentUiMode == mode, mode) + } +} - override fun onChoiceConfirmed( - preference: Preference, - entry: PreferenceChoices.Entry?, - position: Int - ) { - GeneralPreferences.uiMode = (entry?.data as? Int?) ?: AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM - } +override fun onChoiceConfirmed( + preference: Preference, + entry: PreferenceChoices.Entry?, + position: Int +) { + GeneralPreferences.uiMode = (entry?.data as? Int?) ?: AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM +} } @Parcelize class LocaleSelector( - override val key: String = GeneralPreferences.SELECTED_LOCALE, - override val title: Int = R.string.idepref_general_localeSelector_title, - override val summary: Int? = R.string.idepref_general_localeSelector_summary, - override val icon: Int? = R.drawable.ic_translate +override val key: String = GeneralPreferences.SELECTED_LOCALE, +override val title: Int = R.string.idepref_general_localeSelector_title, +override val summary: Int? = R.string.idepref_general_localeSelector_summary, +override val icon: Int? = R.drawable.ic_translate ) : SingleChoicePreference() { - @IgnoredOnParcel - override val tooltipTag: String = PREFS_GENERAL - - override fun getEntries(preference: Preference): Array { - val context = preference.context - val currentLocale = GeneralPreferences.selectedLocale - val supportedLocales = LocaleProvider.SUPPORTED_LOCALES.keys.toList() - return Array(supportedLocales.size + 1) { index -> - if (index == 0) { - PreferenceChoices.Entry( - label = ContextCompat.getString(context, R.string.locale_system_default), - _isChecked = GeneralPreferences.selectedLocale == null, - data = 0 - ) - } else { - val localeKey = supportedLocales[index - 1] - val locale = LocaleProvider.getLocale(localeKey)!! - PreferenceChoices.Entry( - label = locale.getDisplayName(locale), - _isChecked = currentLocale == localeKey, - data = localeKey - ) - } - } - } - - override fun onChoiceConfirmed( - preference: Preference, - entry: PreferenceChoices.Entry?, - position: Int - ) { - GeneralPreferences.selectedLocale = entry?.data?.let { localeKey -> - if (localeKey is Int) null else localeKey as String - } - } +@IgnoredOnParcel +override val tooltipTag: String = PREFS_GENERAL + +override fun getEntries(preference: Preference): Array { + val context = preference.context + val currentLocale = GeneralPreferences.selectedLocale + val supportedLocales = LocaleProvider.SUPPORTED_LOCALES.keys.toList() + return Array(supportedLocales.size + 1) { index -> + if (index == 0) { + PreferenceChoices.Entry( + label = ContextCompat.getString(context, R.string.locale_system_default), + _isChecked = GeneralPreferences.selectedLocale == null, + data = 0 + ) + } else { + val localeKey = supportedLocales[index - 1] + val locale = LocaleProvider.getLocale(localeKey)!! + PreferenceChoices.Entry( + label = locale.getDisplayName(locale), + _isChecked = currentLocale == localeKey, + data = localeKey + ) + } + } +} + +override fun onChoiceConfirmed( + preference: Preference, + entry: PreferenceChoices.Entry?, + position: Int +) { + GeneralPreferences.selectedLocale = entry?.data?.let { localeKey -> + if (localeKey is Int) null else localeKey as String + } +} } @Parcelize class OpenLastProject( - override val key: String = GeneralPreferences.OPEN_PROJECTS, - override val title: Int = string.title_open_projects, - override val summary: Int? = string.msg_open_projects, - override val icon: Int? = drawable.ic_open_project +override val key: String = GeneralPreferences.OPEN_PROJECTS, +override val title: Int = string.title_open_projects, +override val summary: Int? = string.msg_open_projects, +override val icon: Int? = drawable.ic_open_project ) : SwitchPreference() { - override fun onCreatePreference(context: Context): Preference { - val pref = super.onCreatePreference(context) as androidx.preference.SwitchPreference - pref.isChecked = GeneralPreferences.autoOpenProjects - return pref - } +override fun onCreatePreference(context: Context): Preference { + val pref = super.onCreatePreference(context) as androidx.preference.SwitchPreference + pref.isChecked = GeneralPreferences.autoOpenProjects + return pref +} - override fun onPreferenceChanged(preference: Preference, newValue: Any?): Boolean { - GeneralPreferences.autoOpenProjects = newValue as Boolean? - ?: GeneralPreferences.autoOpenProjects - return true - } +override fun onPreferenceChanged(preference: Preference, newValue: Any?): Boolean { + GeneralPreferences.autoOpenProjects = newValue as Boolean? + ?: GeneralPreferences.autoOpenProjects + return true +} } @Parcelize class ConfirmProjectOpen( - override val key: String = GeneralPreferences.CONFIRM_PROJECT_OPEN, - override val title: Int = string.title_confirm_project_open, - override val summary: Int? = string.msg_confirm_project_open, - override val icon: Int? = drawable.ic_open_project +override val key: String = GeneralPreferences.CONFIRM_PROJECT_OPEN, +override val title: Int = string.title_confirm_project_open, +override val summary: Int? = string.msg_confirm_project_open, +override val icon: Int? = drawable.ic_open_project ) : SwitchPreference() { - override fun onCreatePreference(context: Context): Preference { - val pref = super.onCreatePreference(context) as androidx.preference.SwitchPreference - pref.isChecked = GeneralPreferences.confirmProjectOpen - return pref - } - - override fun onPreferenceChanged(preference: Preference, newValue: Any?): Boolean { - GeneralPreferences.confirmProjectOpen = newValue as Boolean? - ?: GeneralPreferences.confirmProjectOpen - return true - } +override fun onCreatePreference(context: Context): Preference { + val pref = super.onCreatePreference(context) as androidx.preference.SwitchPreference + pref.isChecked = GeneralPreferences.confirmProjectOpen + return pref } -@Parcelize -class UseSytemShell( - override val key: String = GeneralPreferences.TERMINAL_USE_SYSTEM_SHELL, - override val title: Int = string.title_default_shell, - override val summary: Int? = string.msg_default_shell, - override val icon: Int? = drawable.ic_bash_commands -) : SwitchPreference() { - - override fun onCreatePreference(context: Context): Preference { - val pref = super.onCreatePreference(context) as androidx.preference.SwitchPreference - pref.isChecked = GeneralPreferences.useSystemShell - return pref - } - - override fun onPreferenceChanged(preference: Preference, newValue: Any?): Boolean { - GeneralPreferences.useSystemShell = newValue as Boolean? ?: GeneralPreferences.useSystemShell - return true - } +override fun onPreferenceChanged(preference: Preference, newValue: Any?): Boolean { + GeneralPreferences.confirmProjectOpen = newValue as Boolean? + ?: GeneralPreferences.confirmProjectOpen + return true +} } diff --git a/preferences/src/main/java/com/itsaky/androidide/preferences/internal/GeneralPreferences.kt b/preferences/src/main/java/com/itsaky/androidide/preferences/internal/GeneralPreferences.kt index 5db52dfbef..2b7e15fc90 100644 --- a/preferences/src/main/java/com/itsaky/androidide/preferences/internal/GeneralPreferences.kt +++ b/preferences/src/main/java/com/itsaky/androidide/preferences/internal/GeneralPreferences.kt @@ -31,7 +31,6 @@ object GeneralPreferences { const val SELECTED_LOCALE = "idpref_general_locale" const val OPEN_PROJECTS = "idepref_general_autoOpenProjects" const val CONFIRM_PROJECT_OPEN = "idepref_general_confirmProjectOpen" - const val TERMINAL_USE_SYSTEM_SHELL = "idepref_general_terminalShell" const val LAST_OPENED_PROJECT = "ide_last_project" const val LOGCAT_CAPTURE_ALL = "idepref_general_logcatCaptureAll" @@ -83,12 +82,6 @@ object GeneralPreferences { prefManager.putBoolean(CONFIRM_PROJECT_OPEN, value) } - var useSystemShell: Boolean - get() = prefManager.getBoolean(TERMINAL_USE_SYSTEM_SHELL, false) - set(value) { - prefManager.putBoolean(TERMINAL_USE_SYSTEM_SHELL, value) - } - var lastOpenedProject: String get() = prefManager.getString(LAST_OPENED_PROJECT, NO_OPENED_PROJECT)!! set(value) { diff --git a/resources/src/main/res/values-ar-rSA/strings.xml b/resources/src/main/res/values-ar-rSA/strings.xml index 36ed509f2f..8ea2474c6e 100644 --- a/resources/src/main/res/values-ar-rSA/strings.xml +++ b/resources/src/main/res/values-ar-rSA/strings.xml @@ -159,8 +159,6 @@ إذا تم تحديده، فسيتذكر IDE آخر مشروع تم فتحه وسيتم إعادة فتحه عند بدء التشغيل التالي. تأكيد فتح المشروع اسأل قبل فتح آخر مشروع مفتوح. - استخدام shell النظام في الـterminal - إذا تم تحديده، سيتم استخدام \'/system/bin/sh\' في التيرمنال. عام حجم التبويبة حدد عدد المسافات لـ TAB diff --git a/resources/src/main/res/values-bn-rIN/strings.xml b/resources/src/main/res/values-bn-rIN/strings.xml index fa5326e467..9824e54355 100644 --- a/resources/src/main/res/values-bn-rIN/strings.xml +++ b/resources/src/main/res/values-bn-rIN/strings.xml @@ -159,8 +159,6 @@ চেক করা থাকলে, IDE শেষ খোলা প্রকল্পটি মনে রাখবে এবং পরবর্তী স্টার্টআপে এটি পুনরায় খোলা হবে৷ প্রকল্প খোলার বিষয়টি নিশ্চিত করুন শেষ খোলা প্রকল্প খোলার আগে জিজ্ঞাসা করুন৷ - টার্মিনালে সিস্টেম শেল ব্যবহার করুন - চেক করা থাকলে, টার্মিনালে \'/system/bin/sh\' ব্যবহার করা হবে। সাধারণ ট্যাবের আকার TAB এর জন্য স্পেস সংখ্যা নির্দিষ্ট করুন diff --git a/resources/src/main/res/values-de-rDE/strings.xml b/resources/src/main/res/values-de-rDE/strings.xml index 0515c92c59..7c519e07f2 100644 --- a/resources/src/main/res/values-de-rDE/strings.xml +++ b/resources/src/main/res/values-de-rDE/strings.xml @@ -158,8 +158,6 @@ Wenn diese Option aktiviert ist, merkt sich die IDE das zuletzt geöffnete Projekt und öffnet dieses beim nächsten Start. Projekt öffnung bestätigen Vor dem Öffnen des zuletzt geöffneten Projekts nachfragen. - Verwenden Sie die System-Shell im Terminal - Wenn aktiviert, wird \'/system/bin/sh\' im Terminal verwendet. Allgemein Tab-Größe Geben Sie die Anzahl der Leerzeichen für TAB an diff --git a/resources/src/main/res/values-es-rES/strings.xml b/resources/src/main/res/values-es-rES/strings.xml index 4cd2bf7775..5a279dd0d1 100644 --- a/resources/src/main/res/values-es-rES/strings.xml +++ b/resources/src/main/res/values-es-rES/strings.xml @@ -159,8 +159,6 @@ Si está marcado, el IDE recordará el último proyecto abierto y volverá a abrirse en el próximo arranque. Confirmar apertura del proyecto Preguntar antes de abrir el último proyecto abierto. - Use system shell in terminal - Si está marcado, se utilizará \'/system/bin/sh\' en el terminal. General Tamaño de la pestaña Especificar el número de espacios para la TAB diff --git a/resources/src/main/res/values-fr-rFR/strings.xml b/resources/src/main/res/values-fr-rFR/strings.xml index 4758a6bf70..59d5c68c5a 100644 --- a/resources/src/main/res/values-fr-rFR/strings.xml +++ b/resources/src/main/res/values-fr-rFR/strings.xml @@ -160,8 +160,6 @@ Dernier projet ouvert : \n%s Si il est activé, l\'IDE se rappelera du dernier projet ouvert et l\'ouvrira au prochain démarrage de l\'application Confirmer l\'ouverture du projet Demander avant d\'ouvrir le dernier projet ouvert - Utiliser le système Shell dans le terminal - Si il est activer, \'/system/bin/sh\' sera utilisé dans le terminal. Général Taille de l\'onglet Spécifier la taille de l\'onglet diff --git a/resources/src/main/res/values-hi-rIN/strings.xml b/resources/src/main/res/values-hi-rIN/strings.xml index 1680217779..4dea3e7bf7 100644 --- a/resources/src/main/res/values-hi-rIN/strings.xml +++ b/resources/src/main/res/values-hi-rIN/strings.xml @@ -158,8 +158,6 @@ यदि चेक किया गया है, तो आईडीई पिछले खुले हुए प्रोजेक्ट को याद रखेगा और इसे अगले स्टार्टअप पर फिर से खोल दिया जाएगा। प्रोजेक्ट के खोलने की पुष्टि करें अंतिम खुली प्रोजेक्ट को खोलने से पहले पूछें। - टर्मिनल में सिस्टम शेल का उपयोग करें - यदि चेक किया गया है, तो टर्मिनल में \'/system/bin/sh\' का उपयोग किया जाएगा। जनरल टैब साइज टैब के लिए स्पेसेस की संख्या निर्दिष्ट करें diff --git a/resources/src/main/res/values-in-rID/strings.xml b/resources/src/main/res/values-in-rID/strings.xml index 5a4bd3e069..fcc01cf432 100644 --- a/resources/src/main/res/values-in-rID/strings.xml +++ b/resources/src/main/res/values-in-rID/strings.xml @@ -318,8 +318,6 @@ Konfirmasi pembukaan proyek Jika diaktifkan, Code on the Go akan meminta konfirmasi sebelum membuka proyek terakhir. Terjadi kesalahan saat membuka proyek. - Gunakan shell sistem di terminal - Jika dicentang, \'/system/bin/sh\' akan digunakan di terminal. Umum Ukuran tab Atur jumlah spasi yang digunakan oleh karakter tab untuk indentasi. diff --git a/resources/src/main/res/values-pt-rBR/strings.xml b/resources/src/main/res/values-pt-rBR/strings.xml index 9b1131b50b..05d34a5447 100644 --- a/resources/src/main/res/values-pt-rBR/strings.xml +++ b/resources/src/main/res/values-pt-rBR/strings.xml @@ -159,8 +159,6 @@ Se habilitado, a IDE se lembrará do último projeto aberto e será reaberto na próxima vez. Confirmar abertura do projeto Perguntar antes de abrir o último projeto aberto. - Usar shell do sistema no terminal - Se habilitado, \'/system/bin/sh\' será usado no terminal. Geral Tamanho da tabulação Especifique o número de espaços para o TAB diff --git a/resources/src/main/res/values-ro-rRO/strings.xml b/resources/src/main/res/values-ro-rRO/strings.xml index e8abc836ef..2e68bb0eac 100644 --- a/resources/src/main/res/values-ro-rRO/strings.xml +++ b/resources/src/main/res/values-ro-rRO/strings.xml @@ -159,8 +159,6 @@ Dacă este activat, IDE va preântâmpina despre ultimul proiect deschis și va fi redeschis la următoarea pornire. Confirmați deschiderea proiectului Întrebați înainte de a deschide ultimul proiect deschis. - Utilizați shell-ul sistemului în terminal - Dacă este activat, \'/system/bin/sh\' va fi utilizat în terminal. General Mărime Tab Specificarea numărului de spații pentru TAB diff --git a/resources/src/main/res/values-ru-rRU/strings.xml b/resources/src/main/res/values-ru-rRU/strings.xml index b8c0798af1..78f265d4c5 100644 --- a/resources/src/main/res/values-ru-rRU/strings.xml +++ b/resources/src/main/res/values-ru-rRU/strings.xml @@ -157,8 +157,6 @@ Если включено, IDE будет запоминать последний открытый проект и открывать его при последующих запусках Подтверждение открытия проекта Спрашивать перед открытием последнего проекта. - Использовать системный shell в терминале - Если включено, \'/system/bin/sh\' будет использовано в терминале. Основное Размер TAB Укажите, сколько пробелов будет напечатано при нажатии TAB. diff --git a/resources/src/main/res/values-tr-rTR/strings.xml b/resources/src/main/res/values-tr-rTR/strings.xml index bcafea2fb8..2cd1cac2db 100644 --- a/resources/src/main/res/values-tr-rTR/strings.xml +++ b/resources/src/main/res/values-tr-rTR/strings.xml @@ -159,8 +159,6 @@ Eğer etkinleştirilirse, IDE en son açılan projeyi hatırlayacak ve diğer başlatmada tekrar açılacak. Projenin açılmasını onayla Son projeyi açmadan önce sor. - Terminalde sistem kabuğunu kullan - Eğer etkinleştirilirse, \'/system/bin/sh\' terminalde kullanılacak. Genel Boşluk boyutu TAB için boşluk sayısını ayarla diff --git a/resources/src/main/res/values-zh-rCN/strings.xml b/resources/src/main/res/values-zh-rCN/strings.xml index 75cefcdf1e..494c564c4e 100644 --- a/resources/src/main/res/values-zh-rCN/strings.xml +++ b/resources/src/main/res/values-zh-rCN/strings.xml @@ -331,8 +331,6 @@ 确认打开项目 启用后,Code on the Go 在打开上次的项目前会要求确认 打开项目时出错 - 在终端中使用系统 Shell - 如果选中,终端将使用 \'/system/bin/sh\' 通用 制表符大小 设置 Tab 键缩进的空格数 diff --git a/resources/src/main/res/values/strings.xml b/resources/src/main/res/values/strings.xml index 33f210b86b..b8e7660fef 100644 --- a/resources/src/main/res/values/strings.xml +++ b/resources/src/main/res/values/strings.xml @@ -331,8 +331,6 @@ Confirm project opening When enabled, Code on the Go asks for confirmation before opening the last project. Error opening project. - Use system shell in terminal - If checked, \'/system/bin/sh\' will be used in terminal. General Tab size Set the number of spaces that the tab character indents.