From 06ed4363a5d8f86160db731c2bbede0a1c3bdcf6 Mon Sep 17 00:00:00 2001 From: Nicola Bortoletto Date: Tue, 4 Feb 2025 07:12:41 +0000 Subject: [PATCH 01/23] Translated using Weblate (Italian) Currently translated at 98.1% (214 of 218 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/it/ --- app/src/main/res/values-it/strings.xml | 54 ++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 8 deletions(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index afc92da..06555b0 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -4,7 +4,7 @@ Aspetto Scegliere l\'applicazione Tema - Questo launcher è progettato per essere minimale, efficiente e privo di distrazioni.\n\nNon contiene pagamenti, pubblicità o servizi di tracciamento. + Questo launcher è progettato per essere minimale, efficiente e privo di distrazioni. Non contiene pagamenti, pubblicità o servizi di tracciamento. Predefinito Non mostrare applicazioni collegate a gesti nella lista delle app Testo @@ -45,11 +45,11 @@ Scorri verso il basso con due dita Sinistra Scorrere verso sinistra - Doppio a sinistra + Due dita verso sinistra Scorrere verso sinistra con due dita Destra Scorri verso destra - Doppio a destra + Due dita verso destra Scorri a destra con due dita Destra (in alto) Scorri verso destra sul bordo superiore dello schermo @@ -125,12 +125,12 @@ Abbiamo impostato alcune app predefinite per te. Puoi modificarle ora se lo desideri: Puoi anche cambiare la tua selezione in seguito. Iniziamo! - Sei pronto per iniziare!\n\nSpero questa applicazione ti risulti preziosa!\n\n- Finn (che ha ideato il launcher)\n\t e Josia (che ha aggiunto qualche miglioramento e mantiene il fork μLauncher) + Sei pronto per iniziare! Spero questa applicazione ti risulti preziosa! - Finn (che ha ideato il launcher) \te Josia (che ha aggiunto qualche miglioramento e mantiene il fork μLauncher) Inizia Impostazioni Altre opzioni Puoi aprire le tue app facendo scorrere il dito sullo schermo o premendo un pulsante. Configura i gesti nella prossima slide. - Errore: impossibile espandere la barra di stato.\nQuesta azione utilizza funzionalità non incluse nelle API Android pubbliche. Sfortunatamente, non sembra funzionare sul tuo dispositivo. + Errore: impossibile espandere la barra di stato. Questa azione utilizza funzionalità non incluse nelle API Android pubbliche. Sfortunatamente, non sembra funzionare sul tuo dispositivo. Applicazione nascosta. Puoi renderla nuovamente visibile nelle impostazioni. µLauncher deve essere autorizzato come amministratore del dispositivo per bloccare lo schermo. Abilita il blocco dello schermo @@ -182,7 +182,7 @@ Mostra Rinomina Le applicazioni selezionate sono state rimosse - Cerca tra le applicazioni + Cerca Impostazioni μLauncher Espandi il pannello notifiche Non fare niente @@ -191,11 +191,49 @@ Tutorial Prenditi qualche secondo per imparare ad usare questo launcher! Concetto - L\'app è open source (sotto licenza MIT) e disponibile su GitHub!\n\nVisita il nostro archivio! + L\'app è open source (sotto licenza MIT) e disponibile su GitHub! Visita il nostro archivio! Utilizzo La schermata principale contiene solo data e ora. Nessuna distrazione. - Questa funzione richiede Android 6.0 o successivi. + Questa funzione richiede Android 6 o successivi. Ok Rinomina %1$s Impossibile rimuovere l\'applicazione + Dinamico + Colore + Due dita verso l\'alto + Sono consapevole che questo concederà privilegi estesi a µLauncher. + Accetto che µLauncher utilizzi il servizio di accessibilità per fornire funzionalità non correlate all\'accessibilità. + Accetto che µLauncher non raccolga alcun dato. + Nascondi le app in pausa + Attiva/Disattiva Blocco Spazio Privato + Questa funzionalità richiede Android 15 o successivi. + Rosso + Trasparente + Blu + Verde + Ok + Colore + Scegli colore + Attiva Servizi di Accessibilità + Sono consapevole che esistono altre opzioni (utilizzando i privilegi di amministratore del dispositivo o il pulsante di accensione). + Attivazione dei Servizi di Accessibilità + Cerca su internet + Premi invio durante la ricerca nell\'elenco delle app per avviare una ricerca su internet. + Cerca (senza avvio automatico) + Licenze Open Source + Licenze Open Source + Segnala un bug + Grazie per aver contribuito a migliorare µLauncher!\nSi prega di aggiungere le seguenti informazioni alla segnalazione del bug: + Copia negli appunti + Non segnalare pubblicamente le vulnerabilità di sicurezza su GitHub, ma utilizza invece: + Annulla + Premi spazio per disabilitare temporaneamente questa funzionalità. + Segnala una vulnerabilità di sicurezza + Crea una segnalazione + Spazio privato bloccato + Spazio privato sbloccato + Spazio privato non disponibile + µLauncher deve essere la schermata iniziale predefinita per accedere allo spazio privato. + Impossibile aprire l\'URL: nessun browser trovato. + Non è stata trovata un\'applicazione per gestire la ricerca. \ No newline at end of file From c81e3d631865b6956a8d9d98f388fdf16edd4595 Mon Sep 17 00:00:00 2001 From: Xanadul Date: Wed, 5 Feb 2025 10:11:17 +0000 Subject: [PATCH 02/23] Translated using Weblate (German) Currently translated at 13.3% (2 of 15 strings) Translation: jrpie-Launcher/metadata Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/metadata/de/ --- fastlane/metadata/android/de-DE/title.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/de-DE/title.txt 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 From 2d1c69eea76931e319463f6266628825b0451ba8 Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Wed, 5 Feb 2025 16:39:04 +0000 Subject: [PATCH 03/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (218 of 218 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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 From 07f5c3ae45dccc9613b97ac1d74f8372b3ae2ad8 Mon Sep 17 00:00:00 2001 From: Nicola Bortoletto Date: Thu, 6 Feb 2025 12:57:53 +0000 Subject: [PATCH 04/23] Translated using Weblate (Italian) Currently translated at 99.0% (216 of 218 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/it/ --- app/src/main/res/values-it/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 06555b0..320bfc6 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -125,7 +125,7 @@ Abbiamo impostato alcune app predefinite per te. Puoi modificarle ora se lo desideri: Puoi anche cambiare la tua selezione in seguito. Iniziamo! - Sei pronto per iniziare! Spero questa applicazione ti risulti preziosa! - Finn (che ha ideato il launcher) \te Josia (che ha aggiunto qualche miglioramento e mantiene il fork μLauncher) + Sei pronto per iniziare! Spero questa applicazione ti risulti preziosa! - Finn (che ha ideato il launcher)\n \te Josia (che ha aggiunto qualche miglioramento e mantiene il fork μLauncher) Inizia Impostazioni Altre opzioni @@ -236,4 +236,5 @@ µLauncher deve essere la schermata iniziale predefinita per accedere allo spazio privato. Impossibile aprire l\'URL: nessun browser trovato. Non è stata trovata un\'applicazione per gestire la ricerca. + privilegi più ampi a µLauncher.
µLauncher utilizzerà questi privilegi solo per bloccare lo schermo. µLauncher non raccoglierà mai alcun dato. In particolare, µLauncher non usa il servizio di accessibilità per raccogliere nessun dato.]]>
\ No newline at end of file From 645bf6cb9d601919c893972fd9245f6b3b245fe8 Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Fri, 7 Feb 2025 13:36:03 +0000 Subject: [PATCH 05/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (220 of 220 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 228d0f4..0ec4a32 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -274,4 +274,6 @@ 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. + Voltar + Botão Voltar / gesto de Voltar \ No newline at end of file From a8fc7bee9721d098f64741cfb23c9e36d4c3f236 Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Fri, 7 Feb 2025 13:35:02 +0000 Subject: [PATCH 06/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 20.0% (3 of 15 strings) Translation: jrpie-Launcher/metadata Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/metadata/pt_BR/ --- .../android/pt-BR/full_description.txt | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/fastlane/metadata/android/pt-BR/full_description.txt b/fastlane/metadata/android/pt-BR/full_description.txt index b3bfbce..e976080 100644 --- a/fastlane/metadata/android/pt-BR/full_description.txt +++ b/fastlane/metadata/android/pt-BR/full_description.txt @@ -1,23 +1,23 @@ -O µLauncher é uma tela inicial que permite abrir aplicativos através gestos de deslize e botões físicos. +O µLauncher é uma tela inicial que permite abrir apps através de gestos e botões físicos. O launcher é minimalista, eficiente e livre de distrações. -Sua tela inicial exibe apenas a data, hora e papel de parede. +A tela inicial mostra apenas a data, hora e papel de parede. -Ao usar Voltar ou deslize para cima (pode ser configurado depois) você abre a lista -com todos os aplicativos instalados, que podem ser encontrados rápido. +Ao usar botão Voltar ou gesto pra cima (pode ser redefinido depois) +você abre com facilidade e rapidez a lista com todos os apps instalados. -Esta é uma modificação do app Launcher -feita por Finn M Glas. +O app é uma modificação do Launcher +feito por Finn M Glas. Funcionalidades: * Você pode associar várias ações a 22 gestos diferentes. -* Também pode definir algumas das seguintes acções: - - Iniciar algum app +* Pode definir algumas das seguintes ações: + - Iniciar vários apps - Listar todos aplicativos - Listar apps favoritos - Aumentar / diminuir o volume - - Música: faixa anterior / seguinte + - Música: passar pra faixa anterior / seguinte - Bloquear a tela - Ligar a lanterna - Mostrar notificações / configurações rápidas -* Compatível com Perfil de trabalho, desta forma apps como Shelter podem ser usados. +* App é compatível com Perfil de trabalho e pode ser usado com apps tipo Shelter. From 44e2075774b975adc014d370b590618f059c2896 Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Sun, 9 Feb 2025 15:23:17 +0000 Subject: [PATCH 07/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (220 of 220 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 0ec4a32..fef6043 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -34,10 +34,10 @@ Para direita (em baixo) Para esquerda (em baixo) Para esquerda (no topo) - Para cima (Borda esquerda) - Para cima (Borda direita) - Para baixo (Borda esquerda) - Para baixo (Borda direita) + Para cima (borda esquerda) + Para cima (borda direita) + Para baixo (borda esquerda) + Para baixo (borda direita) Aumento de volume Diminuição de volume Toque duplo @@ -62,7 +62,7 @@ Mostrar Data Use formato de data localizado Inverter data e hora - Escolha um papel de parede + Escolha papel de parede Alterar papel de parede Exibição Manter a tela ligada @@ -121,11 +121,11 @@ O Launcher foi criado para ser minimalista, eficiente e livre de distrações. Ele é livre de pagamentos, anúncios e serviços de rastreamento. O app é de código aberto (licença MIT) e está disponível no GitHub! Não deixe de conferir o repositório! Uso - Sua tela inicial contém a data e hora local. Sem distração. - Você pode iniciar seus aplicativos com um toque único ou pressionando um botão. Escolha algumas ações no próximo slide. + Sua tela inicial contém a data e hora local. Sem distrações. + Você pode iniciar seus aplicativos com um gesto único ou apertando um botão. Escolha algumas ações no próximo slide. Configurar Selecionamos alguns aplicativos padrão para você. Se quiser, você pode alterá-los agora: - Você também pode alterar suas escolhas mais tarde. + Você pode alterar suas escolhas mais tarde. Vamos lá! Tá todo pronto para começar! Espero que isso seja de grande valor para você! - Finn (que criou o Launcher) \te Josia (que fez algumas melhorias e tb mantém o fork do μLauncher) Começar @@ -162,7 +162,7 @@ Usar o Serviço de acessibilidade Usar o Administrador do dispositivo Escolha um método de bloqueio - Escolha um método de bloqueio da tela + Escolha método de bloqueio da tela Configurações rápidas Essa funcionalidade requer o Android 6 ou mais recente. Nenhuma câmera com lanterna detectada. From 826c832cea1d76c8005f60f41573735e8b7c49bc Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Tue, 11 Feb 2025 21:14:28 +0000 Subject: [PATCH 08/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (225 of 225 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index fef6043..0dd41ed 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -276,4 +276,9 @@ Nenhum app encontrado para efetuar a pesquisa. Voltar Botão Voltar / gesto de Voltar + Ocultar espaço privado na lista de apps + Espaço privado + Espaço privado + Trancar espaço privado + Liberar espaço privado \ No newline at end of file From cd578366413f6abf826bfed4f95d4ee672996b3b Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Tue, 11 Feb 2025 21:19:15 +0000 Subject: [PATCH 09/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 26.6% (4 of 15 strings) Translation: jrpie-Launcher/metadata Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/metadata/pt_BR/ --- fastlane/metadata/android/pt-BR/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/pt-BR/short_description.txt b/fastlane/metadata/android/pt-BR/short_description.txt index e1c50b5..1fa66b5 100644 --- a/fastlane/metadata/android/pt-BR/short_description.txt +++ b/fastlane/metadata/android/pt-BR/short_description.txt @@ -1 +1 @@ -Uma tela inicial minimalista e sem distrações para Android. +Tela inicial minimalista e sem distrações para Android. From 0c0d90a35749cec150917c4167514b8097b32afc Mon Sep 17 00:00:00 2001 From: Josia Pietsch Date: Sat, 15 Feb 2025 03:08:18 +0100 Subject: [PATCH 10/23] improve gesture detection --- .../jrpie/android/launcher/ui/HomeActivity.kt | 144 ++----------- .../launcher/ui/TouchGestureDetector.kt | 199 ++++++++++++++++++ 2 files changed, 219 insertions(+), 124 deletions(-) create mode 100644 app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/HomeActivity.kt b/app/src/main/java/de/jrpie/android/launcher/ui/HomeActivity.kt index b41eff3..973e0ca 100644 --- a/app/src/main/java/de/jrpie/android/launcher/ui/HomeActivity.kt +++ b/app/src/main/java/de/jrpie/android/launcher/ui/HomeActivity.kt @@ -6,14 +6,11 @@ import android.content.res.Resources import android.os.Build import android.os.Bundle import android.util.DisplayMetrics -import android.view.GestureDetector import android.view.KeyEvent import android.view.MotionEvent import android.view.View -import android.view.ViewConfiguration import android.window.OnBackInvokedDispatcher import androidx.appcompat.app.AppCompatActivity -import androidx.core.view.GestureDetectorCompat import androidx.core.view.isVisible import de.jrpie.android.launcher.R import de.jrpie.android.launcher.actions.Action @@ -23,13 +20,6 @@ import de.jrpie.android.launcher.databinding.HomeBinding import de.jrpie.android.launcher.preferences.LauncherPreferences import de.jrpie.android.launcher.ui.tutorial.TutorialActivity import java.util.Locale -import java.util.Timer -import kotlin.concurrent.fixedRateTimer -import kotlin.math.abs -import kotlin.math.max -import kotlin.math.min -import kotlin.math.tan - /** * [HomeActivity] is the actual application Launcher, @@ -43,10 +33,10 @@ import kotlin.math.tan * - Setting global variables (preferences etc.) * - Opening the [TutorialActivity] on new installations */ -class HomeActivity : UIObject, AppCompatActivity(), - GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener { +class HomeActivity : UIObject, AppCompatActivity() { private lateinit var binding: HomeBinding + private lateinit var touchGestureDetector: TouchGestureDetector private var sharedPreferencesListener = SharedPreferences.OnSharedPreferenceChangeListener { _, prefKey -> @@ -61,22 +51,29 @@ class HomeActivity : UIObject, AppCompatActivity(), } } - private var edgeWidth = 0.15f - - private var bufferedPointerCount = 1 // how many fingers on screen - private var pointerBufferTimer = Timer() - - private lateinit var mDetector: GestureDetectorCompat - - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) super.onCreate() + + val displayMetrics = DisplayMetrics() + windowManager.defaultDisplay.getMetrics(displayMetrics) + + val width = displayMetrics.widthPixels + val height = displayMetrics.heightPixels + + touchGestureDetector = TouchGestureDetector( + this, + width, + height, + LauncherPreferences.enabled_gestures().edgeSwipeEdgeWidth() / 100f + ) + // Initialise layout binding = HomeBinding.inflate(layoutInflater) setContentView(binding.root) + // Handle back key / gesture on Android 13+, cf. onKeyDown() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { onBackInvokedDispatcher.registerOnBackInvokedCallback( @@ -95,9 +92,6 @@ class HomeActivity : UIObject, AppCompatActivity(), override fun onStart() { super.onStart() - mDetector = GestureDetectorCompat(this, this) - mDetector.setOnDoubleTapListener(this) - super.onStart() LauncherPreferences.getSharedPreferences() @@ -172,7 +166,8 @@ class HomeActivity : UIObject, AppCompatActivity(), override fun onResume() { super.onResume() - edgeWidth = LauncherPreferences.enabled_gestures().edgeSwipeEdgeWidth() / 100f + touchGestureDetector.edgeWidth = + LauncherPreferences.enabled_gestures().edgeSwipeEdgeWidth() / 100f initClock() updateSettingsFallbackButtonVisibility() @@ -211,95 +206,8 @@ class HomeActivity : UIObject, AppCompatActivity(), return true } - override fun onFling(e1: MotionEvent?, e2: MotionEvent, dX: Float, dY: Float): Boolean { - - if (e1 == null) return false - - - val displayMetrics = DisplayMetrics() - windowManager.defaultDisplay.getMetrics(displayMetrics) - - val width = displayMetrics.widthPixels - val height = displayMetrics.heightPixels - - val diffX = e1.x - e2.x - val diffY = e1.y - e2.y - - val doubleActions = LauncherPreferences.enabled_gestures().doubleSwipe() - val edgeActions = LauncherPreferences.enabled_gestures().edgeSwipe() - - val threshold = ViewConfiguration.get(this).scaledTouchSlop - val angularThreshold = tan(Math.PI / 6) - - var gesture = if (angularThreshold * abs(diffX) > abs(diffY)) { // horizontal swipe - if (diffX > threshold) - Gesture.SWIPE_LEFT - else if (diffX < -threshold) - Gesture.SWIPE_RIGHT - else null - } else if (angularThreshold * abs(diffY) > abs(diffX)) { // vertical swipe - // Only open if the swipe was not from the phones top edge - // TODO: replace 100px by sensible dp value (e.g. twice the height of the status bar) - if (diffY < -threshold && e1.y > 100) - Gesture.SWIPE_DOWN - else if (diffY > threshold) - Gesture.SWIPE_UP - else null - } else null - - if (doubleActions && bufferedPointerCount > 1) { - gesture = gesture?.let(Gesture::getDoubleVariant) - } - - if (edgeActions) { - if (max(e1.x, e2.x) < edgeWidth * width) { - gesture = gesture?.getEdgeVariant(Gesture.Edge.LEFT) - } else if (min(e1.x, e2.x) > (1 - edgeWidth) * width) { - gesture = gesture?.getEdgeVariant(Gesture.Edge.RIGHT) - } - - if (max(e1.y, e2.y) < edgeWidth * height) { - gesture = gesture?.getEdgeVariant(Gesture.Edge.TOP) - } else if (min(e1.y, e2.y) > (1 - edgeWidth) * height) { - gesture = gesture?.getEdgeVariant(Gesture.Edge.BOTTOM) - } - } - gesture?.invoke(this) - - return true - } - - override fun onLongPress(event: MotionEvent) { - Gesture.LONG_CLICK(this) - } - - override fun onDoubleTap(event: MotionEvent): Boolean { - Gesture.DOUBLE_CLICK(this) - return false - } - - // Tooltip - override fun onSingleTapConfirmed(event: MotionEvent): Boolean { - - return false - } - override fun onTouchEvent(event: MotionEvent): Boolean { - - // Buffer / Debounce the pointer count - if (event.pointerCount > bufferedPointerCount) { - bufferedPointerCount = event.pointerCount - pointerBufferTimer = fixedRateTimer("pointerBufferTimer", true, 300, 1000) { - bufferedPointerCount = 1 - this.cancel() // a non-recurring timer - } - } - - return if (mDetector.onTouchEvent(event)) { - false - } else { - super.onTouchEvent(event) - } + return touchGestureDetector.onTouchEvent(event) || super.onTouchEvent(event) } override fun setOnClicks() { @@ -329,16 +237,4 @@ class HomeActivity : UIObject, AppCompatActivity(), override fun isHomeScreen(): Boolean { return true } - - - /* TODO: Remove those. For now they are necessary - * because this inherits from GestureDetector.OnGestureListener */ - override fun onDoubleTapEvent(event: MotionEvent): Boolean { return false } - override fun onDown(event: MotionEvent): Boolean { return false } - override fun onScroll(e1: MotionEvent?, e2: MotionEvent, dX: Float, dY: Float): Boolean { return false } - override fun onShowPress(event: MotionEvent) {} - override fun onSingleTapUp(event: MotionEvent): Boolean { return false } - - - } diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt b/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt new file mode 100644 index 0000000..6a462e9 --- /dev/null +++ b/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt @@ -0,0 +1,199 @@ +package de.jrpie.android.launcher.ui + +import android.content.Context +import android.view.MotionEvent +import android.view.ViewConfiguration +import de.jrpie.android.launcher.actions.Gesture +import de.jrpie.android.launcher.preferences.LauncherPreferences +import kotlin.math.abs +import kotlin.math.max +import kotlin.math.min +import kotlin.math.tan + +class TouchGestureDetector( + private val context: Context, + val width: Int, + val height: Int, + var edgeWidth: Float +) { + private val ANGULAR_THRESHOLD = tan(Math.PI / 6) + private val TOUCH_SLOP: Int + private val TOUCH_SLOP_SQUARE: Int + private val DOUBLE_TAP_SLOP: Int + private val DOUBLE_TAP_SLOP_SQUARE: Int + private val LONG_PRESS_TIMEOUT: Int + private val TAP_TIMEOUT: Int + private val DOUBLE_TAP_TIMEOUT: Int + + + data class Vector(val x: Float, val y: Float) { + fun absSquared(): Float { + return this.x * this.x + this.y * this.y + } + fun plus(vector: Vector): Vector { + return Vector(this.x + vector.x, this.y + vector.y) + } + fun max(other: Vector): Vector { + return Vector(max(this.x, other.x), max(this.y, other.y)) + } + fun min(other: Vector): Vector { + return Vector(min(this.x, other.x), min(this.y, other.y)) + } + operator fun minus(vector: Vector): Vector { + return Vector(this.x - vector.x, this.y - vector.y) + } + } + + + class PointerPath( + val number: Int, + val start: Vector, + var last: Vector = start + ) { + var min = Vector(Float.POSITIVE_INFINITY, Float.POSITIVE_INFINITY) + var max = Vector(Float.NEGATIVE_INFINITY, Float.NEGATIVE_INFINITY) + fun sizeSquared(): Float { + return (max - min).absSquared() + } + fun getDirection(): Vector { + return last - start + } + fun update(vector: Vector) { + min = min.min(vector) + max = max.max(vector) + last = vector + } + } + private fun PointerPath.isTap(): Boolean { + return sizeSquared() < TOUCH_SLOP_SQUARE + } + + init { + val configuration = ViewConfiguration.get(context) + TOUCH_SLOP = configuration.scaledTouchSlop + TOUCH_SLOP_SQUARE = TOUCH_SLOP * TOUCH_SLOP + DOUBLE_TAP_SLOP = configuration.scaledDoubleTapSlop + DOUBLE_TAP_SLOP_SQUARE = DOUBLE_TAP_SLOP * DOUBLE_TAP_SLOP + + LONG_PRESS_TIMEOUT = ViewConfiguration.getLongPressTimeout() + TAP_TIMEOUT = ViewConfiguration.getTapTimeout() + DOUBLE_TAP_TIMEOUT = ViewConfiguration.getDoubleTapTimeout() + } + + private var paths = HashMap() + + private var lastTappedTime = 0L + private var lastTappedLocation: Vector? = null + + fun onTouchEvent(event: MotionEvent): Boolean { + val pointerIdToIndex = + (0.. abs(direction.y)) { // horizontal swipe + if (direction.x > TOUCH_SLOP) + Gesture.SWIPE_RIGHT + else if (direction.x < -TOUCH_SLOP) + Gesture.SWIPE_LEFT + else null + } else if (ANGULAR_THRESHOLD * abs(direction.y) > abs(direction.x)) { // vertical swipe + if (direction.y < -TOUCH_SLOP) + Gesture.SWIPE_UP + else if (direction.y > TOUCH_SLOP) + Gesture.SWIPE_DOWN + else null + } else null + } + + private fun classifyPaths(paths: Map, timeStart: Long, timeEnd: Long) { + val duration = timeEnd - timeStart + val pointerCount = paths.entries.size + if (paths.entries.isEmpty()) { + return + } + + val mainPointerPath = paths.entries.firstOrNull { it.value.number == 0 }?.value ?: return + + // Ignore swipes at the very top, since this interferes with the status bar. + // TODO: replace 100px by sensible dp value (e.g. twice the height of the status bar) + if (paths.entries.any { it.value.start.y < 100 }) { + return + } + + if (pointerCount == 1 && mainPointerPath.isTap()) { + // detect taps + + if (duration in 0..TAP_TIMEOUT) { + if (timeStart - lastTappedTime < DOUBLE_TAP_TIMEOUT && + lastTappedLocation?.let { + (mainPointerPath.last - it).absSquared() < DOUBLE_TAP_SLOP_SQUARE} == true + ) { + Gesture.DOUBLE_CLICK.invoke(context) + } else { + lastTappedTime = timeEnd + lastTappedLocation = mainPointerPath.last + } + } else if (duration > LONG_PRESS_TIMEOUT) { + // TODO: Don't wait until the finger is lifted. + // Instead set a timer to start long click as soon as LONG_PRESS_TIMEOUT is reached + Gesture.LONG_CLICK.invoke(context) + } + } else { + // detect swipes + + val doubleActions = LauncherPreferences.enabled_gestures().doubleSwipe() + val edgeActions = LauncherPreferences.enabled_gestures().edgeSwipe() + + var gesture = getGestureForDirection(mainPointerPath.getDirection()) + + if (doubleActions && pointerCount > 1) { + if (paths.entries.any { getGestureForDirection(it.value.getDirection()) != gesture }) { + // the directions of the pointers don't match + return + } + gesture = gesture?.let(Gesture::getDoubleVariant) + } + + if (edgeActions) { + if (mainPointerPath.max.x < edgeWidth * width) { + gesture = gesture?.getEdgeVariant(Gesture.Edge.LEFT) + } else if (mainPointerPath.min.x > (1 - edgeWidth) * width) { + gesture = gesture?.getEdgeVariant(Gesture.Edge.RIGHT) + } + + if (mainPointerPath.max.y < edgeWidth * height) { + gesture = gesture?.getEdgeVariant(Gesture.Edge.TOP) + } else if (mainPointerPath.min.y > (1 - edgeWidth) * height) { + gesture = gesture?.getEdgeVariant(Gesture.Edge.BOTTOM) + } + } + gesture?.invoke(context) + } + } +} \ No newline at end of file From 5669279c642aa58b6695f21463cacb49343b614e Mon Sep 17 00:00:00 2001 From: Josia Pietsch Date: Sun, 16 Feb 2025 14:38:41 +0100 Subject: [PATCH 11/23] =?UTF-8?q?add=20<,>,V,=CE=9B=20gestures?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jrpie/android/launcher/actions/Gesture.kt | 50 ++++++++++++++++ .../launcher/ui/TouchGestureDetector.kt | 58 ++++++++++++++++--- app/src/main/res/values/defaults.xml | 2 + app/src/main/res/values/strings.xml | 18 ++++++ 4 files changed, 120 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/de/jrpie/android/launcher/actions/Gesture.kt b/app/src/main/java/de/jrpie/android/launcher/actions/Gesture.kt index 34e053e..a4f25b4 100644 --- a/app/src/main/java/de/jrpie/android/launcher/actions/Gesture.kt +++ b/app/src/main/java/de/jrpie/android/launcher/actions/Gesture.kt @@ -1,6 +1,7 @@ package de.jrpie.android.launcher.actions import android.content.Context +import android.util.Log import de.jrpie.android.launcher.R import de.jrpie.android.launcher.preferences.LauncherPreferences @@ -169,6 +170,54 @@ enum class Gesture( R.array.default_double_right, R.anim.left_right ), + SWIPE_LARGER( + "action.larger", + R.string.settings_gesture_swipe_larger, + R.string.settings_gesture_description_swipe_larger, + R.array.no_default + ), + SWIPE_LARGER_REVERSE( + "action.larger_reverse", + R.string.settings_gesture_swipe_larger_reverse, + R.string.settings_gesture_description_swipe_larger_reverse, + R.array.no_default + ), + SWIPE_SMALLER( + "action.smaller", + R.string.settings_gesture_swipe_smaller, + R.string.settings_gesture_description_swipe_smaller, + R.array.no_default + ), + SWIPE_SMALLER_REVERSE( + "action.smaller_reverse", + R.string.settings_gesture_swipe_smaller_reverse, + R.string.settings_gesture_description_swipe_smaller_reverse, + R.array.no_default + ), + SWIPE_LAMBDA( + "action.lambda", + R.string.settings_gesture_swipe_lambda, + R.string.settings_gesture_description_swipe_lambda, + R.array.no_default + ), + SWIPE_LAMBDA_REVERSE( + "action.lambda_reverse", + R.string.settings_gesture_swipe_lambda_reverse, + R.string.settings_gesture_description_swipe_lambda_reverse, + R.array.no_default + ), + SWIPE_V( + "action.v", + R.string.settings_gesture_swipe_v, + R.string.settings_gesture_description_swipe_v, + R.array.no_default + ), + SWIPE_V_REVERSE( + "action.v_reverse", + R.string.settings_gesture_swipe_v_reverse, + R.string.settings_gesture_description_swipe_v_reverse, + R.array.no_default + ), BACK( "action.back", R.string.settings_gesture_back, @@ -267,6 +316,7 @@ enum class Gesture( } operator fun invoke(context: Context) { + Log.i("Launcher", "Detected gesture: $this") val action = Action.forGesture(this) Action.launch(action, context, this.animationIn, this.animationOut) } diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt b/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt index 6a462e9..df633af 100644 --- a/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt +++ b/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt @@ -25,6 +25,8 @@ class TouchGestureDetector( private val TAP_TIMEOUT: Int private val DOUBLE_TAP_TIMEOUT: Int + private val MIN_TRIANGLE_HEIGHT = 250 + data class Vector(val x: Float, val y: Float) { fun absSquared(): Float { @@ -94,19 +96,24 @@ class TouchGestureDetector( } // add new pointers - (0.. { + if(startEndMax.x + MIN_TRIANGLE_HEIGHT < mainPointerPath.max.x) { + gesture = Gesture.SWIPE_LARGER + } else if (startEndMin.x - MIN_TRIANGLE_HEIGHT > mainPointerPath.min.x) { + gesture = Gesture.SWIPE_SMALLER + } + } + Gesture.SWIPE_UP -> { + if(startEndMax.x + MIN_TRIANGLE_HEIGHT < mainPointerPath.max.x) { + gesture = Gesture.SWIPE_LARGER_REVERSE + } else if (startEndMin.x - MIN_TRIANGLE_HEIGHT > mainPointerPath.min.x) { + gesture = Gesture.SWIPE_SMALLER_REVERSE + } + } + Gesture.SWIPE_RIGHT -> { + if(startEndMax.y + MIN_TRIANGLE_HEIGHT < mainPointerPath.max.y) { + gesture = Gesture.SWIPE_V + } else if (startEndMin.y - MIN_TRIANGLE_HEIGHT > mainPointerPath.min.y) { + gesture = Gesture.SWIPE_LAMBDA + } + } + Gesture.SWIPE_LEFT -> { + if(startEndMax.y + MIN_TRIANGLE_HEIGHT < mainPointerPath.max.y) { + gesture = Gesture.SWIPE_V_REVERSE + } else if (startEndMin.y - MIN_TRIANGLE_HEIGHT > mainPointerPath.min.y) { + gesture = Gesture.SWIPE_LAMBDA_REVERSE + } + } + else -> { } + } + if (edgeActions) { if (mainPointerPath.max.x < edgeWidth * width) { gesture = gesture?.getEdgeVariant(Gesture.Edge.LEFT) diff --git a/app/src/main/res/values/defaults.xml b/app/src/main/res/values/defaults.xml index 276651d..cee201e 100644 --- a/app/src/main/res/values/defaults.xml +++ b/app/src/main/res/values/defaults.xml @@ -2,6 +2,8 @@ + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 97d7384..b61c1b0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -59,6 +59,24 @@ Swipe down at the left edge of the screen Down (Right Edge) Swipe down at the right edge of the screen + + ]]> + Top left -> mid right -> bottom left + (reverse)]]> + Bottom left -> mid right -> top left + + Top right -> mid left -> bottom right + + Bottom right -> mid left -> top right + V + Top left -> bottom mid -> top right + V (reverse) + Top right -> bottom mid -> top left + Λ + Bottom left -> top mid -> bottom right + Λ (reverse) + Bottom right -> top mid -> bottom left + Volume Up Press the volume up button Volume Down From 47ae0bf35f6f8fafe9f25f2b6c63300edf51e577 Mon Sep 17 00:00:00 2001 From: Josia Pietsch Date: Sun, 16 Feb 2025 16:51:18 +0100 Subject: [PATCH 12/23] update README.md --- README.md | 71 ++++++++++++++++++++++----------------- BUILD.md => docs/build.md | 0 docs/launcher.md | 49 +++++++++++++++++++++++++++ 3 files changed, 89 insertions(+), 31 deletions(-) rename BUILD.md => docs/build.md (100%) create mode 100644 docs/launcher.md diff --git a/README.md b/README.md index b29b44d..016b362 100644 --- a/README.md +++ b/README.md @@ -14,12 +14,6 @@ µLauncher is an Android home screen that lets you launch apps using swipe gestures and button presses. It is *minimal, efficient and free of distraction*. -Your home screen only displays the date, time and a wallpaper. -Pressing back or swiping up (this can be configured) opens a list -of all installed apps, which can be searched efficiently. - -This is a fork of [finnmglas's app Launcher][original-repo]. - Get it on F-Droid Get it on Accrescent @@ -51,6 +45,45 @@ You can also [get it on Google Play](https://play.google.com/store/apps/details? height="400"> +µLauncher is a fork of [finnmglas's app Launcher][original-repo]. +An incomplete list of changes can be found [here](docs/launcher.md). + +## Features + +µLauncher only displays the date, time and a wallpaper. +Pressing back or swiping up (this can be configured) opens a list +of all installed apps, which can be searched efficiently. + +The following gestures are available: + - volume up / down, + - swipe up / down / left / right, + - swipe with two fingers, + - swipe on the left / right resp. top / bottom edge, + - draw < / > / V / Λ + - click on date / time, + - double click, + - long click, + - back button. + +To every gesture you can bind one of the following actions: + - launch an app, + - open a list of all / favorite / private apps, + - open µLauncher settings, + - toggle private space lock, + - lock the screen, + - toggle the torch, + - volume up / down, + - go to previous / next audio track. + + + +µLauncher is compatible with [work profile](https://www.android.com/enterprise/work-profile/), +so apps like [Shelter](https://gitea.angry.im/PeterCxy/Shelter) can be used. + +By default the font is set to [Hack][hack-font], but other fonts can be selected. + + + ## Contributing There are several ways to contribute to this app: @@ -63,34 +96,10 @@ There are several ways to contribute to this app: - Open a new pull request. -See [BUILD.md](BUILD.md) for instructions how to build this project. +See [build.md](docs/build.md) for instructions how to build this project. The [CI pipeline](https://github.com/jrpie/Launcher/actions) automatically creates debug builds. Note that those are not signed. -## Notable changes compared to [Finn's Launcher][original-repo]: - -* Edge gestures: There is a setting to allow distinguishing swiping at the edges of the screen from swiping in the center. -* Compatible with [work profile](https://www.android.com/enterprise/work-profile/), so apps like [Shelter](https://gitea.angry.im/PeterCxy/Shelter) can be used. -* The home button now works as expected. - -### Visual -* This app uses the system wallpaper instead of a custom solution. -* The font has been changed to [Hack][hack-font]. -* Font Awesome Icons were replaced by Material icons. -* The gear button on the home screen was removed. Instead pressing back opens the list of applications and the app settings are accessible from there. - - -### Search -* The search algorithm was modified to prefer matches at the beginning of the app name, i.e. when searching for `"te"`, `"termux"` is sorted before `"notes"`. -* The search bar was moved to the bottom of the screen. - -### Technical -* Small improvements to the gesture detection. -* Different apps set as default. -* Package name was changed to `de.jrpie.android.launcher` to avoid clashing with the original app. -* Dropped support for API < 21 (i.e. pre Lollypop) -* Some refactoring ---- --- [hack-font]: https://sourcefoundry.org/hack/ [original-repo]: https://github.com/finnmglas/Launcher diff --git a/BUILD.md b/docs/build.md similarity index 100% rename from BUILD.md rename to docs/build.md diff --git a/docs/launcher.md b/docs/launcher.md new file mode 100644 index 0000000..37b24a4 --- /dev/null +++ b/docs/launcher.md @@ -0,0 +1,49 @@ +# Notable changes compared to [Finn's Launcher][original-repo]: + +µLauncher is a fork of [finnmglas's app Launcher][original-repo]. +Here is an incomplete list of changes: + + + +- Additional gestures: + - Back + - V,Λ,<,> + - Edge gestures: There is a setting to allow distinguishing swiping at the edges of the screen from swiping in the center. +- Compatible with [work profile](https://www.android.com/enterprise/work-profile/), so apps like [Shelter](https://gitea.angry.im/PeterCxy/Shelter) can be used. +- Compatible with [private space](https://source.android.com/docs/security/features/private-space) +- Option to rename apps +- Option to hide apps +- Favorite apps +- New actions: + - Toggle Torch + - Lock screen +- The home button now works as expected. +- Improved gesture detection. + +### Visual +- This app uses the system wallpaper instead of a custom solution. +- The font has been changed to [Hack][hack-font], other fonts can be selected. +- Font Awesome Icons were replaced by Material icons. +- The gear button on the home screen was removed. A smaller button is show at the top right when necessary. + + +### Search +- The search algorithm was modified to prefer matches at the beginning of the app name, i.e. when searching for `"te"`, `"termux"` is sorted before `"notes"`. +- The search bar was moved to the bottom of the screen. + +### Technical +- Improved gesture detection. +- Different apps set as default. +- Package name was changed to `de.jrpie.android.launcher` to avoid clashing with the original app. +- Dropped support for API < 21 (i.e. pre Lollypop) +- Fixed some bugs +- Some refactoring + + +The complete list of changes can be viewed [here](https://github.com/jrpie/launcher/compare/340ee731...master). + +--- + [original-repo]: https://github.com/finnmglas/Launcher From 7257d4ca35407aa51198e127cc04c54a7de431ef Mon Sep 17 00:00:00 2001 From: Josia Pietsch Date: Sun, 16 Feb 2025 23:58:42 +0100 Subject: [PATCH 13/23] fix bug in gesture detection logic --- .../jrpie/android/launcher/ui/TouchGestureDetector.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt b/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt index df633af..0ddbfd1 100644 --- a/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt +++ b/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt @@ -107,11 +107,16 @@ class TouchGestureDetector( ) } - for( i in 0.. Date: Tue, 4 Feb 2025 07:12:41 +0000 Subject: [PATCH 14/23] Translated using Weblate (Italian) Currently translated at 98.1% (214 of 218 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/it/ --- app/src/main/res/values-it/strings.xml | 54 ++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 8 deletions(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index afc92da..06555b0 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -4,7 +4,7 @@ Aspetto Scegliere l\'applicazione Tema - Questo launcher è progettato per essere minimale, efficiente e privo di distrazioni.\n\nNon contiene pagamenti, pubblicità o servizi di tracciamento. + Questo launcher è progettato per essere minimale, efficiente e privo di distrazioni. Non contiene pagamenti, pubblicità o servizi di tracciamento. Predefinito Non mostrare applicazioni collegate a gesti nella lista delle app Testo @@ -45,11 +45,11 @@ Scorri verso il basso con due dita Sinistra Scorrere verso sinistra - Doppio a sinistra + Due dita verso sinistra Scorrere verso sinistra con due dita Destra Scorri verso destra - Doppio a destra + Due dita verso destra Scorri a destra con due dita Destra (in alto) Scorri verso destra sul bordo superiore dello schermo @@ -125,12 +125,12 @@ Abbiamo impostato alcune app predefinite per te. Puoi modificarle ora se lo desideri: Puoi anche cambiare la tua selezione in seguito. Iniziamo! - Sei pronto per iniziare!\n\nSpero questa applicazione ti risulti preziosa!\n\n- Finn (che ha ideato il launcher)\n\t e Josia (che ha aggiunto qualche miglioramento e mantiene il fork μLauncher) + Sei pronto per iniziare! Spero questa applicazione ti risulti preziosa! - Finn (che ha ideato il launcher) \te Josia (che ha aggiunto qualche miglioramento e mantiene il fork μLauncher) Inizia Impostazioni Altre opzioni Puoi aprire le tue app facendo scorrere il dito sullo schermo o premendo un pulsante. Configura i gesti nella prossima slide. - Errore: impossibile espandere la barra di stato.\nQuesta azione utilizza funzionalità non incluse nelle API Android pubbliche. Sfortunatamente, non sembra funzionare sul tuo dispositivo. + Errore: impossibile espandere la barra di stato. Questa azione utilizza funzionalità non incluse nelle API Android pubbliche. Sfortunatamente, non sembra funzionare sul tuo dispositivo. Applicazione nascosta. Puoi renderla nuovamente visibile nelle impostazioni. µLauncher deve essere autorizzato come amministratore del dispositivo per bloccare lo schermo. Abilita il blocco dello schermo @@ -182,7 +182,7 @@ Mostra Rinomina Le applicazioni selezionate sono state rimosse - Cerca tra le applicazioni + Cerca Impostazioni μLauncher Espandi il pannello notifiche Non fare niente @@ -191,11 +191,49 @@ Tutorial Prenditi qualche secondo per imparare ad usare questo launcher! Concetto - L\'app è open source (sotto licenza MIT) e disponibile su GitHub!\n\nVisita il nostro archivio! + L\'app è open source (sotto licenza MIT) e disponibile su GitHub! Visita il nostro archivio! Utilizzo La schermata principale contiene solo data e ora. Nessuna distrazione. - Questa funzione richiede Android 6.0 o successivi. + Questa funzione richiede Android 6 o successivi. Ok Rinomina %1$s Impossibile rimuovere l\'applicazione + Dinamico + Colore + Due dita verso l\'alto + Sono consapevole che questo concederà privilegi estesi a µLauncher. + Accetto che µLauncher utilizzi il servizio di accessibilità per fornire funzionalità non correlate all\'accessibilità. + Accetto che µLauncher non raccolga alcun dato. + Nascondi le app in pausa + Attiva/Disattiva Blocco Spazio Privato + Questa funzionalità richiede Android 15 o successivi. + Rosso + Trasparente + Blu + Verde + Ok + Colore + Scegli colore + Attiva Servizi di Accessibilità + Sono consapevole che esistono altre opzioni (utilizzando i privilegi di amministratore del dispositivo o il pulsante di accensione). + Attivazione dei Servizi di Accessibilità + Cerca su internet + Premi invio durante la ricerca nell\'elenco delle app per avviare una ricerca su internet. + Cerca (senza avvio automatico) + Licenze Open Source + Licenze Open Source + Segnala un bug + Grazie per aver contribuito a migliorare µLauncher!\nSi prega di aggiungere le seguenti informazioni alla segnalazione del bug: + Copia negli appunti + Non segnalare pubblicamente le vulnerabilità di sicurezza su GitHub, ma utilizza invece: + Annulla + Premi spazio per disabilitare temporaneamente questa funzionalità. + Segnala una vulnerabilità di sicurezza + Crea una segnalazione + Spazio privato bloccato + Spazio privato sbloccato + Spazio privato non disponibile + µLauncher deve essere la schermata iniziale predefinita per accedere allo spazio privato. + Impossibile aprire l\'URL: nessun browser trovato. + Non è stata trovata un\'applicazione per gestire la ricerca. \ No newline at end of file From 18b4fca9337595ffb00b690a93604f99c5271f0b Mon Sep 17 00:00:00 2001 From: Xanadul Date: Wed, 5 Feb 2025 10:11:17 +0000 Subject: [PATCH 15/23] Translated using Weblate (German) Currently translated at 13.3% (2 of 15 strings) Translation: jrpie-Launcher/metadata Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/metadata/de/ --- fastlane/metadata/android/de-DE/title.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 fastlane/metadata/android/de-DE/title.txt 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 From 7841a99415a84ecd294b6e8ef1d3fae982abacd4 Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Wed, 5 Feb 2025 16:39:04 +0000 Subject: [PATCH 16/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (218 of 218 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) 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 From 958d4879f54311a5fa8b2ce7ae2e6cac789e5660 Mon Sep 17 00:00:00 2001 From: Nicola Bortoletto Date: Thu, 6 Feb 2025 12:57:53 +0000 Subject: [PATCH 17/23] Translated using Weblate (Italian) Currently translated at 99.0% (216 of 218 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/it/ --- app/src/main/res/values-it/strings.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 06555b0..320bfc6 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -125,7 +125,7 @@ Abbiamo impostato alcune app predefinite per te. Puoi modificarle ora se lo desideri: Puoi anche cambiare la tua selezione in seguito. Iniziamo! - Sei pronto per iniziare! Spero questa applicazione ti risulti preziosa! - Finn (che ha ideato il launcher) \te Josia (che ha aggiunto qualche miglioramento e mantiene il fork μLauncher) + Sei pronto per iniziare! Spero questa applicazione ti risulti preziosa! - Finn (che ha ideato il launcher)\n \te Josia (che ha aggiunto qualche miglioramento e mantiene il fork μLauncher) Inizia Impostazioni Altre opzioni @@ -236,4 +236,5 @@ µLauncher deve essere la schermata iniziale predefinita per accedere allo spazio privato. Impossibile aprire l\'URL: nessun browser trovato. Non è stata trovata un\'applicazione per gestire la ricerca. + privilegi più ampi a µLauncher.
µLauncher utilizzerà questi privilegi solo per bloccare lo schermo. µLauncher non raccoglierà mai alcun dato. In particolare, µLauncher non usa il servizio di accessibilità per raccogliere nessun dato.]]>
\ No newline at end of file From e959e9d957c8a2a00190ef031e74ccfba0b91db0 Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Fri, 7 Feb 2025 13:36:03 +0000 Subject: [PATCH 18/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (220 of 220 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 228d0f4..0ec4a32 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -274,4 +274,6 @@ 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. + Voltar + Botão Voltar / gesto de Voltar \ No newline at end of file From 4508e4ee5ca1d5938f9d3545cc4f219f16c90286 Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Fri, 7 Feb 2025 13:35:02 +0000 Subject: [PATCH 19/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 20.0% (3 of 15 strings) Translation: jrpie-Launcher/metadata Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/metadata/pt_BR/ --- .../android/pt-BR/full_description.txt | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/fastlane/metadata/android/pt-BR/full_description.txt b/fastlane/metadata/android/pt-BR/full_description.txt index b3bfbce..e976080 100644 --- a/fastlane/metadata/android/pt-BR/full_description.txt +++ b/fastlane/metadata/android/pt-BR/full_description.txt @@ -1,23 +1,23 @@ -O µLauncher é uma tela inicial que permite abrir aplicativos através gestos de deslize e botões físicos. +O µLauncher é uma tela inicial que permite abrir apps através de gestos e botões físicos. O launcher é minimalista, eficiente e livre de distrações. -Sua tela inicial exibe apenas a data, hora e papel de parede. +A tela inicial mostra apenas a data, hora e papel de parede. -Ao usar Voltar ou deslize para cima (pode ser configurado depois) você abre a lista -com todos os aplicativos instalados, que podem ser encontrados rápido. +Ao usar botão Voltar ou gesto pra cima (pode ser redefinido depois) +você abre com facilidade e rapidez a lista com todos os apps instalados. -Esta é uma modificação do app Launcher -feita por Finn M Glas. +O app é uma modificação do Launcher +feito por Finn M Glas. Funcionalidades: * Você pode associar várias ações a 22 gestos diferentes. -* Também pode definir algumas das seguintes acções: - - Iniciar algum app +* Pode definir algumas das seguintes ações: + - Iniciar vários apps - Listar todos aplicativos - Listar apps favoritos - Aumentar / diminuir o volume - - Música: faixa anterior / seguinte + - Música: passar pra faixa anterior / seguinte - Bloquear a tela - Ligar a lanterna - Mostrar notificações / configurações rápidas -* Compatível com Perfil de trabalho, desta forma apps como Shelter podem ser usados. +* App é compatível com Perfil de trabalho e pode ser usado com apps tipo Shelter. From d0b0c27b2c01eee253502538fe7a0cc147ce630f Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Sun, 9 Feb 2025 15:23:17 +0000 Subject: [PATCH 20/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (220 of 220 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 0ec4a32..fef6043 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -34,10 +34,10 @@ Para direita (em baixo) Para esquerda (em baixo) Para esquerda (no topo) - Para cima (Borda esquerda) - Para cima (Borda direita) - Para baixo (Borda esquerda) - Para baixo (Borda direita) + Para cima (borda esquerda) + Para cima (borda direita) + Para baixo (borda esquerda) + Para baixo (borda direita) Aumento de volume Diminuição de volume Toque duplo @@ -62,7 +62,7 @@ Mostrar Data Use formato de data localizado Inverter data e hora - Escolha um papel de parede + Escolha papel de parede Alterar papel de parede Exibição Manter a tela ligada @@ -121,11 +121,11 @@ O Launcher foi criado para ser minimalista, eficiente e livre de distrações. Ele é livre de pagamentos, anúncios e serviços de rastreamento. O app é de código aberto (licença MIT) e está disponível no GitHub! Não deixe de conferir o repositório! Uso - Sua tela inicial contém a data e hora local. Sem distração. - Você pode iniciar seus aplicativos com um toque único ou pressionando um botão. Escolha algumas ações no próximo slide. + Sua tela inicial contém a data e hora local. Sem distrações. + Você pode iniciar seus aplicativos com um gesto único ou apertando um botão. Escolha algumas ações no próximo slide. Configurar Selecionamos alguns aplicativos padrão para você. Se quiser, você pode alterá-los agora: - Você também pode alterar suas escolhas mais tarde. + Você pode alterar suas escolhas mais tarde. Vamos lá! Tá todo pronto para começar! Espero que isso seja de grande valor para você! - Finn (que criou o Launcher) \te Josia (que fez algumas melhorias e tb mantém o fork do μLauncher) Começar @@ -162,7 +162,7 @@ Usar o Serviço de acessibilidade Usar o Administrador do dispositivo Escolha um método de bloqueio - Escolha um método de bloqueio da tela + Escolha método de bloqueio da tela Configurações rápidas Essa funcionalidade requer o Android 6 ou mais recente. Nenhuma câmera com lanterna detectada. From bef38c2657063358e1bb92eac1c448c960563603 Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Tue, 11 Feb 2025 21:14:28 +0000 Subject: [PATCH 21/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 100.0% (225 of 225 strings) Translation: jrpie-Launcher/Launcher Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/pt_BR/ --- app/src/main/res/values-pt-rBR/strings.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index fef6043..0dd41ed 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -276,4 +276,9 @@ Nenhum app encontrado para efetuar a pesquisa. Voltar Botão Voltar / gesto de Voltar + Ocultar espaço privado na lista de apps + Espaço privado + Espaço privado + Trancar espaço privado + Liberar espaço privado \ No newline at end of file From 68b79724e80adc48f48799c93494483c03096cc4 Mon Sep 17 00:00:00 2001 From: Vossa Excelencia Date: Tue, 11 Feb 2025 21:19:15 +0000 Subject: [PATCH 22/23] Translated using Weblate (Portuguese (Brazil)) Currently translated at 26.6% (4 of 15 strings) Translation: jrpie-Launcher/metadata Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/metadata/pt_BR/ --- fastlane/metadata/android/pt-BR/short_description.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastlane/metadata/android/pt-BR/short_description.txt b/fastlane/metadata/android/pt-BR/short_description.txt index e1c50b5..1fa66b5 100644 --- a/fastlane/metadata/android/pt-BR/short_description.txt +++ b/fastlane/metadata/android/pt-BR/short_description.txt @@ -1 +1 @@ -Uma tela inicial minimalista e sem distrações para Android. +Tela inicial minimalista e sem distrações para Android. From c448c51164ea25eb8d294cd4b9ecd638b88a4d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87eliker?= Date: Sun, 16 Feb 2025 23:00:52 +0000 Subject: [PATCH 23/23] Translated using Weblate (Turkish) Currently translated at 86.6% (13 of 15 strings) Translation: jrpie-Launcher/metadata Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/metadata/tr/ --- fastlane/metadata/android/tr-TR/changelogs/21.txt | 15 +++++++++++++++ fastlane/metadata/android/tr-TR/changelogs/24.txt | 8 ++++++++ fastlane/metadata/android/tr-TR/changelogs/25.txt | 4 ++++ fastlane/metadata/android/tr-TR/changelogs/26.txt | 1 + fastlane/metadata/android/tr-TR/changelogs/27.txt | 9 +++++++++ fastlane/metadata/android/tr-TR/changelogs/29.txt | 1 + fastlane/metadata/android/tr-TR/changelogs/32.txt | 11 +++++++++++ fastlane/metadata/android/tr-TR/changelogs/33.txt | 5 +++++ fastlane/metadata/android/tr-TR/changelogs/34.txt | 9 +++++++++ fastlane/metadata/android/tr-TR/changelogs/35.txt | 6 ++++++ fastlane/metadata/android/tr-TR/changelogs/36.txt | 6 ++++++ fastlane/metadata/android/tr-TR/changelogs/37.txt | 8 ++++++++ fastlane/metadata/android/tr-TR/title.txt | 1 + 13 files changed, 84 insertions(+) create mode 100644 fastlane/metadata/android/tr-TR/changelogs/21.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/24.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/25.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/26.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/27.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/29.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/32.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/33.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/34.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/35.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/36.txt create mode 100644 fastlane/metadata/android/tr-TR/changelogs/37.txt create mode 100644 fastlane/metadata/android/tr-TR/title.txt diff --git a/fastlane/metadata/android/tr-TR/changelogs/21.txt b/fastlane/metadata/android/tr-TR/changelogs/21.txt new file mode 100644 index 0000000..91667e5 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/21.txt @@ -0,0 +1,15 @@ +- Çince çeviri (teşekkürler, yzqzss!) +- Fransızca çeviri iyileştirildi (teşekkürler, toby-bro!) +- Almanca çeviri iyileştirildi + +Tüm Uygulamalar: +- Uygulama listesindeki üç nokta kaldırıldı (bunun yerine uzun tıklama kullanın) +- Enter'a basıldığında sorguyla eşleşen ilk uygulama açılıyor +- Klavyeyi tam ekran modunda açarken oluşan hata için geçici çözüm düzeltildi +- Sistem uygulamaları için kaldırma seçeneği kaldırıldı +- Ana Sayfa Düğmesi artık düzgün çalışıyor + +Ayarlar: +- Küçük ekranlar için ayarlar düzeltildi +- Hassasiyet ayarı kaldırıldı (herkes zaten maksimuma ayarlıyordu) +- Tarih ve saat ayarları yeniden düzenlendi diff --git a/fastlane/metadata/android/tr-TR/changelogs/24.txt b/fastlane/metadata/android/tr-TR/changelogs/24.txt new file mode 100644 index 0000000..63f5cde --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/24.txt @@ -0,0 +1,8 @@ +* Renk teması, yazı tipi, arka plan, monokrom simgeler için seçenekler eklendi +* Tarih ve saat için seçenekler eklendi +* Döndürmeye izin verme seçeneği eklendi +* İyileştirilmiş arama algoritması +* Brezilya Portekizcesine çeviri - teşekkürler, Jonatas de Almeida Barros! +* Ayarlardan seçilen uygulamaların kaybolmasına neden olan bir hata düzeltildi +* İyileştirilmiş kod kalitesi +* Güncellenmiş çeviriler diff --git a/fastlane/metadata/android/tr-TR/changelogs/25.txt b/fastlane/metadata/android/tr-TR/changelogs/25.txt new file mode 100644 index 0000000..6aa3565 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/25.txt @@ -0,0 +1,4 @@ +* Favori uygulamalar +* Uygulamaları gizleme seçeneği +* Birden fazla ana aktiviteye sahip uygulamalar için destek +* Küçük ekranlarda ayarların düzeni düzeltildi diff --git a/fastlane/metadata/android/tr-TR/changelogs/26.txt b/fastlane/metadata/android/tr-TR/changelogs/26.txt new file mode 100644 index 0000000..9174cd3 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/26.txt @@ -0,0 +1 @@ +hata düzeltme diff --git a/fastlane/metadata/android/tr-TR/changelogs/27.txt b/fastlane/metadata/android/tr-TR/changelogs/27.txt new file mode 100644 index 0000000..ec73839 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/27.txt @@ -0,0 +1,9 @@ +* Matrix ve Discord'da sohbet +* Hareket algılama iyileştirildi +* Hareket açıklamaları iyileştirildi +* Yeni eylem: Ekranı kilitle - teşekkürler, yzqzss! +* Yeni eylem: Meşaleyi aç +* Yeni eylem: Hızlı ayarları aç +* Fransızca çevirisi iyileştirildi - teşekkürler, toby-bro! +* Portekizce çevirisi iyileştirildi - teşekkürler, "Vossa Excelencia"! +* Bazı hatalar düzeltildi diff --git a/fastlane/metadata/android/tr-TR/changelogs/29.txt b/fastlane/metadata/android/tr-TR/changelogs/29.txt new file mode 100644 index 0000000..4f318eb --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/29.txt @@ -0,0 +1 @@ +Ekranı kilitlemek için Cihaz Yöneticisi yerine Erişilebilirlik Hizmetini kullanma seçeneği eklendi. diff --git a/fastlane/metadata/android/tr-TR/changelogs/32.txt b/fastlane/metadata/android/tr-TR/changelogs/32.txt new file mode 100644 index 0000000..0499004 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/32.txt @@ -0,0 +1,11 @@ +* Uygulamaları yeniden adlandırma seçeneği +* Uygulama listesinden hareketlere bağlı uygulamaları otomatik olarak gizleme seçeneği +* Uygulama listesinden µLauncher'ı varsayılan olarak gizle +* Varsayılan uygulamaların seçimi iyileştirildi +* Açık tema (deneysel) + +* Aramadaki hata düzeltildi +* Kilit ekranı iletişim kutusundaki hata düzeltildi (teşekkürler, yzqzss ve jeroen!) + +* Portekizce çeviri güncellendi (teşekkürler, "Vossa Excelencia"!) +* Almanca çeviri güncellendi diff --git a/fastlane/metadata/android/tr-TR/changelogs/33.txt b/fastlane/metadata/android/tr-TR/changelogs/33.txt new file mode 100644 index 0000000..64bea01 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/33.txt @@ -0,0 +1,5 @@ +* Uygulama listesi için alternatif düzenler (ızgara, metin) +* Hata düzeltildi: Uygulamaların yeniden adlandırılması artık düzgün çalışıyor + +* Çince çeviri güncellendi (teşekkürler, yzqzss!) +* Portekizce çeviri güncellendi (teşekkürler, "Vossa Excelencia"!) diff --git a/fastlane/metadata/android/tr-TR/changelogs/34.txt b/fastlane/metadata/android/tr-TR/changelogs/34.txt new file mode 100644 index 0000000..c1b80a1 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/34.txt @@ -0,0 +1,9 @@ +* Saat rengini seçme seçeneği +* Dinamik renk teması eklendi; açık tema kaldırıldı +* Erişilebilirlik hizmeti için onay iletişim kutusu eklendi + +* Türkçe çeviri eklendi (teşekkürler, Ahmet Çeliker!) +* İtalyanca çeviri eklendi (teşekkürler, Samantha!) +* Portekizce çeviri iyileştirildi (teşekkürler, "Vossa Excelencia"!) + +* Uygulama çekmecesinde hareketle gezinmeyle ilgili hata düzeltildi. Artık geri basıldığında çekmece hemen kapanıyor. diff --git a/fastlane/metadata/android/tr-TR/changelogs/35.txt b/fastlane/metadata/android/tr-TR/changelogs/35.txt new file mode 100644 index 0000000..cfd9c1e --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/35.txt @@ -0,0 +1,6 @@ +* Ayarlar için depolama biçimi yeniden düzenlendi. Eski biçim otomatik olarak dönüştürülecek. +* Uygulama listesinden web'de arama yapma seçeneği eklendi. +* Ekranı kilitlemek için tercih edilen yöntem olarak cihaz yöneticisini ayarlayın. +* Bir erişilebilirlik hizmetini etkinleştirmenin şifrelemeyle çakışabileceğine dair bir uyarı eklendi. +* Yeniden adlandırma iletişim kutusundaki bir hata düzeltildi. +* Kilit ekranı iletişim kutusu kaydırılabilir hale getirildi. diff --git a/fastlane/metadata/android/tr-TR/changelogs/36.txt b/fastlane/metadata/android/tr-TR/changelogs/36.txt new file mode 100644 index 0000000..a8b448e --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/36.txt @@ -0,0 +1,6 @@ +* yeni özellik: otomatik başlatmayı geçici olarak devre dışı bırakmak için boşluk içeren önek sorgusu +* iyileştirilmiş arama: sorguda görünmedikleri sürece diakritik işaretler artık yok sayılıyor. (Android 7+) +* açık kaynak lisanslarının listesi eklendi +* erişilebilirlik hizmeti uyarısı güncellendi +* iyileştirilmiş Fransızca çeviri (teşekkürler, Alexandre Ancel ve Nin Dan!) +* iyileştirilmiş Portekizce çeviri (teşekkürler, "Vossa Excelencia"!) diff --git a/fastlane/metadata/android/tr-TR/changelogs/37.txt b/fastlane/metadata/android/tr-TR/changelogs/37.txt new file mode 100644 index 0000000..914b7d5 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/changelogs/37.txt @@ -0,0 +1,8 @@ +* private space için temel destek (Android 15) +* light tema yeniden tanıtıldı +* Portekizce çeviri iyileştirildi (teşekkürler, "Vossa Excelencia"!) +* Almanca çeviri iyileştirildi +* ayarlara sürüm adı eklendi +* hata raporları için iletişim kutusu +* saat performansı iyileştirildi +* bazı hatalar düzeltildi diff --git a/fastlane/metadata/android/tr-TR/title.txt b/fastlane/metadata/android/tr-TR/title.txt new file mode 100644 index 0000000..ad88d66 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/title.txt @@ -0,0 +1 @@ +µBaşlatıcı