@@ -75,7 +75,7 @@ abstract class LayoutPreviewFragment : FullscreenBottomSheetDialogFragment() {
75
75
private fun initViewModel () {
76
76
this .viewModel = getViewModel()
77
77
78
- viewModel.previewState.observe(viewLifecycleOwner, { state ->
78
+ viewModel.previewState.observe(viewLifecycleOwner) { state ->
79
79
when (state) {
80
80
is Loading -> {
81
81
binding?.desktopPreviewHint?.setVisible(false )
@@ -84,6 +84,7 @@ abstract class LayoutPreviewFragment : FullscreenBottomSheetDialogFragment() {
84
84
binding?.errorView?.setVisible(false )
85
85
binding?.webView?.loadUrl(state.url)
86
86
}
87
+
87
88
is Loaded -> {
88
89
binding?.progressBar?.setVisible(false )
89
90
binding?.webView?.setVisible(true )
@@ -97,21 +98,22 @@ abstract class LayoutPreviewFragment : FullscreenBottomSheetDialogFragment() {
97
98
)
98
99
AniUtils .animateBottomBar(binding?.desktopPreviewHint, true )
99
100
}
101
+
100
102
is Error -> {
101
103
binding?.progressBar?.setVisible(false )
102
104
binding?.webView?.setVisible(false )
103
105
binding?.errorView?.setVisible(true )
104
106
state.toast?.let { ToastUtils .showToast(requireContext(), it) }
105
107
}
106
108
}
107
- })
109
+ }
108
110
109
111
// We're skipping the first emitted value since it derives from the view model initialization (`start` method)
110
- viewModel.previewMode.skip(1 ).observe(viewLifecycleOwner, { load() })
112
+ viewModel.previewMode.skip(1 ).observe(viewLifecycleOwner) { load() }
111
113
112
- viewModel.onPreviewModeButtonPressed.observe(viewLifecycleOwner, {
114
+ viewModel.onPreviewModeButtonPressed.observe(viewLifecycleOwner) {
113
115
previewModeSelectorPopup.show(viewModel)
114
- })
116
+ }
115
117
116
118
binding?.previewTypeSelectorButton?.let {
117
119
previewModeSelectorPopup = PreviewModeSelectorPopup (requireActivity(), it)
@@ -127,7 +129,7 @@ abstract class LayoutPreviewFragment : FullscreenBottomSheetDialogFragment() {
127
129
binding?.webView?.webViewClient = object : WebViewClient () {
128
130
override fun onPageFinished (view : WebView ? , url : String? ) {
129
131
super .onPageFinished(view, url)
130
- if (view == null ) return
132
+ if (! isAdded || view == null ) return
131
133
val width = viewModel.selectedPreviewMode().previewWidth
132
134
setWebViewWidth(view, width)
133
135
val widthScript = context?.getString(R .string.web_preview_width_script, width)
0 commit comments