Compare commits

...

8 commits

Author SHA1 Message Date
d6355afc54
updated bug report template
Some checks failed
Android CI / build (push) Has been cancelled
2025-01-31 02:01:23 +01:00
0a9890111c
add explanation for pressing space to disable auto launch 2025-01-31 01:38:20 +01:00
b2e7e4cacf
v0.0.21 2025-01-31 01:12:55 +01:00
d62815be12
improve German translation 2025-01-31 01:11:00 +01:00
768d27a7bb
Merge branch 'master' of https://github.com/jrpie/Launcher 2025-01-31 00:44:44 +01:00
a227a40b6e
Merge pull request #103 from toolatebot/weblate-jrpie-launcher-launcher
Translations update from Toolate
2025-01-31 00:44:27 +01:00
f280d36667
add handler for ActivityNotFoundException 2025-01-28 02:15:04 +01:00
Vossa Excelencia
3973f1338f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (215 of 215 strings)

Translation: jrpie-Launcher/Launcher
Translate-URL: https://toolate.othing.xyz/projects/jrpie-launcher/launcher/pt_BR/
2025-01-28 00:11:10 +00:00
11 changed files with 140 additions and 47 deletions

View file

@ -1,38 +0,0 @@
---
name: Bug report
about: Create a report to help improve this app
title: '[bug] '
labels: bug
assignees: ''
---
# Describe the bug
<!-- A clear and concise description of what the bug is. -->
# To Reproduce
<!--
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
-->
# Expected behavior
<!-- A clear and concise description of what you expected to happen. -->
# Screenshots
<!-- If applicable, add screenshots to help explain your problem. -->
# Smartphone (please complete the following information)
- Device: <!-- e.g. Fairphone 5 -->
- Android Version: <!-- e.g. Marshmallow, 6.0 or API 23 -->
- µLauncher Version: <!-- e.g. j-0.0.11 or version code 25 -->
# Additional info
<!-- Add any other info or comments about the problem here. -->

50
.github/ISSUE_TEMPLATE/bug_report.yaml vendored Normal file
View file

@ -0,0 +1,50 @@
name: Bug report
description: Create a report to help improve this app
title: '[bug] '
labels: bug
body:
- type: markdown
attributes:
value: |
Thank you for helping to improve µLauncher!
- type: textarea
id: bug
attributes:
label: Describe the Bug
description: What happened?
placeholder: A clear and concise description of what the bug is.
render: markdown
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What did you expect to happen instead?
render: markdown
validations:
required: false
- type: textarea
id: reproduce
attributes:
label: To Reproduce
description: What steps are required to reproduce the bug?
render: markdown
placeholder: |
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: false
- type: textarea
id: device
attributes:
label: Your Device
description: |
What device are you using? Adding this information helps to reproduce the bug.
You can copy this from µLauncher > Settings > Meta > Report Bug.
render: markdown
validations:
required: false

View file

@ -23,8 +23,8 @@ android {
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 35 targetSdkVersion 35
compileSdk 35 compileSdk 35
versionCode 36 versionCode 37
versionName "j-0.0.20" versionName "0.0.21"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
} }

View file

