diff --git a/app/src/main/java/de/jrpie/android/launcher/actions/AppAction.kt b/app/src/main/java/de/jrpie/android/launcher/actions/AppAction.kt index 7a47c5a..5917c52 100644 --- a/app/src/main/java/de/jrpie/android/launcher/actions/AppAction.kt +++ b/app/src/main/java/de/jrpie/android/launcher/actions/AppAction.kt @@ -8,6 +8,7 @@ import android.content.SharedPreferences import android.content.pm.LauncherApps import android.graphics.Rect import android.graphics.drawable.Drawable +import android.util.Log import de.jrpie.android.launcher.R import de.jrpie.android.launcher.apps.AppInfo import de.jrpie.android.launcher.apps.AppInfo.Companion.INVALID_USER @@ -17,13 +18,13 @@ import de.jrpie.android.launcher.openAppSettings class AppAction(private var appInfo: AppInfo) : Action { - override fun invoke(context: Context, rect: Rect?): Boolean { val packageName = appInfo.packageName.toString() if (appInfo.user != INVALID_USER) { val launcherApps = context.getSystemService(Service.LAUNCHER_APPS_SERVICE) as LauncherApps appInfo.getLauncherActivityInfo(context)?.let { app -> + Log.i("Launcher", "Starting $appInfo") launcherApps.startMainActivity(app.componentName, app.user, rect, null) return true } @@ -70,14 +71,20 @@ class AppAction(private var appInfo: AppInfo) : Action { } override fun bindToGesture(editor: SharedPreferences.Editor, id: String) { - val u = appInfo.user ?: INVALID_USER + val u = appInfo.user + + // TODO: replace this by AppInfo#serialize (breaking change to SharedPreferences!) + var app = appInfo.packageName.toString() + if (appInfo.activityName != null) { + app += ";${appInfo.activityName}" + } editor - .putString("$id.app", appInfo.packageName.toString()) + .putString("$id.app", app) .putInt("$id.user", u) } override fun writeToIntent(intent: Intent) { - intent.putExtra("action_id", "${appInfo.packageName};${appInfo.activityName}"); - appInfo.user?.let { intent.putExtra("user", it) } + intent.putExtra("action_id", "${appInfo.packageName};${appInfo.activityName}") + intent.putExtra("user", appInfo.user) } } \ No newline at end of file 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 75172e7..6bc51a1 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 @@ -12,6 +12,8 @@ import de.jrpie.android.launcher.getUserFromId */ class AppInfo(val packageName: CharSequence, val activityName: CharSequence?, val user: Int = INVALID_USER) { + // TODO: make activityName non nullable (breaking change to SharedPreferences!) + fun serialize(): String { val u = user var ret = "$packageName;$u" @@ -38,12 +40,16 @@ class AppInfo(val packageName: CharSequence, val activityName: CharSequence?, va val launcherApps = context.getSystemService(Service.LAUNCHER_APPS_SERVICE) as LauncherApps return getUserFromId(user, context)?.let { userHandle -> launcherApps.getActivityList(packageName.toString(), userHandle).firstOrNull { app -> - activityName == null || app.name == activityName + app.name == activityName || activityName == null || activityName == "" } } } + override fun toString(): String { + return "AppInfo {package=$packageName, activity=$activityName, user=$user}" + } + companion object { const val INVALID_USER = -1 diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 99cd7f0..88a7580 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -140,4 +140,4 @@ Benachrichtigungen Fehler: Die Funktion \"Benachrichtigungen\" wird von deinem Gerät leider nicht unterstützt. Sekunden anzeigen - + \ No newline at end of file diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 3519921..e5902fe 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -65,7 +65,6 @@ Pantalla Mantener encendida Pantalla completa - Funciones Deslizar con dos dedos Auto-lanzar búsquedas @@ -129,4 +128,4 @@ Iniciar Configuración Más opciones - + \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index bf4fc65..9b7fe48 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -140,4 +140,4 @@ Échanger la date et l\'heure Afficher la date Utiliser le format de date local - + \ No newline at end of file diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml new file mode 100644 index 0000000..a6b3dae --- /dev/null +++ b/app/src/main/res/values-tr/strings.xml @@ -0,0 +1,2 @@ + + \ 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 279e2d2..9bce5b9 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -103,4 +103,4 @@ 显示时间 显示日期 翻转日期和时间 - + \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/25.txt b/fastlane/metadata/android/en-US/changelogs/25.txt new file mode 100644 index 0000000..aa0eef5 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/25.txt @@ -0,0 +1,3 @@ +* Favorite apps +* Option to hide apps +* Support for apps with multiple main activities diff --git a/fastlane/metadata/android/tr-TR/full_description.txt b/fastlane/metadata/android/tr-TR/full_description.txt new file mode 100644 index 0000000..179f9f5 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/full_description.txt @@ -0,0 +1,16 @@ +µLauncher kaydırma hareketleri ve tuşları kullanarak diğer uygulamaları başlatabilen bir ana ekrandır. +Minimal, verimlidir ve dikkat dağıtıcı ögeler içermez. + +Ana ekran sadece tarihi, zamanı ve bir arkaplanı gösterir. +Geri tuşuna basmak veya yukarı kaydırmak (daha sonra değiştirilebilir) her yüklü uygulamanın bulunduğu aranabilen bir listeyi açar. + +Bu Finn M Glas. tarafından geliştirilen Launcher'ın bir çatalıdır. + +Dikkate değer değişiklikler: +* Kenar hareketleri: Ekranın kenarında yapılan kaydırmayı merkezde yapılan kaydırmadan ayırt eden bir ayar var. +* İş profiliyle uyumludur, yani Shelter gibi uygulamalar kullanılabilir. +* Bu uygulama kendine has bir arkaplan sistemi yerine sisteminkini kullanır. +* Font Awesome ikonları Material ikonlarıyla değiştirildi. +* Ana ekrandaki dişli tuşu kaldırıldı, bunun yerine geri tuşuna basmak uygulama listesini açıyor ve uygulama ayarları oradan erişilebiliyor. +* Arama algoritması uygulama isminin başını öncelikte tutmak için değiştirildi, örneğin "te" aratırken "termux" "notes" uygulamasından önce çıkıyor. +* Arama barı ekranın alt kısmına taşındı. diff --git a/fastlane/metadata/android/tr-TR/short_description.txt b/fastlane/metadata/android/tr-TR/short_description.txt new file mode 100644 index 0000000..2777203 --- /dev/null +++ b/fastlane/metadata/android/tr-TR/short_description.txt @@ -0,0 +1 @@ +Android için dikkat dağıtmayan minimal ana ekran.