From b4334da2028cd085718e706e8fd8e9a7921ff6fd Mon Sep 17 00:00:00 2001 From: tarsin Date: Mon, 2 Jan 2023 13:17:47 +0800 Subject: [PATCH] Fixup! Convert all kotlin fragment to viewbinding --- .../com/hippo/ehviewer/ui/scene/BaseToolbarScene.kt | 10 ++++++++-- .../hippo/ehviewer/ui/scene/CollapsingToolbarScene.kt | 10 ++++++++-- .../java/com/hippo/ehviewer/ui/scene/HistoryScene.kt | 6 ++++-- .../java/com/hippo/ehviewer/ui/scene/SearchBarScene.kt | 6 ++++-- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseToolbarScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseToolbarScene.kt index 84e536e8e..c90e62166 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseToolbarScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/BaseToolbarScene.kt @@ -26,17 +26,23 @@ import androidx.core.view.size import com.hippo.ehviewer.databinding.SceneToolbarBinding abstract class BaseToolbarScene : BaseScene(), ToolBarScene { - private lateinit var binding: SceneToolbarBinding + private var _binding: SceneToolbarBinding? = null + private val binding get() = _binding!! override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - binding = SceneToolbarBinding.inflate(inflater, container, false) + _binding = SceneToolbarBinding.inflate(inflater, container, false) val contentView = onCreateViewWithToolbar(inflater, binding.root, savedInstanceState) return binding.root.apply { addView(contentView, 0) } } + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) binding.toolbar.apply { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/CollapsingToolbarScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/CollapsingToolbarScene.kt index 614e8e167..652e26764 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/CollapsingToolbarScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/CollapsingToolbarScene.kt @@ -9,16 +9,22 @@ import androidx.annotation.DrawableRes import com.hippo.ehviewer.databinding.SceneCollapsingToolbarBinding abstract class CollapsingToolbarScene : BaseScene(), ToolBarScene { - private lateinit var binding: SceneCollapsingToolbarBinding + private var _binding: SceneCollapsingToolbarBinding? = null + private val binding get() = _binding!! override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - binding = SceneCollapsingToolbarBinding.inflate(inflater, container, false) + _binding = SceneCollapsingToolbarBinding.inflate(inflater, container, false) val contentView = onCreateViewWithToolbar(inflater, binding.root, savedInstanceState) return binding.root.apply { addView(contentView, 0) } } + override fun onDestroyView() { + super.onDestroyView() + _binding = null + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) binding.toolbar.apply { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt index f7c466ad3..8768b7d08 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/HistoryScene.kt @@ -61,7 +61,8 @@ import rikka.core.res.resolveColor @SuppressLint("NotifyDataSetChanged") class HistoryScene : BaseToolbarScene() { - lateinit var binding: SceneHistoryBinding + private var _binding: SceneHistoryBinding? = null + private val binding get() = _binding!! private val mAdapter: HistoryAdapter by lazy { HistoryAdapter(object : DiffUtil.ItemCallback() { override fun areItemsTheSame(oldItem: HistoryInfo, newItem: HistoryInfo): Boolean { @@ -126,7 +127,7 @@ class HistoryScene : BaseToolbarScene() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - binding = SceneHistoryBinding.inflate(inflater, container, false) + _binding = SceneHistoryBinding.inflate(inflater, container, false) setLiftOnScrollTargetView(binding.recyclerView) val mViewTransition = ViewTransition(binding.content, binding.tip) val drawable = ContextCompat.getDrawable(requireContext(), R.drawable.big_history) @@ -176,6 +177,7 @@ class HistoryScene : BaseToolbarScene() { override fun onDestroyView() { super.onDestroyView() binding.recyclerView.stopScroll() + _binding = null } override fun onNavigationClick() { diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/SearchBarScene.kt b/app/src/main/java/com/hippo/ehviewer/ui/scene/SearchBarScene.kt index 4c1258c74..f83b03fa1 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/SearchBarScene.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/SearchBarScene.kt @@ -33,7 +33,8 @@ import kotlinx.coroutines.launch abstract class SearchBarScene : BaseScene(), ToolBarScene { - private lateinit var binding: SceneSearchbarBinding + private var _binding: SceneSearchbarBinding? = null + private val binding get() = _binding!! private var mSuggestionList: List? = null private var mSuggestionAdapter: SuggestionAdapter? = null private var mSuggestionProvider: SuggestionProvider? = null @@ -45,7 +46,7 @@ abstract class SearchBarScene : BaseScene(), ToolBarScene { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - binding = SceneSearchbarBinding.inflate(inflater, container, false) + _binding = SceneSearchbarBinding.inflate(inflater, container, false) binding.appbar.statusBarForeground = MaterialShapeDrawable.createWithElevationOverlay(context) binding.searchview.editText.addTextChangedListener { @@ -89,6 +90,7 @@ abstract class SearchBarScene : BaseScene(), ToolBarScene { override fun onDestroyView() { super.onDestroyView() mSearchViewOnBackPressedCallback.remove() + _binding = null } private var privLockModeStart: Int? = null