@ -3,6 +3,7 @@ package de.jrpie.android.launcher
import android.app.Activity import android.app.Activity
import android.app.Service import android.app.Service
import android.app.role.RoleManager import android.app.role.RoleManager
import android.content.ActivityNotFoundException
import android.content.ClipData import android.content.ClipData
import android.content.ClipboardManager import android.content.ClipboardManager
import android.content.Context import android.content.Context
@ -16,6 +17,7 @@ import android.os.UserHandle
import android.os.UserManager import android.os.UserManager
import android.provider.Settings import android.provider.Settings
import android.util.Log import android.util.Log
import android.widget.Toast
import de.jrpie.android.launcher.actions.Action import de.jrpie.android.launcher.actions.Action
import de.jrpie.android.launcher.actions.Gesture import de.jrpie.android.launcher.actions.Gesture
import de.jrpie.android.launcher.apps.AppInfo import de.jrpie.android.launcher.apps.AppInfo
@ -83,14 +85,18 @@ fun getPrivateSpaceUser(context: Context): UserHandle? {
val userManager = context.getSystemService(Context.USER_SERVICE) as UserManager val userManager = context.getSystemService(Context.USER_SERVICE) as UserManager
val launcherApps = context.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps val launcherApps = context.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps
return userManager.userProfiles.firstOrNull { u -> return userManager.userProfiles.firstOrNull { u ->
launcherApps.getLauncherUserInfo(u)?.userType == UserManager.USER_TYPE_PROFILE_PRIVATE launcherApps.getLauncherUserInfo(u)?.userType == UserManager.USER_TYPE_PROFILE_PRIVATE
} }
} }
fun openInBrowser(url: String, context: Context) { fun openInBrowser(url: String, context: Context) {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url)) val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
intent.putExtras(Bundle().apply { putBoolean("new_window", true) }) intent.putExtras(Bundle().apply { putBoolean("new_window", true) })
context.startActivity(intent) try {
context.startActivity(intent)
} catch (_: ActivityNotFoundException) {
Toast.makeText(context, R.string.toast_activity_not_found_browser, Toast.LENGTH_LONG).show()
}
} }
fun openTutorial(context: Context) { fun openTutorial(context: Context) {

View file

@ -2,6 +2,7 @@ package de.jrpie.android.launcher.actions
import android.app.AlertDialog import android.app.AlertDialog
import android.app.Service import android.app.Service
import android.content.ActivityNotFoundException
import android.content.Context import android.content.Context
import android.content.Intent import android.content.Intent
import android.content.pm.LauncherApps import android.content.pm.LauncherApps
@ -34,7 +35,11 @@ class AppAction(val app: AppInfo) : Action {
context.packageManager.getLaunchIntentForPackage(packageName)?.let { context.packageManager.getLaunchIntentForPackage(packageName)?.let {
it.addCategory(Intent.CATEGORY_LAUNCHER) it.addCategory(Intent.CATEGORY_LAUNCHER)
context.startActivity(it) try {
context.startActivity(it)
} catch (_: ActivityNotFoundException) {
return false
}
return true return true
} }

View file

@ -1,11 +1,13 @@
package de.jrpie.android.launcher.ui.list.apps package de.jrpie.android.launcher.ui.list.apps
import android.content.ActivityNotFoundException
import android.content.Intent import android.content.Intent
import android.content.SharedPreferences import android.content.SharedPreferences
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import de.jrpie.android.launcher.R import de.jrpie.android.launcher.R
import de.jrpie.android.launcher.apps.AppFilter import de.jrpie.android.launcher.apps.AppFilter
@ -91,7 +93,16 @@ class ListFragmentApps : Fragment(), UIObject {
if (LauncherPreferences.functionality().searchWeb()) { if (LauncherPreferences.functionality().searchWeb()) {
val i = Intent(Intent.ACTION_WEB_SEARCH).putExtra("query", query) val i = Intent(Intent.ACTION_WEB_SEARCH).putExtra("query", query)
activity?.startActivity(i) try {
activity?.startActivity(i)
} catch (_: ActivityNotFoundException) {
Toast.makeText(
requireContext(),
R.string.toast_activity_not_found_search_web,
Toast.LENGTH_LONG
).show()
}
} else { } else {
appsRecyclerAdapter.selectItem(0) appsRecyclerAdapter.selectItem(0)
} }

View file

@ -76,10 +76,12 @@
- -
--> -->
<string name="settings_launcher_section_appearance">Aussehen</string> <string name="settings_launcher_section_appearance">Aussehen</string>
<string name="settings_clock_color">Farbe</string>
<string name="settings_clock_time_visible">Zeit anzeigen</string> <string name="settings_clock_time_visible">Zeit anzeigen</string>
<string name="settings_clock_date_visible">Datum anzeigen</string> <string name="settings_clock_date_visible">Datum anzeigen</string>
<string name="settings_clock_localized">Lokalisiertes Datumsformat verwenden</string> <string name="settings_clock_localized">Lokalisiertes Datumsformat verwenden</string>
<string name="settings_clock_flip_date_time">Datum und Uhrzeit tauschen</string> <string name="settings_clock_flip_date_time">Datum und Uhrzeit tauschen</string>
<string name="settings_theme_color_theme_item_dynamic">Dynamisch</string>
<string name="settings_theme_text_shadow">Textschatten</string> <string name="settings_theme_text_shadow">Textschatten</string>
<string name="settings_theme_background">Hintergrund (Alle Apps und Einstellungen)</string> <string name="settings_theme_background">Hintergrund (Alle Apps und Einstellungen)</string>
<string name="settings_theme_background_item_solid">Einfarbig</string> <string name="settings_theme_background_item_solid">Einfarbig</string>
@ -103,6 +105,7 @@
<string name="settings_enabled_gestures_edge_swipe">Kantenaktionen</string> <string name="settings_enabled_gestures_edge_swipe">Kantenaktionen</string>
<string name="settings_enabled_gestures_edge_swipe_edge_width">Kantenbreite</string> <string name="settings_enabled_gestures_edge_swipe_edge_width">Kantenbreite</string>
<string name="settings_functionality_auto_launch">Suchergebnis starten</string> <string name="settings_functionality_auto_launch">Suchergebnis starten</string>
<string name="settings_functionality_search_web_summary">Beim Durchsuchen der Apps Enter drücken um stattdessen im Internet zu suchen</string>
<string name="settings_functionality_auto_keyboard">Tastatur automatisch öffnen</string> <string name="settings_functionality_auto_keyboard">Tastatur automatisch öffnen</string>
<string name="settings_launcher_sensitivity">Empfindlichkeit</string> <string name="settings_launcher_sensitivity">Empfindlichkeit</string>
<!-- <!--
@ -123,6 +126,7 @@
<string name="settings_meta_report_bug">Einen Fehler melden</string> <string name="settings_meta_report_bug">Einen Fehler melden</string>
<string name="settings_meta_discord">Unserem Discord beitreten</string> <string name="settings_meta_discord">Unserem Discord beitreten</string>
<string name="settings_meta_contact">Entwickler kontaktieren</string> <string name="settings_meta_contact">Entwickler kontaktieren</string>
<string name="dialog_report_bug_create_report">Report erstellen</string>
<string name="settings_meta_fork_contact">Entwickler des Fork kontaktieren</string> <string name="settings_meta_fork_contact">Entwickler des Fork kontaktieren</string>
<string name="settings_meta_join_chat">Dem µLauncher-Chat beitreten</string> <string name="settings_meta_join_chat">Dem µLauncher-Chat beitreten</string>
<string name="settings_meta_privacy">Datenschutzerklärung</string> <string name="settings_meta_privacy">Datenschutzerklärung</string>
@ -143,9 +147,11 @@
<string name="list_removed">Die App wurde entfernt</string> <string name="list_removed">Die App wurde entfernt</string>
<string name="list_not_removed">Die App konnte nicht entfernt werden</string> <string name="list_not_removed">Die App konnte nicht entfernt werden</string>
<string name="list_apps_search_hint">Anwendungen suchen</string> <string name="list_apps_search_hint">Anwendungen suchen</string>
<string name="list_apps_search_hint_no_auto_launch">Suchen (kein Schnellstart)</string>
<string name="list_other_settings">µLauncher Einstellungen</string> <string name="list_other_settings">µLauncher Einstellungen</string>
<string name="list_other_list">Alle Anwendungen</string> <string name="list_other_list">Alle Anwendungen</string>
<string name="list_other_list_favorites">Favoriten</string> <string name="list_other_list_favorites">Favoriten</string>
<string name="list_other_toggle_private_space_lock">Privaten Bereich (ent)sperren</string>
<string name="list_other_volume_up">Musik: Lauter</string> <string name="list_other_volume_up">Musik: Lauter</string>
<string name="list_other_volume_down">Musik: Leiser</string> <string name="list_other_volume_down">Musik: Leiser</string>
<string name="list_other_track_next">Musik: Weiter</string> <string name="list_other_track_next">Musik: Weiter</string>
@ -186,6 +192,7 @@
<string name="list_app_hidden_add">Verstecken</string> <string name="list_app_hidden_add">Verstecken</string>
<string name="list_other_lock_screen">Bildschirm sperren</string> <string name="list_other_lock_screen">Bildschirm sperren</string>
<string name="alert_requires_android_m">Diese Funktionalität benötigt Android 6 oder neuer.</string> <string name="alert_requires_android_m">Diese Funktionalität benötigt Android 6 oder neuer.</string>
<string name="alert_requires_android_v">Diese Funktionalität benötigt Android 15 oder neuer.</string>
<string name="snackbar_app_hidden">Die App wurde versteckt. Sie kann in den Einstellungen wieder sichtbar gemacht werden.</string> <string name="snackbar_app_hidden">Die App wurde versteckt. Sie kann in den Einstellungen wieder sichtbar gemacht werden.</string>
<string name="toast_device_admin_not_enabled">µLauncher muss Geräteadministrator sein, um den Bildschirm sperren zu dürfen.</string> <string name="toast_device_admin_not_enabled">µLauncher muss Geräteadministrator sein, um den Bildschirm sperren zu dürfen.</string>
<string name="device_admin_explanation">Dies ist erforderlich, damit µLauncher den Bildschirm spreen kann.</string> <string name="device_admin_explanation">Dies ist erforderlich, damit µLauncher den Bildschirm spreen kann.</string>
@ -195,6 +202,7 @@
<string name="settings_actions_lock_method">Methode zum Sperren des Bildschirms wählen</string> <string name="settings_actions_lock_method">Methode zum Sperren des Bildschirms wählen</string>
<string name="dialog_rename_ok">Ok</string> <string name="dialog_rename_ok">Ok</string>
<string name="dialog_rename_title">%1$s umbenennen</string> <string name="dialog_rename_title">%1$s umbenennen</string>
<string name="toast_private_space_default_home_screen">µLauncher muss als Standardlauncher eingerichtet sein um auf den privaten Bereich zugreifen zu können.</string>
<string name="toast_lock_screen_not_supported">Fehler: Auf diesem Gerät kann der Bildschirm nicht mittels Bedienungshilfe gesperrt werden. Bitte stattdessen Geräteadministrator verwenden.</string> <string name="toast_lock_screen_not_supported">Fehler: Auf diesem Gerät kann der Bildschirm nicht mittels Bedienungshilfe gesperrt werden. Bitte stattdessen Geräteadministrator verwenden.</string>
<string name="accessibility_service_name">µLauncher - Bildschirm sperren</string> <string name="accessibility_service_name">µLauncher - Bildschirm sperren</string>
<string name="alert_lock_screen_failed">Fehler: Bildschirm konnte nicht gesperrt werden.</string> <string name="alert_lock_screen_failed">Fehler: Bildschirm konnte nicht gesperrt werden.</string>
@ -236,6 +244,7 @@
<string name="settings_theme_background_item_transparent">Transparent</string> <string name="settings_theme_background_item_transparent">Transparent</string>
<string name="settings_theme_background_item_dim">Dimmen</string> <string name="settings_theme_background_item_dim">Dimmen</string>
<string name="settings_theme_background_item_blur">Weichzeichnen</string> <string name="settings_theme_background_item_blur">Weichzeichnen</string>
<string name="settings_apps_hide_paused_apps">Pausierte Apps verstecken</string>
<string name="settings_list_layout">Layout der Appliste</string> <string name="settings_list_layout">Layout der Appliste</string>
<string name="settings_list_layout_item_default">Standard</string> <string name="settings_list_layout_item_default">Standard</string>
<string name="settings_list_layout_item_text">Text</string> <string name="settings_list_layout_item_text">Text</string>
@ -243,5 +252,29 @@
<string name="settings_theme_font_item_sans_serif">Serifenlos</string> <string name="settings_theme_font_item_sans_serif">Serifenlos</string>
<string name="settings_theme_font_item_serif">Serif</string> <string name="settings_theme_font_item_serif">Serif</string>
<string name="settings_theme_font_item_monospace">Monospace</string> <string name="settings_theme_font_item_monospace">Monospace</string>
<string name="dialog_consent_accessibility_ok">Bedienungshilfe aktivieren</string>
<string name="dialog_cancel">Abbrechen</string> <string name="dialog_cancel">Abbrechen</string>
<string name="settings_functionality_auto_launch_summary">Leertaste drücken um diese Funktion zu unterdrücken.</string>
<string name="settings_functionality_search_web">Im Internet suchen</string>
<string name="dialog_report_bug_title">Bug melden</string>
<string name="dialog_report_bug_button_clipboard">In Zwischenablage kopieren</string>
<string name="toast_private_space_locked">Privater Bereich gesperrt</string>
<string name="toast_private_space_unlocked">Privater Bereich entsperrt</string>
<string name="toast_private_space_not_available">Der private Bereich ist nicht verfügbar</string>
<string name="dialog_select_color_red">Rot</string>
<string name="dialog_select_color_alpha">Transparenz</string>
<string name="dialog_select_color_blue">Blau</string>
<string name="dialog_select_color_green">Grün</string>
<string name="dialog_select_color_ok">Ok</string>
<string name="dialog_select_color_color_hex">Farbe</string>
<string name="dialog_choose_color_title">Farbe wählen</string>
<string name="settings_meta_licenses">Open Source Lizenzen</string>
<string name="legal_info_title">Open Source Lizenzen</string>
<string name="toast_activity_not_found_search_web">Keine App gefunden um die Suche durchzuführen.</string>
<string name="toast_activity_not_found_browser">URL kann nicht geöffnet werden: kein Browser gefunden.</string>
<string name="dialog_consent_accessibility_privileges">Mir ist bewusst, dass µLauncher hierdurch weitreichende Berechtigungen erhält.</string>
<string name="dialog_consent_accessibility_other_options">Mir ist bewusst, dass Alternativen existieren (Geräteadministrator oder der Power-Button).</string>
<string name="dialog_consent_accessibility_consent">Ich willige ein, dass µLauncher eine Bedienungshilfe für Zwecke verwendet, die nicht unter Barrierefreiheit fallen.</string>
<string name="dialog_consent_accessibility_data_collection">Ich willige ein, dass µLauncher keine Daten sammelt.</string>
<string name="dialog_consent_accessibility_title">Bedienungshilfe aktivieren</string>
</resources> </resources>

View file

@ -258,4 +258,17 @@
<string name="list_apps_search_hint_no_auto_launch">Busca (sem inicialização automática)</string> <string name="list_apps_search_hint_no_auto_launch">Busca (sem inicialização automática)</string>
<string name="settings_meta_licenses">Licenças de código aberto</string> <string name="settings_meta_licenses">Licenças de código aberto</string>
<string name="legal_info_title">Licenças de código aberto</string> <string name="legal_info_title">Licenças de código aberto</string>
<string name="settings_apps_hide_paused_apps">Ocultar apps pausados</string>
<string name="list_other_toggle_private_space_lock">Ativar o Espaço privado</string>
<string name="alert_requires_android_v">Essa funcionalidade requer o Android 15.0 ou mais recente.</string>
<string name="toast_private_space_locked">Espaço privado trancado</string>
<string name="toast_private_space_unlocked">Espaço privado liberado</string>
<string name="toast_private_space_not_available">Espaço privado indisponível</string>
<string name="toast_private_space_default_home_screen">O µLauncher precisa ser definido como a tela inicial padrão para poder usar Espaço privado.</string>
<string name="dialog_report_bug_button_clipboard">Copiar para memória</string>
<string name="dialog_report_bug_security_info">Não relate vulnerabilidades de segurança publicamente no GitHub, use o seguinte:</string>
<string name="dialog_report_bug_button_security">Relatar vulnerabilidade de segurança</string>
<string name="dialog_report_bug_create_report">Criar relatório</string>
<string name="dialog_report_bug_title">Relatar um bug</string>
<string name="dialog_report_bug_info">Obrigado por ajudar a melhorar o µLauncher!\nConsidere adicionar as seguintes informações ao relatório de bug:</string>
</resources> </resources>

View file

@ -136,6 +136,8 @@
<string name="settings_enabled_gestures_edge_swipe_summary">Swipe at the edge of the screen</string> <string name="settings_enabled_gestures_edge_swipe_summary">Swipe at the edge of the screen</string>
<string name="settings_enabled_gestures_edge_swipe_edge_width">Edge width</string> <string name="settings_enabled_gestures_edge_swipe_edge_width">Edge width</string>
<string name="settings_functionality_auto_launch">Launch search results</string> <string name="settings_functionality_auto_launch">Launch search results</string>
<string name="settings_functionality_auto_launch_summary">Press space to disable this feature temporarily.</string>
<string name="settings_functionality_search_web">Search the web</string> <string name="settings_functionality_search_web">Search the web</string>
<string name="settings_functionality_search_web_summary">Press return while searching the app list to launch a web search.</string> <string name="settings_functionality_search_web_summary">Press return while searching the app list to launch a web search.</string>
<string name="settings_functionality_auto_keyboard">Start keyboard for search</string> <string name="settings_functionality_auto_keyboard">Start keyboard for search</string>
@ -253,8 +255,8 @@
<string name="settings">Settings</string> <string name="settings">Settings</string>
<string name="ic_menu_alt">More options</string> <string name="ic_menu_alt">More options</string>
<string name="alert_cant_expand_status_bar_panel">Error: Can\'t expand status bar. This action is using functionality that is not part of the published Android API. Unfortunately, it does not seem to work on your device.</string> <string name="alert_cant_expand_status_bar_panel">Error: Can\'t expand status bar. This action is using functionality that is not part of the published Android API. Unfortunately, it does not seem to work on your device.</string>
<string name="alert_requires_android_m">This functionality requires Android 6.0 or later.</string> <string name="alert_requires_android_m">This functionality requires Android 6 or later.</string>
<string name="alert_requires_android_v">This functionality requires Android 15.0 or later.</string> <string name="alert_requires_android_v">This functionality requires Android 15 or later.</string>
<string name="snackbar_app_hidden">App hidden. You can make it visible again in settings.</string> <string name="snackbar_app_hidden">App hidden. You can make it visible again in settings.</string>
<string name="undo">Undo</string> <string name="undo">Undo</string>
<string name="list_other_expand_settings_panel">Quick Settings</string> <string name="list_other_expand_settings_panel">Quick Settings</string>
@ -328,5 +330,7 @@
<string name="dialog_cancel">Cancel</string> <string name="dialog_cancel">Cancel</string>
<string name="settings_meta_licenses">Open Source Licenses</string> <string name="settings_meta_licenses">Open Source Licenses</string>
<string name="legal_info_title">Open Source Licenses</string> <string name="legal_info_title">Open Source Licenses</string>
<string name="toast_activity_not_found_search_web">No app found to handle search.</string>
<string name="toast_activity_not_found_browser">Can\'t open URL: no browser found.</string>
</resources> </resources>

View file

@ -92,7 +92,8 @@
<SwitchPreference <SwitchPreference
android:key="@string/settings_functionality_search_auto_launch_key" android:key="@string/settings_functionality_search_auto_launch_key"
android:defaultValue="true" android:defaultValue="true"
android:title="@string/settings_functionality_auto_launch" /> android:title="@string/settings_functionality_auto_launch"
android:summary="@string/settings_functionality_auto_launch_summary" />
<SwitchPreference <SwitchPreference
android:key="@string/settings_functionality_search_web_key" android:key="@string/settings_functionality_search_web_key"
android:title="@string/settings_functionality_search_web" android:title="@string/settings_functionality_search_web"

View file

@ -0,0 +1,8 @@
* basic support for private space (Android 15)
* reintroduced light theme
* improved Portuguese translation (thank you, "Vossa Excelencia"!)
* improved German translation
* added version name to settings
* dialog for bug reports
* improved clock performance
* fixed some bugs