From 6c64fb21698906cc1f5ac49057af3c2e73d3b407 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 16 Dec 2020 10:16:33 +0100 Subject: [PATCH] Fix some crashes --- .../ElementFeature/root/src/app_package/Fragment.kt.ftl | 2 +- .../app/core/platform/VectorBaseBottomSheetDialogFragment.kt | 2 +- .../java/im/vector/app/core/platform/VectorBaseFragment.kt | 2 +- .../features/attachments/preview/AttachmentsPreviewFragment.kt | 2 +- .../im/vector/app/features/roomprofile/RoomProfileFragment.kt | 2 +- .../roomprofile/uploads/files/RoomUploadsFilesFragment.kt | 2 +- .../roomprofile/uploads/media/RoomUploadsMediaFragment.kt | 2 +- .../vector/app/features/settings/VectorSettingsBaseFragment.kt | 2 +- .../app/features/settings/devtools/AccountDataFragment.kt | 2 +- .../settings/devtools/GossipingEventsPaperTrailFragment.kt | 2 +- .../settings/devtools/IncomingKeyRequestListFragment.kt | 2 +- .../settings/devtools/OutgoingKeyRequestListFragment.kt | 3 +-- .../app/features/settings/locale/LocalePickerFragment.kt | 2 +- .../features/settings/threepids/ThreePidsSettingsFragment.kt | 2 +- .../main/java/im/vector/app/features/widgets/WidgetFragment.kt | 2 +- .../features/workers/signout/SignOutBottomSheetActionButton.kt | 2 +- 16 files changed, 16 insertions(+), 17 deletions(-) diff --git a/tools/templates/ElementFeature/root/src/app_package/Fragment.kt.ftl b/tools/templates/ElementFeature/root/src/app_package/Fragment.kt.ftl index 403d4bce1c..38f8132d24 100644 --- a/tools/templates/ElementFeature/root/src/app_package/Fragment.kt.ftl +++ b/tools/templates/ElementFeature/root/src/app_package/Fragment.kt.ftl @@ -36,8 +36,8 @@ class ${fragmentClass} @Inject constructor( } override fun onDestroyView() { - super.onDestroyView() // Clear your view, unsubscribe... + super.onDestroyView() } override fun invalidate() = withState(viewModel) { state -> diff --git a/vector/src/main/java/im/vector/app/core/platform/VectorBaseBottomSheetDialogFragment.kt b/vector/src/main/java/im/vector/app/core/platform/VectorBaseBottomSheetDialogFragment.kt index 9c9a5dc6ce..95d42ecc30 100644 --- a/vector/src/main/java/im/vector/app/core/platform/VectorBaseBottomSheetDialogFragment.kt +++ b/vector/src/main/java/im/vector/app/core/platform/VectorBaseBottomSheetDialogFragment.kt @@ -113,8 +113,8 @@ abstract class VectorBaseBottomSheetDialogFragment : BottomShee @CallSuper override fun onDestroyView() { - super.onDestroyView() uiDisposables.clear() + super.onDestroyView() } @CallSuper diff --git a/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt b/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt index b481390645..1d05f15101 100644 --- a/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt +++ b/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt @@ -144,10 +144,10 @@ abstract class VectorBaseFragment : BaseMvRxFragment(), HasScre @CallSuper override fun onDestroyView() { - super.onDestroyView() Timber.i("onDestroyView Fragment ${javaClass.simpleName}") uiDisposables.clear() _binding = null + super.onDestroyView() } override fun onDestroy() { diff --git a/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt b/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt index 7b560481cd..a379fcddab 100644 --- a/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt +++ b/vector/src/main/java/im/vector/app/features/attachments/preview/AttachmentsPreviewFragment.kt @@ -123,10 +123,10 @@ class AttachmentsPreviewFragment @Inject constructor( override fun getMenuRes() = R.menu.vector_attachments_preview override fun onDestroyView() { - super.onDestroyView() views.attachmentPreviewerMiniatureList.cleanup() views.attachmentPreviewerBigList.cleanup() attachmentMiniaturePreviewController.callback = null + super.onDestroyView() } override fun invalidate() = withState(viewModel) { state -> diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt index 536539e281..a5feabe2a4 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/RoomProfileFragment.kt @@ -174,10 +174,10 @@ class RoomProfileFragment @Inject constructor( } override fun onDestroyView() { - super.onDestroyView() views.matrixProfileAppBarLayout.removeOnOffsetChangedListener(appBarStateChangeListener) views.matrixProfileRecyclerView.cleanup() appBarStateChangeListener = null + super.onDestroyView() } override fun invalidate() = withState(roomProfileViewModel) { state -> diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt index 916d19bdf1..d4f1eff9bd 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/files/RoomUploadsFilesFragment.kt @@ -63,9 +63,9 @@ class RoomUploadsFilesFragment @Inject constructor( } override fun onDestroyView() { - super.onDestroyView() views.genericStateViewListRecycler.cleanup() controller.listener = null + super.onDestroyView() } override fun onOpenClicked(uploadEvent: UploadEvent) { diff --git a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt index 7f29ff9081..84a419c6c6 100644 --- a/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt +++ b/vector/src/main/java/im/vector/app/features/roomprofile/uploads/media/RoomUploadsMediaFragment.kt @@ -85,9 +85,9 @@ class RoomUploadsMediaFragment @Inject constructor( } override fun onDestroyView() { - super.onDestroyView() views.genericStateViewListRecycler.cleanup() controller.listener = null + super.onDestroyView() } // It's very strange i can't just access diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsBaseFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsBaseFragment.kt index 232ea063a8..069216aaae 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsBaseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsBaseFragment.kt @@ -78,8 +78,8 @@ abstract class VectorSettingsBaseFragment : PreferenceFragmentCompat(), HasScree @CallSuper override fun onDestroyView() { - super.onDestroyView() uiDisposables.clear() + super.onDestroyView() } override fun onDestroy() { diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt index d0b9c57c56..c50dd3c187 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/AccountDataFragment.kt @@ -68,9 +68,9 @@ class AccountDataFragment @Inject constructor( } override fun onDestroyView() { - super.onDestroyView() views.genericRecyclerView.cleanup() epoxyController.interactionListener = null + super.onDestroyView() } override fun didTap(data: UserAccountDataEvent) { diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt index 8e0d77a53f..6324d70615 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/GossipingEventsPaperTrailFragment.kt @@ -60,9 +60,9 @@ class GossipingEventsPaperTrailFragment @Inject constructor( } override fun onDestroyView() { - super.onDestroyView() views.genericRecyclerView.cleanup() epoxyController.interactionListener = null + super.onDestroyView() } override fun didTap(event: Event) { diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt index 953f43f178..f1acc2473b 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/IncomingKeyRequestListFragment.kt @@ -53,7 +53,7 @@ class IncomingKeyRequestListFragment @Inject constructor( } override fun onDestroyView() { - super.onDestroyView() views.genericRecyclerView.cleanup() + super.onDestroyView() } } diff --git a/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt index 3e8befebfd..78538ef687 100644 --- a/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/devtools/OutgoingKeyRequestListFragment.kt @@ -28,7 +28,6 @@ import im.vector.app.core.platform.VectorBaseFragment import im.vector.app.databinding.FragmentGenericRecyclerBinding import javax.inject.Inject - class OutgoingKeyRequestListFragment @Inject constructor( val viewModelFactory: KeyRequestListViewModel.Factory, private val epoxyController: OutgoingKeyRequestPagedController @@ -51,8 +50,8 @@ class OutgoingKeyRequestListFragment @Inject constructor( } override fun onDestroyView() { - super.onDestroyView() views.genericRecyclerView.cleanup() // epoxyController.interactionListener = null + super.onDestroyView() } } diff --git a/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt b/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt index 643017ec2a..45fa6b735f 100644 --- a/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/locale/LocalePickerFragment.kt @@ -62,9 +62,9 @@ class LocalePickerFragment @Inject constructor( } override fun onDestroyView() { - super.onDestroyView() views.localeRecyclerView.cleanup() controller.listener = null + super.onDestroyView() } override fun invalidate() = withState(viewModel) { state -> diff --git a/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt index f600c3d24b..d6da04affc 100644 --- a/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/threepids/ThreePidsSettingsFragment.kt @@ -77,9 +77,9 @@ class ThreePidsSettingsFragment @Inject constructor( } override fun onDestroyView() { - super.onDestroyView() views.genericRecyclerView.cleanup() epoxyController.interactionListener = null + super.onDestroyView() } override fun onResume() { diff --git a/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt b/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt index 6485c3903e..fac4b1a238 100644 --- a/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt +++ b/vector/src/main/java/im/vector/app/features/widgets/WidgetFragment.kt @@ -109,11 +109,11 @@ class WidgetFragment @Inject constructor() : } override fun onDestroyView() { - super.onDestroyView() if (fragmentArgs.kind.isAdmin()) { viewModel.getPostAPIMediator().clearWebView() } views.widgetWebView.clearAfterWidget() + super.onDestroyView() } override fun onResume() { diff --git a/vector/src/main/java/im/vector/app/features/workers/signout/SignOutBottomSheetActionButton.kt b/vector/src/main/java/im/vector/app/features/workers/signout/SignOutBottomSheetActionButton.kt index 8a5b4a00ac..af73c5936e 100644 --- a/vector/src/main/java/im/vector/app/features/workers/signout/SignOutBottomSheetActionButton.kt +++ b/vector/src/main/java/im/vector/app/features/workers/signout/SignOutBottomSheetActionButton.kt @@ -77,7 +77,7 @@ class SignOutBottomSheetActionButton @JvmOverloads constructor( typedArray.recycle() - setOnClickListener { + views.signedOutActionClickable.setOnClickListener { action?.invoke() } }