From 873b69266d6297a4fc32962f754dac21c69c65f0 Mon Sep 17 00:00:00 2001 From: Konrad Pozniak Date: Tue, 29 Sep 2020 21:55:25 +0200 Subject: [PATCH] fix crash in bottom sheet dialogs --- .../AccountSelectionBottomSheet.kt | 18 +++++++++++++++--- .../bottomsheet/menu/MenuBottomSheet.kt | 11 +++++++---- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/app/src/main/kotlin/at/connyduck/pixelcat/components/bottomsheet/accountselection/AccountSelectionBottomSheet.kt b/app/src/main/kotlin/at/connyduck/pixelcat/components/bottomsheet/accountselection/AccountSelectionBottomSheet.kt index 209febb..1e765ea 100644 --- a/app/src/main/kotlin/at/connyduck/pixelcat/components/bottomsheet/accountselection/AccountSelectionBottomSheet.kt +++ b/app/src/main/kotlin/at/connyduck/pixelcat/components/bottomsheet/accountselection/AccountSelectionBottomSheet.kt @@ -29,7 +29,6 @@ import at.connyduck.pixelcat.components.login.LoginActivity import at.connyduck.pixelcat.components.main.MainActivity import at.connyduck.pixelcat.databinding.BottomsheetAccountsBinding import at.connyduck.pixelcat.db.AccountManager -import at.connyduck.pixelcat.util.viewBinding import com.google.android.material.bottomsheet.BottomSheetDialogFragment import kotlinx.coroutines.launch @@ -37,9 +36,17 @@ class AccountSelectionBottomSheet( private val accountManager: AccountManager ) : BottomSheetDialogFragment() { - private val binding by viewBinding(BottomsheetAccountsBinding::bind) + private var _binding: BottomsheetAccountsBinding? = null + private val binding + get() = _binding!! - override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?) = binding.root + override fun onCreateView( + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle?) : View { + _binding = BottomsheetAccountsBinding.inflate(inflater, container, false) + return binding.root + } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { lifecycleScope.launch { @@ -66,4 +73,9 @@ class AccountSelectionBottomSheet( private fun onNewAccount() { startActivity(LoginActivity.newIntent(requireContext())) } + + override fun onDestroy() { + super.onDestroy() + _binding = null + } } diff --git a/app/src/main/kotlin/at/connyduck/pixelcat/components/bottomsheet/menu/MenuBottomSheet.kt b/app/src/main/kotlin/at/connyduck/pixelcat/components/bottomsheet/menu/MenuBottomSheet.kt index 312d238..bb47a2e 100644 --- a/app/src/main/kotlin/at/connyduck/pixelcat/components/bottomsheet/menu/MenuBottomSheet.kt +++ b/app/src/main/kotlin/at/connyduck/pixelcat/components/bottomsheet/menu/MenuBottomSheet.kt @@ -26,18 +26,21 @@ import android.view.ViewGroup import at.connyduck.pixelcat.components.about.AboutActivity import at.connyduck.pixelcat.components.settings.SettingsActivity import at.connyduck.pixelcat.databinding.BottomsheetMenuBinding -import at.connyduck.pixelcat.util.viewBinding import com.google.android.material.bottomsheet.BottomSheetDialogFragment class MenuBottomSheet : BottomSheetDialogFragment() { - private val binding by viewBinding(BottomsheetMenuBinding::bind) + private var _binding: BottomsheetMenuBinding? = null + private val binding + get() = _binding!! override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? - ) = binding.root + savedInstanceState: Bundle?) : View { + _binding = BottomsheetMenuBinding.inflate(inflater, container, false) + return binding.root + } override fun onViewCreated(view: View, savedInstanceState: Bundle?) {