diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/settings/SettingsActivity.kt b/app/src/main/java/de/jrpie/android/launcher/ui/settings/SettingsActivity.kt index e46a956..fde61a7 100644 --- a/app/src/main/java/de/jrpie/android/launcher/ui/settings/SettingsActivity.kt +++ b/app/src/main/java/de/jrpie/android/launcher/ui/settings/SettingsActivity.kt @@ -16,6 +16,8 @@ import de.jrpie.android.launcher.R import de.jrpie.android.launcher.REQUEST_CHOOSE_APP import de.jrpie.android.launcher.databinding.SettingsBinding import de.jrpie.android.launcher.preferences.LauncherPreferences +import de.jrpie.android.launcher.preferences.theme.Background +import de.jrpie.android.launcher.preferences.theme.ColorTheme import de.jrpie.android.launcher.saveListActivityChoice import de.jrpie.android.launcher.ui.UIObject import de.jrpie.android.launcher.ui.settings.actions.SettingsFragmentActions @@ -33,8 +35,24 @@ import de.jrpie.android.launcher.ui.settings.meta.SettingsFragmentMeta */ class SettingsActivity : AppCompatActivity(), UIObject { - private var sharedPreferencesListener = + private val solidBackground = LauncherPreferences.theme().background() == Background.SOLID + || LauncherPreferences.theme().colorTheme() == ColorTheme.LIGHT + + private val sharedPreferencesListener = SharedPreferences.OnSharedPreferenceChangeListener { _, prefKey -> + if (solidBackground && + (prefKey == LauncherPreferences.theme().keys().background() || + prefKey == LauncherPreferences.theme().keys().colorTheme()) + ) { + // Switching from solid background to a transparent background using `recreate()` + // causes a very ugly glitch, making the settings unreadable. + // This ugly workaround causes a jump to the top of the list, but at least + // the text stays readable. + val i = Intent(this, SettingsActivity::class.java) + .also { it.putExtra("tab", 1) } + finish() + startActivity(i) + } else if (prefKey?.startsWith("theme.") == true || prefKey?.startsWith("display.") == true ) { @@ -59,6 +77,9 @@ class SettingsActivity : AppCompatActivity(), UIObject { val tabs: TabLayout = findViewById(R.id.settings_tabs) tabs.setupWithViewPager(viewPager) + if (intent.hasExtra("tab")) { + tabs.getTabAt(intent.getIntExtra("tab", 0))?.select() + } } override fun onStart() { diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 6a404eb..228d0f4 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -30,10 +30,10 @@ 2 dedos para esquerda Para direita 2 dedos para direita - Para direita (No topo) + Para direita (no topo) Para direita (em baixo) - Para esquerda (Em baixo) - Para esquerda (No topo) + Para esquerda (em baixo) + Para esquerda (no topo) Para cima (Borda esquerda) Para cima (Borda direita) Para baixo (Borda esquerda) @@ -164,7 +164,7 @@ Escolha um método de bloqueio Escolha um método de bloqueio da tela Configurações rápidas - Essa funcionalidade requer o Android 6.0 ou mais recente. + Essa funcionalidade requer o Android 6 ou mais recente. Nenhuma câmera com lanterna detectada. Erro: O bloqueio da tela via Serviço de acessibilidade não é compatível com este aparelho. Tente usar Administrador do dispositivo como método alternativo. Definindo µLauncher como Serviço de acessibilidade permite a ele bloquear a tela. Considere que é necessário conceder as permissões elevadas. Você nunca deveria autorizar essas permissões a qualquer aplicativo sem avaliação. O µLauncher usará o Serviço de acessibilidade somente para bloquear a tela. Você pode verificar o código-fonte para ter certeza. O bloqueio da tela também pode ser realizado dando ao µLauncher permissões de Administrador do dispositivo. Apesar de que esse método não funciona com impressão digital e desbloqueio facial. @@ -260,7 +260,7 @@ Licenças de código aberto Ocultar apps pausados Ativar o Espaço privado - Essa funcionalidade requer o Android 15.0 ou mais recente. + Essa funcionalidade requer o Android 15 ou mais recente. Espaço privado trancado Espaço privado liberado Espaço privado indisponível @@ -271,4 +271,7 @@ Criar relatório Relatar um bug Obrigado por ajudar a melhorar o µLauncher!\nConsidere adicionar as seguintes informações ao relatório de bug: + Toque no espaço para temporariamente desativar esta funcionalidade. + Não foi possível abrir a URL: nenhum navegador encontrado. + Nenhum app encontrado para efetuar a pesquisa. \ No newline at end of file diff --git a/app/src/main/res/values/donottranslate.xml b/app/src/main/res/values/donottranslate.xml index 6a28185..53aabad 100644 --- a/app/src/main/res/values/donottranslate.xml +++ b/app/src/main/res/values/donottranslate.xml @@ -154,7 +154,7 @@ - --> https://github.com/jrpie/Launcher - https://github.com/jrpie/Launcher/issues/new?template=bug_report.md + https://github.com/jrpie/Launcher/issues/new?template=bug_report.yaml https://github.com/jrpie/Launcher/security/policy https://s.jrpie.de/contact https://s.jrpie.de/android-legal diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 11a92fc..02d809e 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -78,10 +78,10 @@ @android:color/transparent true + @null diff --git a/fastlane/metadata/android/de-DE/title.txt b/fastlane/metadata/android/de-DE/title.txt new file mode 100644 index 0000000..4305604 --- /dev/null +++ b/fastlane/metadata/android/de-DE/title.txt @@ -0,0 +1 @@ +µLauncher