@@ -5,8 +5,7 @@ import android.content.res.Configuration
5
5
import android.os.Bundle
6
6
import android.view.LayoutInflater
7
7
import android.view.View
8
- import android.view.View.GONE
9
- import android.view.View.VISIBLE
8
+ import android.view.View.*
10
9
import android.view.ViewGroup
11
10
import androidx.fragment.app.Fragment
12
11
import androidx.lifecycle.LiveData
@@ -19,6 +18,7 @@ import fr.free.nrw.commons.databinding.FragmentSearchPaginatedBinding
19
18
import fr.free.nrw.commons.di.CommonsDaggerSupportFragment
20
19
import fr.free.nrw.commons.utils.ViewUtil
21
20
21
+
22
22
abstract class BasePagingFragment <T > : CommonsDaggerSupportFragment (),
23
23
PagingContract .View <T > {
24
24
@@ -29,20 +29,13 @@ abstract class BasePagingFragment<T> : CommonsDaggerSupportFragment(),
29
29
private val mergeAdapter by lazy { MergeAdapter (pagedListAdapter, loadingAdapter) }
30
30
private var searchResults: LiveData <PagedList <T >>? = null
31
31
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
43
33
44
34
override fun onViewCreated (view : View , savedInstanceState : Bundle ? ) {
45
35
super .onViewCreated(view, savedInstanceState)
36
+ val binding = FragmentSearchPaginatedBinding .bind(view)
37
+ this .binding = binding
38
+
46
39
binding.paginatedSearchResultsList.apply {
47
40
layoutManager = GridLayoutManager (context, if (isPortrait) 1 else 2 )
48
41
adapter = mergeAdapter
@@ -58,7 +51,7 @@ abstract class BasePagingFragment<T> : CommonsDaggerSupportFragment(),
58
51
*/
59
52
override fun onConfigurationChanged (newConfig : Configuration ) {
60
53
super .onConfigurationChanged(newConfig)
61
- binding.paginatedSearchResultsList.apply {
54
+ binding!! .paginatedSearchResultsList.apply {
62
55
layoutManager = GridLayoutManager (context, if (isPortrait) 1 else 2 )
63
56
}
64
57
}
@@ -82,30 +75,30 @@ abstract class BasePagingFragment<T> : CommonsDaggerSupportFragment(),
82
75
}
83
76
84
77
override fun hideInitialLoadProgress () {
85
- binding.paginatedSearchInitialLoadProgress.visibility = GONE
78
+ binding!! .paginatedSearchInitialLoadProgress.visibility = GONE
86
79
}
87
80
88
81
override fun showInitialLoadInProgress () {
89
- binding.paginatedSearchInitialLoadProgress.visibility = VISIBLE
82
+ binding!! .paginatedSearchInitialLoadProgress.visibility = VISIBLE
90
83
}
91
84
92
85
override fun showSnackbar () {
93
- ViewUtil .showShortSnackbar(binding.paginatedSearchResultsList, errorTextId)
86
+ ViewUtil .showShortSnackbar(binding!! .paginatedSearchResultsList, errorTextId)
94
87
}
95
88
96
89
fun onQueryUpdated (query : String ) {
97
90
injectedPresenter.onQueryUpdated(query)
98
91
}
99
92
100
93
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
103
96
}
104
97
105
98
abstract fun getEmptyText (query : String ): String
106
99
107
100
override fun hideEmptyText () {
108
- binding.contentNotFound.visibility = GONE
101
+ binding!! .contentNotFound.visibility = GONE
109
102
}
110
103
}
111
104
0 commit comments