Skip to content

Commit 4c5d690

Browse files
Fix Crash When Explore Tab is Clicked (commons-app#5550)
1 parent 013bc7d commit 4c5d690

File tree

1 file changed

+13
-20
lines changed

1 file changed

+13
-20
lines changed

app/src/main/java/fr/free/nrw/commons/explore/paging/BasePagingFragment.kt

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import android.content.res.Configuration
55
import android.os.Bundle
66
import android.view.LayoutInflater
77
import android.view.View
8-
import android.view.View.GONE
9-
import android.view.View.VISIBLE
8+
import android.view.View.*
109
import android.view.ViewGroup
1110
import androidx.fragment.app.Fragment
1211
import androidx.lifecycle.LiveData
@@ -19,6 +18,7 @@ import fr.free.nrw.commons.databinding.FragmentSearchPaginatedBinding
1918
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment
2019
import fr.free.nrw.commons.utils.ViewUtil
2120

21+
2222
abstract class BasePagingFragment<T> : CommonsDaggerSupportFragment(),
2323
PagingContract.View<T> {
2424

@@ -29,20 +29,13 @@ abstract class BasePagingFragment<T> : CommonsDaggerSupportFragment(),
2929
private val mergeAdapter by lazy { MergeAdapter(pagedListAdapter, loadingAdapter) }
3030
private var searchResults: LiveData<PagedList<T>>? = null
3131

32-
private var _binding: FragmentSearchPaginatedBinding? = null
33-
private val binding get() = _binding!!
34-
35-
override fun onCreateView(
36-
inflater: LayoutInflater,
37-
container: ViewGroup?,
38-
savedInstanceState: Bundle?
39-
): View {
40-
_binding = FragmentSearchPaginatedBinding.inflate(inflater, container, false)
41-
return binding.root
42-
}
32+
private var binding : FragmentSearchPaginatedBinding? = null
4333

4434
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
4535
super.onViewCreated(view, savedInstanceState)
36+
val binding = FragmentSearchPaginatedBinding.bind(view)
37+
this.binding = binding
38+
4639
binding.paginatedSearchResultsList.apply {
4740
layoutManager = GridLayoutManager(context, if (isPortrait) 1 else 2)
4841
adapter = mergeAdapter
@@ -58,7 +51,7 @@ abstract class BasePagingFragment<T> : CommonsDaggerSupportFragment(),
5851
*/
5952
override fun onConfigurationChanged(newConfig: Configuration) {
6053
super.onConfigurationChanged(newConfig)
61-
binding.paginatedSearchResultsList.apply {
54+
binding!!.paginatedSearchResultsList.apply {
6255
layoutManager = GridLayoutManager(context, if (isPortrait) 1 else 2)
6356
}
6457
}
@@ -82,30 +75,30 @@ abstract class BasePagingFragment<T> : CommonsDaggerSupportFragment(),
8275
}
8376

8477
override fun hideInitialLoadProgress() {
85-
binding.paginatedSearchInitialLoadProgress.visibility = GONE
78+
binding!!.paginatedSearchInitialLoadProgress.visibility = GONE
8679
}
8780

8881
override fun showInitialLoadInProgress() {
89-
binding.paginatedSearchInitialLoadProgress.visibility = VISIBLE
82+
binding!!.paginatedSearchInitialLoadProgress.visibility = VISIBLE
9083
}
9184

9285
override fun showSnackbar() {
93-
ViewUtil.showShortSnackbar(binding.paginatedSearchResultsList, errorTextId)
86+
ViewUtil.showShortSnackbar(binding!!.paginatedSearchResultsList, errorTextId)
9487
}
9588

9689
fun onQueryUpdated(query: String) {
9790
injectedPresenter.onQueryUpdated(query)
9891
}
9992

10093
override fun showEmptyText(query: String) {
101-
binding.contentNotFound.text = getEmptyText(query)
102-
binding.contentNotFound.visibility = VISIBLE
94+
binding!!.contentNotFound.text = getEmptyText(query)
95+
binding!!.contentNotFound.visibility = VISIBLE
10396
}
10497

10598
abstract fun getEmptyText(query: String): String
10699

107100
override fun hideEmptyText() {
108-
binding.contentNotFound.visibility = GONE
101+
binding!!.contentNotFound.visibility = GONE
109102
}
110103
}
111104

0 commit comments

Comments
 (0)