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 ddef92a..2d03061 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 @@ -21,9 +21,6 @@ sealed interface Action { fun getIcon(context: Context): Drawable? fun isAvailable(context: Context): Boolean - // Can the action be used to reach µLauncher settings? - fun canReachSettings(): Boolean - fun bindToGesture(prefEditor: Editor, id: String) { prefEditor.putString(id, Json.encodeToString(this)) @@ -53,10 +50,7 @@ sealed interface Action { .map { Pair(it, Json.decodeFromString(it)) } .firstOrNull { it.second.isAvailable(context) } ?.apply { - // allow to bind CHOOSE to multiple gestures - if (second != LauncherAction.CHOOSE) { - boundActions.add(first) - } + boundActions.add(first) second.bindToGesture(editor, gesture.id) } } 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 90145aa..4b71a90 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 @@ -74,8 +74,4 @@ class AppAction(val app: AppInfo) : Action { // check if app is installed return DetailedAppInfo.fromAppInfo(app, context) != null } - - override fun canReachSettings(): Boolean { - return false - } } \ No newline at end of file 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 dba314d..e7358ba 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 @@ -168,12 +168,6 @@ enum class Gesture( R.string.settings_gesture_description_double_right, R.array.default_double_right, R.anim.left_right - ), - BACK( - "action.back", - R.string.settings_gesture_back, - R.string.settings_gesture_description_back, - R.array.default_up ); enum class Edge { 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 ac6958b..03f4b11 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 @@ -13,7 +13,6 @@ import android.os.UserManager import android.provider.Settings import android.view.KeyEvent import android.widget.Toast -import androidx.appcompat.widget.AppCompatDrawableManager import de.jrpie.android.launcher.Application import de.jrpie.android.launcher.R import de.jrpie.android.launcher.apps.AppFilter @@ -41,29 +40,25 @@ enum class LauncherAction( val label: Int, val icon: Int, val launch: (Context) -> Unit, - private val canReachSettings: Boolean = false, - val available: (Context) -> Boolean = { true }, + val available: (Context) -> Boolean = { true } ) : Action { SETTINGS( "settings", R.string.list_other_settings, R.drawable.baseline_settings_24, - ::openSettings, - true + ::openSettings ), CHOOSE( "choose", R.string.list_other_list, R.drawable.baseline_menu_24, - ::openAppsList, - true + ::openAppsList ), CHOOSE_FROM_FAVORITES( "choose_from_favorites", R.string.list_other_list_favorites, R.drawable.baseline_favorite_24, - { context -> openAppsList(context, true) }, - true + { context -> openAppsList(context, true) } ), TOGGLE_PRIVATE_SPACE_LOCK( "toggle_private_space_lock", @@ -132,11 +127,7 @@ enum class LauncherAction( } override fun isAvailable(context: Context): Boolean { - return this.available(context) - } - - override fun canReachSettings(): Boolean { - return this.canReachSettings + return true } companion object { diff --git a/app/src/main/java/de/jrpie/android/launcher/preferences/Preferences.kt b/app/src/main/java/de/jrpie/android/launcher/preferences/Preferences.kt index 9460125..bb59948 100644 --- a/app/src/main/java/de/jrpie/android/launcher/preferences/Preferences.kt +++ b/app/src/main/java/de/jrpie/android/launcher/preferences/Preferences.kt @@ -7,7 +7,6 @@ import de.jrpie.android.launcher.actions.Action import de.jrpie.android.launcher.apps.AppInfo import de.jrpie.android.launcher.apps.DetailedAppInfo import de.jrpie.android.launcher.preferences.legacy.migratePreferencesFromVersion1 -import de.jrpie.android.launcher.preferences.legacy.migratePreferencesFromVersion2 import de.jrpie.android.launcher.preferences.legacy.migratePreferencesFromVersionUnknown import de.jrpie.android.launcher.ui.HomeActivity @@ -15,7 +14,7 @@ import de.jrpie.android.launcher.ui.HomeActivity * Increase when breaking changes are introduced and write an appropriate case in * `migratePreferencesToNewVersion` */ -const val PREFERENCE_VERSION = 3 +const val PREFERENCE_VERSION = 2 const val UNKNOWN_PREFERENCE_VERSION = -1 private const val TAG = "Launcher - Preferences" @@ -33,16 +32,13 @@ fun migratePreferencesToNewVersion(context: Context) { UNKNOWN_PREFERENCE_VERSION -> { /* still using the old preferences file */ migratePreferencesFromVersionUnknown(context) - Log.i(TAG, "migration of preferences complete (${UNKNOWN_PREFERENCE_VERSION} -> ${PREFERENCE_VERSION}).") + + Log.i(TAG, "migration of preferences complete.") } 1 -> { migratePreferencesFromVersion1() - Log.i(TAG, "migration of preferences complete (1 -> ${PREFERENCE_VERSION}).") - } - 2 -> { - migratePreferencesFromVersion2() - Log.i(TAG, "migration of preferences complete (2 -> ${PREFERENCE_VERSION}).") + Log.i(TAG, "migration of preferences complete.") } else -> { diff --git a/app/src/main/java/de/jrpie/android/launcher/preferences/legacy/Version1.kt b/app/src/main/java/de/jrpie/android/launcher/preferences/legacy/Version1.kt index d617127..66723ad 100644 --- a/app/src/main/java/de/jrpie/android/launcher/preferences/legacy/Version1.kt +++ b/app/src/main/java/de/jrpie/android/launcher/preferences/legacy/Version1.kt @@ -117,12 +117,11 @@ private fun migrateAction(key: String) { * (see [PREFERENCE_VERSION]) */ fun migratePreferencesFromVersion1() { + assert(PREFERENCE_VERSION == 2) assert(LauncherPreferences.internal().versionCode() == 1) Gesture.entries.forEach { g -> migrateAction(g.id) } migrateAppInfoSet(LauncherPreferences.apps().keys().hidden()) migrateAppInfoSet(LauncherPreferences.apps().keys().favorites()) migrateAppInfoStringMap(LauncherPreferences.apps().keys().customNames()) LauncherPreferences.internal().versionCode(2) - - migratePreferencesFromVersion2() } \ No newline at end of file diff --git a/app/src/main/java/de/jrpie/android/launcher/preferences/legacy/Version2.kt b/app/src/main/java/de/jrpie/android/launcher/preferences/legacy/Version2.kt deleted file mode 100644 index bcac3ae..0000000 --- a/app/src/main/java/de/jrpie/android/launcher/preferences/legacy/Version2.kt +++ /dev/null @@ -1,20 +0,0 @@ -package de.jrpie.android.launcher.preferences.legacy - -import de.jrpie.android.launcher.actions.Action -import de.jrpie.android.launcher.actions.Gesture -import de.jrpie.android.launcher.actions.LauncherAction -import de.jrpie.android.launcher.preferences.LauncherPreferences -import de.jrpie.android.launcher.preferences.PREFERENCE_VERSION - - -/** - * Migrate preferences from version 2 (used until version 0.0.21) to the current format - * (see [PREFERENCE_VERSION]) - */ -fun migratePreferencesFromVersion2() { - assert(PREFERENCE_VERSION == 3) - assert(LauncherPreferences.internal().versionCode() == 2) - // previously there was no setting for this - Action.setActionForGesture(Gesture.BACK, LauncherAction.CHOOSE) - LauncherPreferences.internal().versionCode(3) -} \ No newline at end of file diff --git a/app/src/main/java/de/jrpie/android/launcher/preferences/legacy/VersionUnknown.kt b/app/src/main/java/de/jrpie/android/launcher/preferences/legacy/VersionUnknown.kt index c61ca95..1ecbd74 100644 --- a/app/src/main/java/de/jrpie/android/launcher/preferences/legacy/VersionUnknown.kt +++ b/app/src/main/java/de/jrpie/android/launcher/preferences/legacy/VersionUnknown.kt @@ -50,6 +50,7 @@ private const val TAG = "Preferences ? -> 1" * and a different file was used. */ fun migratePreferencesFromVersionUnknown(context: Context) { + assert(PREFERENCE_VERSION == 2) Log.i( TAG, 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 42dc01b..1d5381d 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 @@ -9,7 +9,6 @@ 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 @@ -55,10 +54,6 @@ class HomeActivity : UIObject, AppCompatActivity(), ) { recreate() } - - if (prefKey?.startsWith("action.") == true) { - updateSettingsFallbackButtonVisibility() - } } private var edgeWidth = 0.15f @@ -85,10 +80,6 @@ class HomeActivity : UIObject, AppCompatActivity(), handleBack() } } - binding.buttonFallbackSettings.setOnClickListener { - LauncherAction.SETTINGS.invoke(this) - } - } @@ -105,20 +96,6 @@ class HomeActivity : UIObject, AppCompatActivity(), } - private fun updateSettingsFallbackButtonVisibility() { - // If µLauncher settings can not be reached from any action bound to an enabled gesture, - // show the fallback button. - binding.buttonFallbackSettings.visibility = if ( - !Gesture.entries.any { g -> - g.isEnabled() && Action.forGesture(g)?.canReachSettings() == true - } - ) { - View.VISIBLE - } else { - View.GONE - } - } - private fun initClock() { val locale = Locale.getDefault() val dateVisible = LauncherPreferences.clock().dateVisible() @@ -175,7 +152,6 @@ class HomeActivity : UIObject, AppCompatActivity(), edgeWidth = LauncherPreferences.enabled_gestures().edgeSwipeEdgeWidth() / 100f initClock() - updateSettingsFallbackButtonVisibility() } override fun onDestroy() { @@ -323,7 +299,7 @@ class HomeActivity : UIObject, AppCompatActivity(), private fun handleBack() { - Gesture.BACK(this) + LauncherAction.CHOOSE.launch(this) } override fun isHomeScreen(): Boolean { diff --git a/app/src/main/res/layout/home.xml b/app/src/main/res/layout/home.xml index ecefdea..f59b211 100644 --- a/app/src/main/res/layout/home.xml +++ b/app/src/main/res/layout/home.xml @@ -34,18 +34,4 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> - - - \ No newline at end of file diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 320bfc6..06555b0 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)\n \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) \te Josia (che ha aggiunto qualche miglioramento e mantiene il fork μLauncher) Inizia Impostazioni Altre opzioni @@ -236,5 +236,4 @@ µ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 diff --git a/app/src/main/res/values/defaults.xml b/app/src/main/res/values/defaults.xml index 276651d..5ed9327 100644 --- a/app/src/main/res/values/defaults.xml +++ b/app/src/main/res/values/defaults.xml @@ -3,12 +3,6 @@ - - - {\"type\": \"action:launcher\", \"value\": \"choose\"} - - - {\"type\": \"action:launcher\", \"value\": \"choose\"} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9c07ed6..b12eb4c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -25,8 +25,6 @@ - Settings : Apps - --> - Back - Back button / back gesture Up Swipe up Double Up