From c7dc94b61bfc6b17f496e604e5233f7e46a21491 Mon Sep 17 00:00:00 2001 From: tarsin Date: Fri, 6 Jan 2023 18:11:41 +0800 Subject: [PATCH] Singletonize GalleryListScene OnBackPressedCallback --- .../ehviewer/ui/scene/GalleryListScene.kt | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.kt index 79e1147d4..8ca882492 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.kt @@ -116,7 +116,15 @@ import java.time.ZoneOffset class GalleryListScene : SearchBarScene(), OnDragHandlerListener, SearchLayout.Helper, OnClickFabListener, OnExpandListener { - private val mCallback = SearchStateOnBackPressedCallback() + private val mCallback = object : OnBackPressedCallback(false) { + override fun handleOnBackPressed() { + when (mState) { + STATE_NORMAL -> throw IllegalStateException("SearchStateOnBackPressedCallback should not be enabled on STATE_NORMAL") + STATE_SIMPLE_SEARCH, STATE_SEARCH -> setState(STATE_NORMAL) + STATE_SEARCH_SHOW_LIST -> setState(STATE_SEARCH) + } + } + } private lateinit var mUrlBuilder: ListUrlBuilder private var _binding: SceneGalleryListBinding? = null private val binding get() = _binding!! @@ -1437,16 +1445,6 @@ class GalleryListScene : SearchBarScene(), OnDragHandlerListener, SearchLayout.H } } - internal inner class SearchStateOnBackPressedCallback : OnBackPressedCallback(false) { - override fun handleOnBackPressed() { - when (mState) { - STATE_NORMAL -> throw IllegalStateException("SearchStateOnBackPressedCallback should not be enabled on STATE_NORMAL") - STATE_SIMPLE_SEARCH, STATE_SEARCH -> setState(STATE_NORMAL) - STATE_SEARCH_SHOW_LIST -> setState(STATE_SEARCH) - } - } - } - companion object { const val KEY_ACTION = "action" const val ACTION_HOMEPAGE = "action_homepage"