From 06d23e12592cfd6fa3fabdb3337aed43398cd555 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Fri, 20 Jun 2025 13:40:58 +0200 Subject: [PATCH] Activate gesture actions more quickly --- .../ui/launcher/scaffold/NotificationsComponent.kt | 11 ++++++++--- .../ui/launcher/scaffold/PowerMenuComponent.kt | 11 ++++++++--- .../ui/launcher/scaffold/QuickSettingsComponent.kt | 11 ++++++++--- .../ui/launcher/scaffold/RecentsComponent.kt | 13 +++++++------ .../ui/launcher/scaffold/ScreenOffComponent.kt | 13 +++++++++---- 5 files changed, 40 insertions(+), 19 deletions(-) diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/NotificationsComponent.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/NotificationsComponent.kt index 36b3b921..6faf80d3 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/NotificationsComponent.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/NotificationsComponent.kt @@ -103,11 +103,16 @@ internal object NotificationsComponent : ScaffoldComponent(), KoinComponent { } } - override suspend fun onActivate(state: LauncherScaffoldState) { - super.onActivate(state) + override suspend fun onPreActivate(state: LauncherScaffoldState) { + super.onPreActivate(state) if (permissionsManager.checkPermissionOnce(PermissionGroup.Accessibility)) { globalActionService.openNotificationDrawer() - } else { + } + } + + override suspend fun onActivate(state: LauncherScaffoldState) { + super.onActivate(state) + if (!permissionsManager.checkPermissionOnce(PermissionGroup.Accessibility)) { state.navigateBack(true) } } diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/PowerMenuComponent.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/PowerMenuComponent.kt index 251c39bb..1aa05b8f 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/PowerMenuComponent.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/PowerMenuComponent.kt @@ -165,11 +165,16 @@ internal object PowerMenuComponent : ScaffoldComponent(), KoinComponent { } } - override suspend fun onActivate(state: LauncherScaffoldState) { - super.onActivate(state) + override suspend fun onPreActivate(state: LauncherScaffoldState) { + super.onPreActivate(state) if (permissionsManager.checkPermissionOnce(PermissionGroup.Accessibility)) { globalActionService.openPowerDialog() - } else { + } + } + + override suspend fun onActivate(state: LauncherScaffoldState) { + super.onActivate(state) + if (!permissionsManager.checkPermissionOnce(PermissionGroup.Accessibility)) { state.navigateBack(true) } } diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/QuickSettingsComponent.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/QuickSettingsComponent.kt index c6ca7b7d..5b796c22 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/QuickSettingsComponent.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/QuickSettingsComponent.kt @@ -100,11 +100,16 @@ internal object QuickSettingsComponent : ScaffoldComponent(), KoinComponent { } } - override suspend fun onActivate(state: LauncherScaffoldState) { - super.onActivate(state) + override suspend fun onPreActivate(state: LauncherScaffoldState) { + super.onPreActivate(state) if (permissionsManager.checkPermissionOnce(PermissionGroup.Accessibility)) { globalActionService.openQuickSettings() - } else { + } + } + + override suspend fun onActivate(state: LauncherScaffoldState) { + super.onActivate(state) + if (!permissionsManager.checkPermissionOnce(PermissionGroup.Accessibility)) { state.navigateBack(true) } } diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/RecentsComponent.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/RecentsComponent.kt index d3bbf987..359d1184 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/RecentsComponent.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/RecentsComponent.kt @@ -69,17 +69,18 @@ internal object RecentsComponent : ScaffoldComponent(), KoinComponent { } } - override suspend fun onActivate(state: LauncherScaffoldState) { - super.onActivate(state) + override suspend fun onPreActivate(state: LauncherScaffoldState) { + super.onPreActivate(state) if (permissionsManager.checkPermissionOnce(PermissionGroup.Accessibility)) { globalActionService.openRecents() - delay(50L) - state.navigateBack(true) - } else { - state.navigateBack(true) } } + override suspend fun onActivate(state: LauncherScaffoldState) { + super.onActivate(state) + state.navigateBack(true) + } + @SuppressLint("ModifierFactoryExtensionFunction") override fun homePageModifier( state: LauncherScaffoldState, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/ScreenOffComponent.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/ScreenOffComponent.kt index 2e5a99a0..5606a41f 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/ScreenOffComponent.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/ScreenOffComponent.kt @@ -95,12 +95,17 @@ internal object ScreenOffComponent : ScaffoldComponent(), KoinComponent { .alpha(1f - (state.currentProgress * 0.1f)) then defaultModifier } - override suspend fun onActivate(state: LauncherScaffoldState) { - super.onActivate(state) + override suspend fun onPreActivate(state: LauncherScaffoldState) { + super.onPreActivate(state) if (permissionsManager.checkPermissionOnce(PermissionGroup.Accessibility)) { globalActionService.lockScreen() - } else { - state.onPredictiveBackEnd() + } + } + + override suspend fun onActivate(state: LauncherScaffoldState) { + super.onActivate(state) + if (!permissionsManager.checkPermissionOnce(PermissionGroup.Accessibility)) { + state.navigateBack(true) } } } \ No newline at end of file