Skip to content

Commit e1f735f

Browse files
committed
Moved calling #setLiftOnScrollTargetView to MultiSelectListFragment
1 parent 01c5043 commit e1f735f

File tree

3 files changed

+18
-26
lines changed

3 files changed

+18
-26
lines changed

collect_app/src/main/java/org/odk/collect/android/formlists/blankformlist/DeleteBlankFormFragment.kt

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import androidx.fragment.app.viewModels
1212
import androidx.lifecycle.Lifecycle.State
1313
import androidx.lifecycle.ViewModelProvider
1414
import androidx.lifecycle.map
15-
import androidx.recyclerview.widget.RecyclerView
16-
import com.google.android.material.appbar.AppBarLayout
1715
import com.google.android.material.dialog.MaterialAlertDialogBuilder
1816
import org.odk.collect.android.R
1917
import org.odk.collect.androidshared.ui.FragmentFactoryBuilder
@@ -44,8 +42,6 @@ class DeleteBlankFormFragment(
4442
}
4543
)
4644
}
47-
private var appBarLayout: AppBarLayout? = null
48-
private lateinit var list: RecyclerView
4945

5046
override fun onAttach(context: Context) {
5147
super.onAttach(context)
@@ -61,8 +57,7 @@ class DeleteBlankFormFragment(
6157
it.empty.setTitle(getString(string.empty_list_of_forms_to_delete_title))
6258
it.empty.setSubtitle(getString(string.empty_list_of_blank_forms_to_delete_subtitle))
6359

64-
list = it.list
65-
list.addItemDecoration(RecyclerViewUtils.verticalLineDivider(context))
60+
it.list.addItemDecoration(RecyclerViewUtils.verticalLineDivider(context))
6661
}
6762
}
6863
.build()
@@ -85,17 +80,11 @@ class DeleteBlankFormFragment(
8580
}
8681

8782
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
88-
appBarLayout = requireActivity().findViewById(org.odk.collect.androidshared.R.id.appBarLayout)
8983
val blankFormListMenuProvider =
9084
BlankFormListMenuProvider(requireActivity(), blankFormListViewModel)
9185
menuHost.addMenuProvider(blankFormListMenuProvider, viewLifecycleOwner, State.RESUMED)
9286
}
9387

94-
override fun onResume() {
95-
super.onResume()
96-
appBarLayout?.setLiftOnScrollTargetView(list)
97-
}
98-
9988
private fun onDeleteSelected(selected: LongArray) {
10089
MaterialAlertDialogBuilder(requireContext())
10190
.setTitle(string.delete_file)

collect_app/src/main/java/org/odk/collect/android/formlists/savedformlist/DeleteSavedFormFragment.kt

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ import androidx.fragment.app.viewModels
1111
import androidx.lifecycle.Lifecycle
1212
import androidx.lifecycle.ViewModelProvider
1313
import androidx.lifecycle.map
14-
import androidx.recyclerview.widget.RecyclerView
15-
import com.google.android.material.appbar.AppBarLayout
1614
import com.google.android.material.dialog.MaterialAlertDialogBuilder
1715
import org.odk.collect.analytics.Analytics
1816
import org.odk.collect.android.R
@@ -48,8 +46,6 @@ class DeleteSavedFormFragment(
4846
}
4947
)
5048
}
51-
private var appBarLayout: AppBarLayout? = null
52-
private lateinit var list: RecyclerView
5349

5450
override fun onAttach(context: Context) {
5551
super.onAttach(context)
@@ -65,8 +61,7 @@ class DeleteSavedFormFragment(
6561
it.empty.setTitle(getString(string.empty_list_of_forms_to_delete_title))
6662
it.empty.setSubtitle(getString(string.empty_list_of_saved_forms_to_delete_subtitle))
6763

68-
list = it.list
69-
list.addItemDecoration(RecyclerViewUtils.verticalLineDivider(context))
64+
it.list.addItemDecoration(RecyclerViewUtils.verticalLineDivider(context))
7065
}
7166
}
7267
.build()
@@ -93,7 +88,6 @@ class DeleteSavedFormFragment(
9388
}
9489

9590
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
96-
appBarLayout = requireActivity().findViewById(org.odk.collect.androidshared.R.id.appBarLayout)
9791
menuHost?.addMenuProvider(
9892
SavedFormListListMenuProvider(requireContext(), savedFormListViewModel),
9993
viewLifecycleOwner,
@@ -111,11 +105,6 @@ class DeleteSavedFormFragment(
111105
}
112106
}
113107

114-
override fun onResume() {
115-
super.onResume()
116-
appBarLayout?.setLiftOnScrollTargetView(list)
117-
}
118-
119108
private fun onDeleteSelected(selected: LongArray) {
120109
MaterialAlertDialogBuilder(requireContext())
121110
.setTitle(string.delete_file)

lists/src/main/java/org/odk/collect/lists/selects/MultiSelectListFragment.kt

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import android.view.ViewGroup
88
import androidx.core.view.isVisible
99
import androidx.fragment.app.Fragment
1010
import androidx.recyclerview.widget.LinearLayoutManager
11+
import androidx.recyclerview.widget.RecyclerView
12+
import com.google.android.material.appbar.AppBarLayout
1113
import org.odk.collect.androidshared.ui.FragmentFactoryBuilder
1214
import org.odk.collect.lists.R
1315
import org.odk.collect.lists.databinding.MultiSelectListBinding
@@ -19,6 +21,9 @@ class MultiSelectListFragment<T, VH : MultiSelectAdapter.ViewHolder<T>>(
1921
private val onViewCreated: (MultiSelectListBinding) -> Unit = {}
2022
) : Fragment() {
2123

24+
private var appBarLayout: AppBarLayout? = null
25+
private lateinit var list: RecyclerView
26+
2227
override fun onAttach(context: Context) {
2328
super.onAttach(context)
2429

@@ -50,15 +55,19 @@ class MultiSelectListFragment<T, VH : MultiSelectAdapter.ViewHolder<T>>(
5055
}
5156

5257
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
58+
appBarLayout = requireActivity().findViewById(org.odk.collect.androidshared.R.id.appBarLayout)
59+
5360
val binding = MultiSelectListBinding.bind(view)
5461
onViewCreated(binding)
5562

56-
binding.list.layoutManager = LinearLayoutManager(requireContext())
63+
list = binding.list
64+
list.layoutManager = LinearLayoutManager(requireContext())
5765
val adapter = MultiSelectAdapter(
5866
multiSelectViewModel,
5967
viewHolderFactory
6068
)
61-
binding.list.adapter = adapter
69+
list.adapter = adapter
70+
6271
multiSelectViewModel.getData().observe(viewLifecycleOwner) {
6372
adapter.data = it
6473
binding.empty.isVisible = it.isEmpty()
@@ -68,4 +77,9 @@ class MultiSelectListFragment<T, VH : MultiSelectAdapter.ViewHolder<T>>(
6877
adapter.selected = it
6978
}
7079
}
80+
81+
override fun onResume() {
82+
super.onResume()
83+
appBarLayout?.setLiftOnScrollTargetView(list)
84+
}
7185
}

0 commit comments

Comments
 (0)