diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index f580315..fd22359 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -1,31 +1,32 @@
---
name: Bug report
about: Create a report to help improve this app
-title: ''
+title: '[bug] '
labels: bug
assignees: ''
---
-**Describe the bug**
+# Describe the bug
A clear and concise description of what the bug is.
-**To Reproduce**
+# To Reproduce
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
-**Expected behavior**
+# Expected behavior
A clear and concise description of what you expected to happen.
-**Screenshots**
+# Screenshots
If applicable, add screenshots to help explain your problem.
-**Smartphone (please complete the following information):**
+# Smartphone (please complete the following information)
- Device: [e.g. Samsung A7]
- Android Version: [e.g. Marshmallow, 6.0 or API 23]
+ - µLauncher Version: [e.g. j-0.0.11 or version code 25]
-**Additional info**
+# Additional info
Add any other info or comments about the problem here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
index e2b3f9d..4ab974b 100644
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ b/.github/ISSUE_TEMPLATE/feature_request.md
@@ -1,20 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
-title: ''
+title: '[feature] '
labels: enhancement
assignees: ''
---
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
+# Mandatory: Please describe the problem to be solved
+(Remove this text: Add a clear and concise description of the addressed problem. Don't say "add a button such that ... " but **why** this button should be added. This is very important as it allows to discuss alternative solutions.)
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
+# Optional: Describe the solution you would suggest
+(Remove this text: A description of the solution, e.g. "add a button to the settings activity. When clicking that button ..." )
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
+# Optional: Describe alternative solutions you've considered
+(Remove this text: A description of any alternative solutions or features you've considered.)
-**Additional info**
-Add any other info, comments or screenshots about the feature request here.
+# Optional: Additional info
+(Remove this text: Add any other info, comments or screenshots about the feature request here.)
diff --git a/.gitignore b/.gitignore
index e8c588d..c21100e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,6 +40,7 @@ captures/
# IntelliJ
*.iml
+.idea/*
.idea/workspace.xml
.idea/tasks.xml
.idea/other.xml
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
deleted file mode 100644
index feb0c69..0000000
--- a/.idea/codeStyles/Project.xml
+++ /dev/null
@@ -1,129 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- xmlns:android
-
- ^$
-
-
-
-
-
-
-
-
- xmlns:.*
-
- ^$
-
-
- BY_NAME
-
-
-
-
-
-
- .*:id
-
- http://schemas.android.com/apk/res/android
-
-
-
-
-
-
-
-
- .*:name
-
- http://schemas.android.com/apk/res/android
-
-
-
-
-
-
-
-
- name
-
- ^$
-
-
-
-
-
-
-
-
- style
-
- ^$
-
-
-
-
-
-
-
-
- .*
-
- ^$
-
-
- BY_NAME
-
-
-
-
-
-
- .*
-
- http://schemas.android.com/apk/res/android
-
-
- ANDROID_ATTRIBUTE_ORDER
-
-
-
-
-
-
- .*
-
- .*
-
-
- BY_NAME
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
deleted file mode 100644
index 79ee123..0000000
--- a/.idea/codeStyles/codeStyleConfig.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
deleted file mode 100644
index b589d56..0000000
--- a/.idea/compiler.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/deviceManager.xml b/.idea/deviceManager.xml
deleted file mode 100644
index 91f9558..0000000
--- a/.idea/deviceManager.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
deleted file mode 100644
index a5f05cd..0000000
--- a/.idea/jarRepositories.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml
deleted file mode 100644
index 6d0ee1c..0000000
--- a/.idea/kotlinc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/migrations.xml b/.idea/migrations.xml
deleted file mode 100644
index f8051a6..0000000
--- a/.idea/migrations.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 8f51cae..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/README.md b/README.md
index 6e49591..3379726 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,10 @@
-
+[![][shield-release]][latest-release]
[![][shield-license]][license]
+[][matrix]
+[][discord]
+
+
# μLauncher
@@ -28,7 +32,7 @@ Or download the latest APK from the [Releases Section](https://github.com/jrpie/
There are several ways to contribute to this app:
* You can add or improve [translations][toolate].
-* If you find a bug or have an idea for a new feature you can open an [issue][issues]. Please note that I work on this project in my free time. Thus I might not respond immediately and not all ideas will be implemented.
+* If you find a bug or have an idea for a new feature you can [join the Matrix chat][matrix] or open an [issue][issues]. Please note that I work on this project in my free time. Thus I might not respond immediately and not all ideas will be implemented.
* You can implement a new feature yourself:
- Create a fork of this repository: [![][shield-gh-fork]][fork]
- Create a new branch named `feature/` of `fix/` and commit your changes.
@@ -77,14 +81,15 @@ There are several ways to contribute to this app:
[shield-release]: https://img.shields.io/github/v/release/jrpie/Launcher?style=flat
+ [latest-release]: https://github.com/jrpie/Launcher/releases/latest
[shield-contribute]: https://img.shields.io/badge/contributions-welcome-007ec6.svg?style=flat
[shield-license]: https://img.shields.io/badge/license-MIT-007ec6?style=flat
[shield-gh-watch]: https://img.shields.io/github/watchers/jrpie/Launcher?label=Watch&style=social
[shield-gh-star]: https://img.shields.io/github/stars/jrpie/Launcher?label=Star&style=social
[shield-gh-fork]: https://img.shields.io/github/forks/jrpie/Launcher?label=Fork&style=social
-
-
+ [matrix]: https://s.jrpie.de/launcher-matrix
+ [discord]: https://s.jrpie.de/launcher-discord
diff --git a/app/build.gradle b/app/build.gradle
index b6a1b7c..f589b70 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -23,8 +23,8 @@ android {
minSdkVersion 21
targetSdkVersion 35
compileSdk 35
- versionCode 24
- versionName "j-0.0.10"
+ versionCode 26
+ versionName "j-0.0.12"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 241f10a..8cbc7ed 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -39,6 +39,7 @@
-
diff --git a/app/src/main/java/de/jrpie/android/launcher/Application.kt b/app/src/main/java/de/jrpie/android/launcher/Application.kt
index 6f0aaad..88a0fb3 100644
--- a/app/src/main/java/de/jrpie/android/launcher/Application.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/Application.kt
@@ -9,5 +9,6 @@ class Application : android.app.Application() {
val preferences = PreferenceManager.getDefaultSharedPreferences(this)
LauncherPreferences.init(preferences, this.resources)
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/de/jrpie/android/launcher/Functions.kt b/app/src/main/java/de/jrpie/android/launcher/Functions.kt
index f2d151d..37dc3fb 100644
--- a/app/src/main/java/de/jrpie/android/launcher/Functions.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/Functions.kt
@@ -96,9 +96,13 @@ fun getIntent(packageName: String, context: Context): Intent? {
}
/* --- */
-fun getUserFromId(user: Int?, context: Context): UserHandle? {
+fun getUserFromId(user: Int?, context: Context): UserHandle {
+ /* TODO: this is an ugly hack.
+ Use userManager#getUserForSerialNumber instead (breaking change to SharedPreferences!)
+ */
val userManager = context.getSystemService(Service.USER_SERVICE) as UserManager
- return userManager.userProfiles.firstOrNull { it.hashCode() == user }
+ val profiles = userManager.userProfiles
+ return profiles.firstOrNull { it.hashCode() == user } ?: profiles[0]
}
@@ -106,10 +110,10 @@ fun uninstallApp(appInfo: AppInfo, activity: Activity) {
val packageName = appInfo.packageName.toString()
val user = appInfo.user
- Log.i("Launcher", "uninstalling $packageName ($user)")
+ Log.i("Launcher", "uninstalling $appInfo")
val intent = Intent(Intent.ACTION_UNINSTALL_PACKAGE)
intent.data = Uri.parse("package:$packageName")
- getUserFromId(user, activity)?.let { user ->
+ getUserFromId(user, activity).let { user ->
intent.putExtra(Intent.EXTRA_USER, user)
}
diff --git a/app/src/main/java/de/jrpie/android/launcher/actions/Action.kt b/app/src/main/java/de/jrpie/android/launcher/actions/Action.kt
index a1c6074..1eab2ee 100644
--- a/app/src/main/java/de/jrpie/android/launcher/actions/Action.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/actions/Action.kt
@@ -39,7 +39,7 @@ interface Action {
val id = gesture.id
val preferences = LauncherPreferences.getSharedPreferences()
- var actionId = preferences.getString("$id.app", "")!!
+ val actionId = preferences.getString("$id.app", "")!!
var u: Int? = preferences.getInt("$id.user", INVALID_USER)
u = if (u == INVALID_USER) null else u
@@ -48,7 +48,7 @@ interface Action {
fun resetToDefaultActions(context: Context) {
val editor = LauncherPreferences.getSharedPreferences().edit()
- Gesture.values().forEach { gesture ->
+ Gesture.entries.forEach { gesture ->
context.resources
.getStringArray(gesture.defaultsResource)
.map { fromId(it, null) }
@@ -96,7 +96,7 @@ interface Action {
fun fromIntent(data: Intent): Action? {
val value = data.getStringExtra("action_id") ?: return null
- var user = data.getIntExtra("user", INVALID_USER)
+ val user = data.getIntExtra("user", INVALID_USER)
return fromId(value, user)
}
}
diff --git a/app/src/main/java/de/jrpie/android/launcher/actions/LauncherAction.kt b/app/src/main/java/de/jrpie/android/launcher/actions/LauncherAction.kt
index 6442f47..4d5c8f4 100644
--- a/app/src/main/java/de/jrpie/android/launcher/actions/LauncherAction.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/actions/LauncherAction.kt
@@ -65,6 +65,12 @@ enum class LauncherAction(
R.drawable.baseline_notifications_24,
::expandNotificationsPanel
),
+ EXPAND_SETTINGS_PANEL(
+ "launcher:expandSettingsPanel",
+ R.string.list_other_expand_settings_panel,
+ R.drawable.baseline_settings_applications_24,
+ ::expandSettingsPanel
+ ),
NOP("launcher:nop", R.string.list_other_nop, R.drawable.baseline_not_interested_24, {});
override fun invoke(context: Context, rect: Rect?): Boolean {
@@ -170,7 +176,24 @@ private fun expandNotificationsPanel(context: Context) {
} catch (e: Exception) {
Toast.makeText(
context,
- context.getString(R.string.alert_cant_expand_notifications_panel),
+ context.getString(R.string.alert_cant_expand_status_bar_panel),
+ Toast.LENGTH_LONG
+ ).show()
+ }
+}
+
+private fun expandSettingsPanel(context: Context) {
+ /* https://stackoverflow.com/a/31898506 */
+ try {
+ @Suppress("SpellCheckingInspection")
+ val statusBarService: Any? = context.getSystemService("statusbar")
+ val statusBarManager = Class.forName("android.app.StatusBarManager")
+ val showStatusBar = statusBarManager.getMethod("expandSettingsPanel")
+ showStatusBar.invoke(statusBarService)
+ } catch (e: Exception) {
+ Toast.makeText(
+ context,
+ context.getString(R.string.alert_cant_expand_status_bar_panel),
Toast.LENGTH_LONG
).show()
}
diff --git a/app/src/main/java/de/jrpie/android/launcher/apps/AppInfo.kt b/app/src/main/java/de/jrpie/android/launcher/apps/AppInfo.kt
index 6bc51a1..daa7d96 100644
--- a/app/src/main/java/de/jrpie/android/launcher/apps/AppInfo.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/apps/AppInfo.kt
@@ -4,6 +4,7 @@ import android.app.Service
import android.content.Context
import android.content.pm.LauncherActivityInfo
import android.content.pm.LauncherApps
+import android.util.Log
import de.jrpie.android.launcher.getUserFromId
/**
@@ -19,13 +20,13 @@ class AppInfo(val packageName: CharSequence, val activityName: CharSequence?, va
var ret = "$packageName;$u"
activityName?.let { ret += ";$activityName" }
- return ret;
+ return ret
}
override fun equals(other: Any?): Boolean {
if(other is AppInfo) {
return other.user == user && other.packageName == packageName
- && other.activityName == activityName;
+ && other.activityName == activityName
}
return super.equals(other)
}
@@ -38,11 +39,10 @@ class AppInfo(val packageName: CharSequence, val activityName: CharSequence?, va
context: Context
): LauncherActivityInfo? {
val launcherApps = context.getSystemService(Service.LAUNCHER_APPS_SERVICE) as LauncherApps
- return getUserFromId(user, context)?.let { userHandle ->
- launcherApps.getActivityList(packageName.toString(), userHandle).firstOrNull { app ->
- app.name == activityName || activityName == null || activityName == ""
- }
- }
+ val userHandle = getUserFromId(user, context)
+ val activityList = launcherApps.getActivityList(packageName.toString(), userHandle)
+ return activityList.firstOrNull { app -> app.name == activityName }
+ ?: activityList.firstOrNull()
}
diff --git a/app/src/main/java/de/jrpie/android/launcher/preferences/LauncherPreferences$Config.java b/app/src/main/java/de/jrpie/android/launcher/preferences/LauncherPreferences$Config.java
index 4c25b6e..970e97f 100644
--- a/app/src/main/java/de/jrpie/android/launcher/preferences/LauncherPreferences$Config.java
+++ b/app/src/main/java/de/jrpie/android/launcher/preferences/LauncherPreferences$Config.java
@@ -51,7 +51,7 @@ import eu.jonahbauer.android.preference.annotations.serializer.PreferenceSeriali
@PreferenceGroup(name = "display", prefix = "settings_display_", suffix = "_key", value = {
@Preference(name = "screen_timeout_disabled", type = boolean.class, defaultValue = "false"),
@Preference(name = "full_screen", type = boolean.class, defaultValue = "true"),
- @Preference(name = "rotate_screen", type = boolean.class, defaultValue = "false"),
+ @Preference(name = "rotate_screen", type = boolean.class, defaultValue = "true"),
}),
@PreferenceGroup(name = "functionality", prefix = "settings_functionality_", suffix = "_key", value = {
@Preference(name = "search_auto_launch", type = boolean.class, defaultValue = "true"),
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 ba5f260..bcd255f 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
@@ -64,7 +64,8 @@ class HomeActivity : UIObject, AppCompatActivity(),
private var clockTimer = Timer()
override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
+ super.onCreate(savedInstanceState)
+ super.onCreate()
// Try to restore old preferences
migratePreferencesToNewVersion(this)
diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/UIObject.kt b/app/src/main/java/de/jrpie/android/launcher/ui/UIObject.kt
index 94bf347..b352d95 100644
--- a/app/src/main/java/de/jrpie/android/launcher/ui/UIObject.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/ui/UIObject.kt
@@ -37,16 +37,17 @@ fun setWindowFlags(window: Window, homeScreen: Boolean) {
}
interface UIObject {
- fun onStart() {
+ fun onCreate() {
if (this is Activity) {
setWindowFlags(window, isHomeScreen())
- requestedOrientation = if (!LauncherPreferences.display().rotateScreen()) {
- ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
- } else {
- ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
- }
- }
+ if (!LauncherPreferences.display().rotateScreen()) {
+ requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_NOSENSOR
+ }
+
+ }
+ }
+ fun onStart() {
setOnClicks()
adjustLayout()
}
diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/list/ListActivity.kt b/app/src/main/java/de/jrpie/android/launcher/ui/list/ListActivity.kt
index 5a01237..90b82ea 100644
--- a/app/src/main/java/de/jrpie/android/launcher/ui/list/ListActivity.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/ui/list/ListActivity.kt
@@ -50,7 +50,8 @@ class ListActivity : AppCompatActivity(), UIObject {
override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
+ super.onCreate(savedInstanceState)
+ super.onCreate()
// get info about which action this activity is open for
intent.extras?.let { bundle ->
@@ -109,6 +110,9 @@ class ListActivity : AppCompatActivity(), UIObject {
override fun onPause() {
super.onPause()
+
+ // ensure that the activity closes then an app is launched
+ // and when the user navigates to recent apps
finish()
}
diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/list/apps/AppsRecyclerAdapter.kt b/app/src/main/java/de/jrpie/android/launcher/ui/list/apps/AppsRecyclerAdapter.kt
index 2a42ed7..50d3264 100644
--- a/app/src/main/java/de/jrpie/android/launcher/ui/list/apps/AppsRecyclerAdapter.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/ui/list/apps/AppsRecyclerAdapter.kt
@@ -1,5 +1,6 @@
package de.jrpie.android.launcher.ui.list.apps
+import android.annotation.SuppressLint
import android.app.Activity
import android.content.Intent
import android.graphics.Rect
@@ -36,6 +37,7 @@ import de.jrpie.android.launcher.uninstallApp
* @param intention - why the list is displayed ("view", "pick")
* @param forGesture - the action which an app is chosen for (when the intention is "pick")
*/
+@SuppressLint("NotifyDataSetChanged")
class AppsRecyclerAdapter(
val activity: Activity,
val root: View,
diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/settings/SettingsActivity.kt b/app/src/main/java/de/jrpie/android/launcher/ui/settings/SettingsActivity.kt
index f509235..e46a956 100644
--- a/app/src/main/java/de/jrpie/android/launcher/ui/settings/SettingsActivity.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/ui/settings/SettingsActivity.kt
@@ -44,7 +44,9 @@ class SettingsActivity : AppCompatActivity(), UIObject {
private lateinit var binding: SettingsBinding
override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
+ super.onCreate(savedInstanceState)
+ super.onCreate()
+
// Initialise layout
binding = SettingsBinding.inflate(layoutInflater)
diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/tutorial/TutorialActivity.kt b/app/src/main/java/de/jrpie/android/launcher/ui/tutorial/TutorialActivity.kt
index 490f42d..28e2e02 100644
--- a/app/src/main/java/de/jrpie/android/launcher/ui/tutorial/TutorialActivity.kt
+++ b/app/src/main/java/de/jrpie/android/launcher/ui/tutorial/TutorialActivity.kt
@@ -30,7 +30,8 @@ import de.jrpie.android.launcher.ui.tutorial.tabs.TutorialFragmentUsage
class TutorialActivity : AppCompatActivity(), UIObject {
override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
+ super.onCreate(savedInstanceState)
+ super.onCreate()
// Initialise layout
setContentView(R.layout.tutorial)
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 88a7580..45effcd 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -138,6 +138,7 @@
EinstellungenMehr OptionenBenachrichtigungen
- Fehler: Die Funktion \"Benachrichtigungen\" wird von deinem Gerät leider nicht unterstützt.
+ Fehler: Diese Funktion wird von deinem Gerät leider nicht unterstützt.Sekunden anzeigen
-
\ No newline at end of file
+ Schnelleinstellungen
+
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 9b7fe48..c1df5bd 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -7,7 +7,7 @@
-->
Impossible d\'ouvrir l\'applicationSouhaitez-vous modifier ses paramètres ?
- Ouvrez les paramètres pour choisir une application pour cette action
+ Ouvrez les paramètres pour associer une action à ce geste
- Applications
+ Toutes les ApplicationsChoisir AppApplicationsAutre
@@ -93,7 +93,7 @@
Impossible de désinstaller l\'applicationChercher des applicationsRéglages du launcher
- Applications
+ Toutes les ApplicationsAugmenter le volumeDiminuer le volumeMusique : passer au titre suivant
@@ -140,4 +140,24 @@
Échanger la date et l\'heureAfficher la dateUtiliser le format de date local
+ Applis
+ Fond d\'écran (liste d\'applications et réglages)
+ Police
+ Icônes d\'applications monochromes
+ Afficher les secondes
+ Rotation de l\'écran
+ Afficher le panneau de notifications
+ Applications cachées
+ Applications favorites
+ Applications masquées
+ Ajouter aux favoris
+ Retirer des favoris
+ Cacher
+ Montrer
+ Applications Favorites
+ Appli cachée. Vous pouvez l\'afficher à nouveau depuis les réglages.
+ Défaire
+ Erreur : impossible d\'afficher la barre de statut.
+\nCette action utilise des fonctionalités qui ne sont pas officiellement dans l\'API Android. Malheuresement ça ne semble pas fonctionner sur votre appareil.
+ Réglages rapides
\ No newline at end of file
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 2f6081e..e3ab69a 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -1,96 +1,79 @@
+
- Não é possível abrir o aplicativo
+ Não foi possível abrir o appQuer alterar as suas configurações?
-
- Abrir as configurações para escolher uma aplicação para esta ação
-
+ Abra as configurações para escolher uma ação para esse gestoConfigurações
-
AppsLauncherMeta
-
Deslizar para cima
- Duplo para cima
+ 2 dedos para cimaDeslizar para baixo
- Duplo para baixo
+ 2 dedos para baixoDeslizar para esquerda
- Duplo para esquerda
+ 2 dedos para esquerdaDeslizar para direita
- Duplo para direita
+ 2 dedos para direitaDeslizar para direita (Cima)
- Deslizar para direita(Baixo)
+ Deslizar para direita (Baixo)Deslizar para esquerda (Baixo)Deslizar para esquerda (Cima)Deslizar para cima (Borda esquerda)Deslizar para cima (Borda direita)Deslizar para baixo (Borda esquerda)Deslizar para baixo (Borda direita)
- Aumentar o volume
- Diminuir o volume
- Duplo clique
- Clique longo
- Clique em Data
- Clique em Tempo
-
- Selecionar o aplicativo
-
- Ver todos os aplicativos
-
+ Aumento de volume
+ Diminuição de volume
+ Toque duplo
+ Toque longo
+ Toque em Data
+ Toque em Tempo
+ Selecione um app
+ Ver todos os appsInstalar aplicativosLoja não encontrada
-
Aparência
-
-
TemaPadrãoEscuro
-
Mostrar HorárioMostrar DataUse formato de data localizadoInverter data e hora
-
Escolha um papel de paredeAlterar papel de parede
-
Exibição
-
Manter a tela ligadaUsar tela cheia
-
Funções
-
- Ações de deslizar duas vezes
+ Deslize com 2 dedosAções de deslizar nas bordasIniciar resultados da pesquisa
- Iniciar teclado para pesquisa
-
+ Mostrar teclado para pesquisaSensibilidade
-
Definir o μLauncher como tela inicialInformações do aplicativo
- Seu dispositivo não suporta esse recurso. Gerenciar detalhes do aplicativo em vez disso?
-
+ Seu dispositivo não é compatível com esse recurso. Gerenciar detalhes do app em vez disso?Ver tutorial do launcher
-
Redefinir configuraçãosVocê vai descartar todas as suas preferências. Continuar?
-
Reportar um bug
-
Entre em contato com o desenvolvedor do fork
-
Política de Privacidade
-
Entre em contato com o desenvolvedor original
-
-
Junte-se a nós no discord!
-
- Todos os aplicativos
- Escolha o aplicativo
-
+ Todos os apps
+ Escolha um appAplicativos
- Outro
-
+ OutrosDesinstalarInformações do aplicativo
-
- O aplicativo selecionado foi removido
- Não é possível remover o aplicativo
-
+ O app selecionado foi removido
+ Não foi possível remover o appPesquisar Aplicativos
-
Configurações do Launcher
- Todos os aplicativos
- Music: Mais alto
- Music: Mais silencioso
- Music: Próximo
- Music: Anterior
+ Todos os apps
+ Música: Mais alto
+ Música: Mais silencioso
+ Música: Próximo
+ Música: AnteriorNão faça nada
-
TutorialTire alguns segundos para aprender a usar este Launcher!
-
ConceitoO Launcher foi projetado para ser minimalista, eficiente e livre de distrações.\n\nEle é livre de pagamentos, anúncios e serviços de rastreamento.O aplicativo é de código aberto (licença MIT) e está disponível no GitHub!\n\nNão deixe de conferir o repositório!
-
UsoSua tela inicial contém a data e a hora locais. Sem distração.
- Você pode iniciar seus aplicativos com um único toque ou pressionamento de botão. Escolha alguns no próximo slide.
-
+ Você pode iniciar seus aplicativos com um toque único ou pressionando um botão. Escolha algumas ações no próximo slide.ConfigurarSelecionamos alguns aplicativos padrões para você. Se quiser, você pode alterá-los agora.
- Você também pode alterar sua seleção mais tarde.
-
- Vamos!
+ Você também pode alterar suas escolhas mais tarde.
+ Vamos lá!Você está pronto para começar!\n\nEspero que isso seja de grande valor para você!\n\n- Finn (que criou o Launcher)\n\te Josia (que fez algumas melhorias e mantém o fork μLauncher)Começar
-
-
-
ConfiguraçõesMais opções
+ Remover dos favoritos
+ Erro: Não foi possível expandir a barra de status.
+\nEssa ação usa uma funcionalidade que não faz parte da API do Android publicada. Infelizmente, ela não vai funcionar no seu dispositivo.
+ Fundo (lista de apps e configurações)
+ Fonte
+ Ícones de apps monocromáticos
+ Data e hora
+ Mostrar segundos
+ Girar a tela
+ Apps
+ Apps ocultos
+ Apps favoritos
+ Apps ocultos
+ Adicione aos favoritos
+ Ocultar
+ Mostrar
+ Apps favoritos
+ Expandir painel de notificações
+ App está oculto. Você pode torná-lo visível nas configurações.
+ Desfazer
\ No newline at end of file
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 9bce5b9..26531bc 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -12,7 +12,7 @@
下滑无法打开应用要更改其设置吗?
- 打开设置,为该操作绑定一个应用程序
+ 打开设置,为该手势绑定一个应用程序应用程序启动器杂项
@@ -29,7 +29,7 @@
上滑(左边缘)上滑(右边缘)下滑(左边缘)
- 下滑两次(右边缘)
+ 下滑(右边缘)音量加音量减双击
@@ -103,4 +103,13 @@
显示时间显示日期翻转日期和时间
+ 背景(应用列表和设置)
+ 字体
+ 黑白应用图标
+ 显示秒
+ 旋转屏幕
+ 应用
+ 展开通知面板
+ 错误:无法打开通知栏。
+\n这个动作使用的功能并非现有的 Android API的一部分。不幸的是,它似乎不适用于您的设备。
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 348a4b6..c17d4e3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -204,7 +204,8 @@
SettingsMore options
- Error: Can\'t expand status bar.\nThis action is using functionality that is not part of the published Android API. Unfortunately, it does not seem to work on your device.
+ Error: Can\'t expand status bar.\nThis action is using functionality that is not part of the published Android API. Unfortunately, it does not seem to work on your device.App hidden. You can make it visible again in settings.Undo
+ Quick Settings
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index d75781a..740cb5a 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -118,7 +118,7 @@
android:title="@string/settings_display_full_screen"/>