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
targetSdkVersion 35
compileSdk 35
versionCode 36
versionName "j-0.0.20"
versionCode 37
versionName "0.0.21"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

View file

@ -3,6 +3,7 @@ package de.jrpie.android.launcher
import android.app.Activity
import android.app.Service
import android.app.role.RoleManager
import android.content.ActivityNotFoundException
import android.content.ClipData
import android.content.ClipboardManager
import android.content.Context
@ -16,6 +17,7 @@ import android.os.UserHandle
import android.os.UserManager
import android.provider.Settings
import android.util.Log
import android.widget.Toast
import de.jrpie.android.launcher.actions.Action
import de.jrpie.android.launcher.actions.Gesture
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 launcherApps = context.getSystemService(Context.LAUNCHER_APPS_SERVICE) as LauncherApps
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) {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(url))
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) {

View file

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

View file

@ -1,11 +1,13 @@
package de.jrpie.android.launcher.ui.list.apps
import android.content.ActivityNotFoundException
import android.content.Intent
import android.content.SharedPreferences
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Toast
import androidx.fragment.app.Fragment
import de.jrpie.android.launcher.R
import de.jrpie.android.launcher.apps.AppFilter
@ -91,7 +93,16 @@ class ListFragmentApps : Fragment(), UIObject {
if (LauncherPreferences.functionality().searchWeb()) {
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 {
appsRecyclerAdapter.selectItem(0)
}

View file

@ -76,10 +76,12 @@
-
-->
<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_date_visible">Datum anzeigen</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_theme_color_theme_item_dynamic">Dynamisch</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_item_solid">Einfarbig</string>
@ -103,6 +105,7 @@
<string name="settings_enabled_gestures_edge_swipe">Kantenaktionen</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_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_launcher_sensitivity">Empfindlichkeit</string>
<!--
@ -123,6 +126,7 @@
<string name="settings_meta_report_bug">Einen Fehler melden</string>
<string name="settings_meta_discord">Unserem Discord beitreten</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_join_chat">Dem µLauncher-Chat beitreten</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_not_removed">Die App konnte nicht entfernt werden</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_list">Alle Anwendungen</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_down">Musik: Leiser</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_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_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="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>
@ -195,6 +202,7 @@
<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_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="accessibility_service_name">µLauncher - Bildschirm sperren</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_dim">Dimmen</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_item_default">Standard</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_serif">Serif</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="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>

View file

@ -258,4 +258,17 @@
<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="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>

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_edge_width">Edge width</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_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>
@ -253,8 +255,8 @@
<string name="settings">Settings</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_requires_android_m">This functionality requires Android 6.0 or later.</string>
<string name="alert_requires_android_v">This functionality requires Android 15.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 or later.</string>
<string name="snackbar_app_hidden">App hidden. You can make it visible again in settings.</string>
<string name="undo">Undo</string>
<string name="list_other_expand_settings_panel">Quick Settings</string>
@ -328,5 +330,7 @@
<string name="dialog_cancel">Cancel</string>
<string name="settings_meta_licenses">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>

View file

@ -92,7 +92,8 @@
<SwitchPreference
android:key="@string/settings_functionality_search_auto_launch_key"
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
android:key="@string/settings_functionality_search_web_key"
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