diff --git a/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt b/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt index 55b02dd..eb67c0e 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt @@ -1196,7 +1196,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh } - // Swipe right + // Swipe right else if (deltaX > 0 && abs(deltaX) > swipeThreshold && abs(velocityX) > swipeVelocityThreshold && sharedPreferenceManager.isGestureEnabled("right")) { if (rightSwipeActivity.first != null && rightSwipeActivity.second != null) { canLaunchShortcut = false @@ -1205,6 +1205,19 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh Toast.makeText(this@MainActivity, getString(R.string.launch_error), Toast.LENGTH_SHORT).show() } } + else if (deltaX > 0 && abs(deltaX) > swipeThreshold && abs(velocityX) > swipeVelocityThreshold && !sharedPreferenceManager.isGestureEnabled("right")) { + if (gestureUtils.isAccessibilityServiceEnabled( + ScreenLockService::class.java + ) + ) { + val intent = Intent(this@MainActivity, ScreenLockService::class.java) + intent.action = "RECENTS" + startService(intent) + finishAndRemoveTask() + } else { + gestureUtils.promptEnableAccessibility() + } + } } return true } diff --git a/app/src/main/java/eu/ottop/yamlauncher/tasks/ScreenLockService.kt b/app/src/main/java/eu/ottop/yamlauncher/tasks/ScreenLockService.kt index 403ccec..afcf884 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/tasks/ScreenLockService.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/tasks/ScreenLockService.kt @@ -16,6 +16,9 @@ class ScreenLockService : AccessibilityService() { if (intent != null && intent.action == "LOCK_SCREEN") { performLockScreen() } + if (intent != null && intent.action == "RECENTS") { + performShowRecents() + } stopSelf() return super.onStartCommand(intent, flags, startId) } @@ -23,4 +26,8 @@ class ScreenLockService : AccessibilityService() { private fun performLockScreen() { performGlobalAction(GLOBAL_ACTION_LOCK_SCREEN) } + + private fun performShowRecents() { + performGlobalAction(GLOBAL_ACTION_RECENTS) + } } \ No newline at end of file