diff --git a/app/app/build.gradle.kts b/app/app/build.gradle.kts index f57aa1718..ea07ef3d1 100644 --- a/app/app/build.gradle.kts +++ b/app/app/build.gradle.kts @@ -34,8 +34,8 @@ android { applicationId = "de.mm20.launcher2" minSdk = libs.versions.minSdk.get().toInt() targetSdk = libs.versions.targetSdk.get().toInt() - versionCode = System.getenv("VERSION_CODE_OVERRIDE")?.toIntOrNull() ?: 2026091000 - versionName = "1.40.2-typing.1" + versionCode = System.getenv("VERSION_CODE_OVERRIDE")?.toIntOrNull() ?: 2026091001 + versionName = "1.40.2-typing.2" signingConfig = signingConfigs.getByName("debug") } diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt index 4d329457e..f43c8cd2e 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/LauncherScaffold.kt @@ -1132,7 +1132,9 @@ internal fun LauncherScaffold( } else { activity.onBackPressedDispatcher.onBackPressed() } - } else if (activity.pauseTime > 0L && System.currentTimeMillis() - activity.pauseTime > 5000L) { + } else if (activity.pauseTime > 0L && (System.currentTimeMillis() - activity.pauseTime > 5000L || state.currentComponent is SearchComponent)) { + // The search does not survive leaving the launcher, not even for a short app + // switch: coming back should always show a fresh search. if (!state.isLocked) { if (state.currentComponent?.survivesPause != true) { state.reset() diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/components/SearchComponent.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/components/SearchComponent.kt index a94549243..428703c5d 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/components/SearchComponent.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/scaffold/components/SearchComponent.kt @@ -115,5 +115,8 @@ internal class SearchComponent( override fun onPreDismiss(state: LauncherScaffoldState) { super.onPreDismiss(state) state.isSearchBarFocused = false + // Leaving the search page ends the keyboard driven search, so that opening the search + // again focuses the text field as usual. + state.isTypingSearch = false } } \ No newline at end of file