diff --git a/README.md b/README.md index ce1d0d0..016b362 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,6 @@ The following gestures are available: - swipe up / down / left / right, - swipe with two fingers, - swipe on the left / right resp. top / bottom edge, - - tap, then swipe up / down / left / right, - draw < / > / V / Λ - click on date / time, - double click, 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 8fc95a3..d162a79 100644 --- a/app/src/main/java/de/jrpie/android/launcher/Functions.kt +++ b/app/src/main/java/de/jrpie/android/launcher/Functions.kt @@ -104,6 +104,7 @@ fun removeUnusedShortcuts(context: Context) { .toSet() try { userManager.userProfiles.filter { !userManager.isQuietModeEnabled(it) }.forEach { profile -> + Log.e("Shortcuts", "$profile : ${getShortcuts(profile)?.size} shortcuts") getShortcuts(profile)?.groupBy { it.`package` }?.forEach { (p, shortcuts) -> launcherApps.pinShortcuts(p, shortcuts.filter { boundActions.contains(PinnedShortcutInfo(it)) } @@ -113,6 +114,7 @@ fun removeUnusedShortcuts(context: Context) { } } } catch (_: SecurityException) { } + } fun openInBrowser(url: String, context: Context) { 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 110e4f8..a4f25b4 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 @@ -79,13 +79,6 @@ enum class Gesture( R.array.default_up_right, R.anim.bottom_up ), - TAP_AND_SWIPE_UP( - "action.tap_up", - R.string.settings_gesture_tap_up, - R.string.settings_gesture_description_tap_up, - R.array.default_up, - R.anim.bottom_up - ), SWIPE_UP_DOUBLE( "action.double_up", R.string.settings_gesture_double_up, @@ -114,13 +107,6 @@ enum class Gesture( R.array.default_down_right, R.anim.top_down ), - TAP_AND_SWIPE_DOWN( - "action.tap_down", - R.string.settings_gesture_tap_down, - R.string.settings_gesture_description_tap_down, - R.array.default_down, - R.anim.bottom_up - ), SWIPE_DOWN_DOUBLE( "action.double_down", R.string.settings_gesture_double_down, @@ -149,13 +135,6 @@ enum class Gesture( R.array.default_messengers, R.anim.right_left ), - TAP_AND_SWIPE_LEFT( - "action.tap_left", - R.string.settings_gesture_tap_left, - R.string.settings_gesture_description_tap_left, - R.array.default_messengers, - R.anim.right_left - ), SWIPE_LEFT_DOUBLE( "action.double_left", R.string.settings_gesture_double_left, @@ -184,13 +163,6 @@ enum class Gesture( R.array.default_right_bottom, R.anim.left_right ), - TAP_AND_SWIPE_RIGHT( - "action.tap_right", - R.string.settings_gesture_tap_right, - R.string.settings_gesture_description_tap_right, - R.array.default_right, - R.anim.left_right - ), SWIPE_RIGHT_DOUBLE( "action.double_right", R.string.settings_gesture_double_right, @@ -307,17 +279,6 @@ enum class Gesture( } } - fun getTapComboVariant(): Gesture { - return when (this) { - SWIPE_UP -> TAP_AND_SWIPE_UP - SWIPE_DOWN -> TAP_AND_SWIPE_DOWN - SWIPE_LEFT -> TAP_AND_SWIPE_LEFT - SWIPE_RIGHT -> TAP_AND_SWIPE_RIGHT - else -> this - } - - } - fun isDoubleVariant(): Boolean { return when (this) { SWIPE_UP_DOUBLE, diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/PinShortcutActivity.kt b/app/src/main/java/de/jrpie/android/launcher/ui/PinShortcutActivity.kt index d19fe04..27684b7 100644 --- a/app/src/main/java/de/jrpie/android/launcher/ui/PinShortcutActivity.kt +++ b/app/src/main/java/de/jrpie/android/launcher/ui/PinShortcutActivity.kt @@ -2,7 +2,6 @@ package de.jrpie.android.launcher.ui import android.app.AlertDialog import android.app.Service -import android.content.Context import android.content.pm.LauncherApps import android.content.pm.LauncherApps.PinItemRequest import android.content.res.Resources @@ -28,11 +27,8 @@ import de.jrpie.android.launcher.preferences.LauncherPreferences class PinShortcutActivity : AppCompatActivity(), UIObject { private lateinit var binding: ActivityPinShortcutBinding - private var isBound = false - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - super.onCreate() enableEdgeToEdge() if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) { @@ -51,12 +47,10 @@ class PinShortcutActivity : AppCompatActivity(), UIObject { return } + request.accept() + binding.pinShortcutLabel.text = request.shortcutInfo!!.shortLabel ?: "?" - binding.pinShortcutLabel.setCompoundDrawables( - launcherApps.getShortcutBadgedIconDrawable(request.shortcutInfo, 0).also { - val size = (40 * resources.displayMetrics.density).toInt() - it.setBounds(0,0, size, size) - }, null, null, null) + binding.pinShortcutIcon.setImageDrawable(launcherApps.getShortcutBadgedIconDrawable(request.shortcutInfo, 0)) binding.pinShortcutButtonBind.setOnClickListener { AlertDialog.Builder(this, R.style.AlertDialogCustom) @@ -65,11 +59,7 @@ class PinShortcutActivity : AppCompatActivity(), UIObject { .setNegativeButton(android.R.string.cancel, null) .create().also { it.show() }.let { dialog -> val viewManager = LinearLayoutManager(dialog.context) - val viewAdapter = GestureRecyclerAdapter (dialog.context) { gesture -> - if (!isBound) { - isBound = true - request.accept() - } + val viewAdapter = GestureRecyclerAdapter { gesture -> val editor = LauncherPreferences.getSharedPreferences().edit() ShortcutAction(PinnedShortcutInfo(request.shortcutInfo!!)).bindToGesture(editor, gesture.id) editor.apply() @@ -82,8 +72,6 @@ class PinShortcutActivity : AppCompatActivity(), UIObject { } } } - - binding.pinShortcutClose.setOnClickListener { finish() } } override fun onStart() { @@ -95,7 +83,7 @@ class PinShortcutActivity : AppCompatActivity(), UIObject { return modifyTheme(super.getTheme()) } - inner class GestureRecyclerAdapter(val context: Context, val onClick: (Gesture) -> Unit): RecyclerView.Adapter() { + inner class GestureRecyclerAdapter(val onClick: (Gesture) -> Unit): RecyclerView.Adapter() { val gestures = Gesture.entries.filter { it.isEnabled() }.toList() inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { val label = itemView.findViewById(R.id.dialog_select_gesture_row_name) @@ -111,10 +99,10 @@ class PinShortcutActivity : AppCompatActivity(), UIObject { override fun onBindViewHolder(holder: ViewHolder, position: Int) { val gesture = gestures[position] - holder.label.text = gesture.getLabel(context) - holder.description.text = gesture.getDescription(context) + holder.label.text = gesture.getLabel(applicationContext) + holder.description.text = gesture.getDescription(applicationContext) holder.icon.setImageDrawable( - Action.forGesture(gesture)?.getIcon(context) + Action.forGesture(gesture)?.getIcon(applicationContext) ) holder.itemView.setOnClickListener { onClick(gesture) diff --git a/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt b/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt index 00629a5..0ddbfd1 100644 --- a/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt +++ b/app/src/main/java/de/jrpie/android/launcher/ui/TouchGestureDetector.kt @@ -240,10 +240,6 @@ class TouchGestureDetector( gesture = gesture?.getEdgeVariant(Gesture.Edge.BOTTOM) } } - - if (timeStart - lastTappedTime < 2 * DOUBLE_TAP_TIMEOUT) { - gesture = gesture?.getTapComboVariant() - } gesture?.invoke(context) } } diff --git a/app/src/main/res/drawable/baseline_close_24.xml b/app/src/main/res/drawable/baseline_close_24.xml index 2ab439d..41350ac 100644 --- a/app/src/main/res/drawable/baseline_close_24.xml +++ b/app/src/main/res/drawable/baseline_close_24.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/baseline_favorite_24.xml b/app/src/main/res/drawable/baseline_favorite_24.xml index 5a612d2..4f9b020 100644 --- a/app/src/main/res/drawable/baseline_favorite_24.xml +++ b/app/src/main/res/drawable/baseline_favorite_24.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/baseline_favorite_border_24.xml b/app/src/main/res/drawable/baseline_favorite_border_24.xml index 14875dd..cecc9b0 100644 --- a/app/src/main/res/drawable/baseline_favorite_border_24.xml +++ b/app/src/main/res/drawable/baseline_favorite_border_24.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/baseline_flashlight_on_24.xml b/app/src/main/res/drawable/baseline_flashlight_on_24.xml index 16654cd..e1326ae 100644 --- a/app/src/main/res/drawable/baseline_flashlight_on_24.xml +++ b/app/src/main/res/drawable/baseline_flashlight_on_24.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/baseline_lock_24.xml b/app/src/main/res/drawable/baseline_lock_24.xml index 8cb2d1f..1e96180 100644 --- a/app/src/main/res/drawable/baseline_lock_24.xml +++ b/app/src/main/res/drawable/baseline_lock_24.xml @@ -2,8 +2,9 @@ android:width="24dp" android:height="24dp" android:viewportWidth="960" - android:viewportHeight="960"> - + android:viewportHeight="960" + android:tint="?attr/colorControlNormal"> + diff --git a/app/src/main/res/drawable/baseline_lock_open_24.xml b/app/src/main/res/drawable/baseline_lock_open_24.xml index 8d8e09b..f0f6ea3 100644 --- a/app/src/main/res/drawable/baseline_lock_open_24.xml +++ b/app/src/main/res/drawable/baseline_lock_open_24.xml @@ -1,6 +1,7 @@ + - + diff --git a/app/src/main/res/drawable/baseline_more_horiz_24.xml b/app/src/main/res/drawable/baseline_more_horiz_24.xml index 061fae2..a370298 100644 --- a/app/src/main/res/drawable/baseline_more_horiz_24.xml +++ b/app/src/main/res/drawable/baseline_more_horiz_24.xml @@ -1,11 +1,5 @@ - + - + diff --git a/app/src/main/res/drawable/baseline_not_interested_24.xml b/app/src/main/res/drawable/baseline_not_interested_24.xml index 875f546..48ab05d 100644 --- a/app/src/main/res/drawable/baseline_not_interested_24.xml +++ b/app/src/main/res/drawable/baseline_not_interested_24.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/baseline_notifications_24.xml b/app/src/main/res/drawable/baseline_notifications_24.xml index ca969df..b695693 100644 --- a/app/src/main/res/drawable/baseline_notifications_24.xml +++ b/app/src/main/res/drawable/baseline_notifications_24.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/baseline_search_24.xml b/app/src/main/res/drawable/baseline_search_24.xml index 9ba30e3..ca9cbc0 100644 --- a/app/src/main/res/drawable/baseline_search_24.xml +++ b/app/src/main/res/drawable/baseline_search_24.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/baseline_security_24.xml b/app/src/main/res/drawable/baseline_security_24.xml index cd38b06..3c260ff 100644 --- a/app/src/main/res/drawable/baseline_security_24.xml +++ b/app/src/main/res/drawable/baseline_security_24.xml @@ -1,5 +1,6 @@ diff --git a/app/src/main/res/drawable/baseline_settings_24.xml b/app/src/main/res/drawable/baseline_settings_24.xml index 4200acc..7cb5b17 100644 --- a/app/src/main/res/drawable/baseline_settings_24.xml +++ b/app/src/main/res/drawable/baseline_settings_24.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/baseline_settings_applications_24.xml b/app/src/main/res/drawable/baseline_settings_applications_24.xml index dd30af7..f2d03cc 100644 --- a/app/src/main/res/drawable/baseline_settings_applications_24.xml +++ b/app/src/main/res/drawable/baseline_settings_applications_24.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/baseline_skip_next_24.xml b/app/src/main/res/drawable/baseline_skip_next_24.xml index 9e203e0..0091e03 100644 --- a/app/src/main/res/drawable/baseline_skip_next_24.xml +++ b/app/src/main/res/drawable/baseline_skip_next_24.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/baseline_skip_previous_24.xml b/app/src/main/res/drawable/baseline_skip_previous_24.xml index 832a188..0029a3e 100644 --- a/app/src/main/res/drawable/baseline_skip_previous_24.xml +++ b/app/src/main/res/drawable/baseline_skip_previous_24.xml @@ -1,6 +1,7 @@ diff --git a/app/src/main/res/drawable/baseline_volume_down_24.xml b/app/src/main/res/drawable/baseline_volume_down_24.xml index 1a34ad9..78b51d3 100644 --- a/app/src/main/res/drawable/baseline_volume_down_24.xml +++ b/app/src/main/res/drawable/baseline_volume_down_24.xml @@ -2,6 +2,7 @@ android:width="24dp" android:height="24dp" android:autoMirrored="true" + android:tint="?attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/src/main/res/drawable/baseline_volume_up_24.xml b/app/src/main/res/drawable/baseline_volume_up_24.xml index f147499..6737fa6 100644 --- a/app/src/main/res/drawable/baseline_volume_up_24.xml +++ b/app/src/main/res/drawable/baseline_volume_up_24.xml @@ -2,6 +2,7 @@ android:width="24dp" android:height="24dp" android:autoMirrored="true" + android:tint="?attr/colorControlNormal" android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/src/main/res/layout/activity_pin_shortcut.xml b/app/src/main/res/layout/activity_pin_shortcut.xml index c401b42..20889aa 100644 --- a/app/src/main/res/layout/activity_pin_shortcut.xml +++ b/app/src/main/res/layout/activity_pin_shortcut.xml @@ -21,65 +21,50 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> - - - - - - - - + android:layout_height="match_parent" + android:gravity="center" + android:minHeight="?actionBarSize" + android:padding="@dimen/appbar_padding" + android:text="@string/pin_shortcut_title" + android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title" + android:textSize="30sp" /> + android:layout_height="wrap_content"> - - + + android:layout_width="wrap_content" + android:layout_height="wrap_content" > + + + + +