Disable search close animation when returning to home screen
This commit is contained in:
parent
7b808f096b
commit
f8b48e9788
@ -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()
|
||||
|
||||
@ -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("")
|
||||
}
|
||||
}
|
||||
|
||||
@ -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)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -276,7 +276,7 @@ abstract class SharedLauncherActivity(
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
if (System.currentTimeMillis() - pauseTime > 60000) {
|
||||
viewModel.closeSearch()
|
||||
viewModel.closeSearchWithoutAnimation()
|
||||
searchVM.search("")
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user