Disable search close animation when returning to home screen

This commit is contained in:
MM20 2023-07-11 23:01:27 +02:00
parent 7b808f096b
commit f8b48e9788
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
4 changed files with 24 additions and 6 deletions

View File

@ -99,6 +99,14 @@ class LauncherScaffoldVM : ViewModel(), KoinComponent {
setSearchbarFocus(false)
}
var skipNextSearchAnimation = false
fun closeSearchWithoutAnimation() {
if (!isSearchOpen.value) return
skipNextSearchAnimation = true
isSearchOpen.value = false
setSearchbarFocus(false)
}
fun toggleSearch() {
if (isSearchOpen.value == true) closeSearch()
else openSearch()

View File

@ -237,7 +237,12 @@ fun PagerScaffold(
LaunchedEffect(isSearchOpen) {
if (isSearchOpen) pagerState.animateScrollToPage(1)
else {
pagerState.animateScrollToPage(0)
if (viewModel.skipNextSearchAnimation) {
pagerState.scrollToPage(0)
viewModel.skipNextSearchAnimation = false
} else {
pagerState.animateScrollToPage(0)
}
searchVM.search("")
}
}

View File

@ -237,10 +237,15 @@ fun PullDownScaffold(
)
} else {
searchVM.search("")
pagerState.animateScrollToPage(
0,
animationSpec = spring(stiffness = Spring.StiffnessMediumLow)
)
if (viewModel.skipNextSearchAnimation) {
pagerState.scrollToPage(0)
viewModel.skipNextSearchAnimation = false
} else {
pagerState.animateScrollToPage(
0,
animationSpec = spring(stiffness = Spring.StiffnessMediumLow)
)
}
}
}

View File

@ -276,7 +276,7 @@ abstract class SharedLauncherActivity(
override fun onResume() {
super.onResume()
if (System.currentTimeMillis() - pauseTime > 60000) {
viewModel.closeSearch()
viewModel.closeSearchWithoutAnimation()
searchVM.search("")
}
}