android: Sort games alphabetically by default
This commit is contained in:
parent
9f433e281a
commit
03541703fa
|
@ -20,8 +20,10 @@ import org.yuzu.yuzu_emu.R
|
||||||
import org.yuzu.yuzu_emu.adapters.GameAdapter
|
import org.yuzu.yuzu_emu.adapters.GameAdapter
|
||||||
import org.yuzu.yuzu_emu.databinding.FragmentGamesBinding
|
import org.yuzu.yuzu_emu.databinding.FragmentGamesBinding
|
||||||
import org.yuzu.yuzu_emu.layout.AutofitGridLayoutManager
|
import org.yuzu.yuzu_emu.layout.AutofitGridLayoutManager
|
||||||
|
import org.yuzu.yuzu_emu.model.Game
|
||||||
import org.yuzu.yuzu_emu.model.GamesViewModel
|
import org.yuzu.yuzu_emu.model.GamesViewModel
|
||||||
import org.yuzu.yuzu_emu.model.HomeViewModel
|
import org.yuzu.yuzu_emu.model.HomeViewModel
|
||||||
|
import java.util.Locale
|
||||||
|
|
||||||
class GamesFragment : Fragment() {
|
class GamesFragment : Fragment() {
|
||||||
private var _binding: FragmentGamesBinding? = null
|
private var _binding: FragmentGamesBinding? = null
|
||||||
|
@ -73,7 +75,7 @@ class GamesFragment : Fragment() {
|
||||||
binding.swipeRefresh.isRefreshing = isReloading
|
binding.swipeRefresh.isRefreshing = isReloading
|
||||||
}
|
}
|
||||||
gamesViewModel.games.observe(viewLifecycleOwner) {
|
gamesViewModel.games.observe(viewLifecycleOwner) {
|
||||||
(binding.gridGames.adapter as GameAdapter).submitList(it)
|
submitGamesList(it)
|
||||||
if (it.isEmpty()) {
|
if (it.isEmpty()) {
|
||||||
binding.noticeText.visibility = View.VISIBLE
|
binding.noticeText.visibility = View.VISIBLE
|
||||||
} else {
|
} else {
|
||||||
|
@ -83,7 +85,7 @@ class GamesFragment : Fragment() {
|
||||||
|
|
||||||
gamesViewModel.shouldSwapData.observe(viewLifecycleOwner) { shouldSwapData ->
|
gamesViewModel.shouldSwapData.observe(viewLifecycleOwner) { shouldSwapData ->
|
||||||
if (shouldSwapData) {
|
if (shouldSwapData) {
|
||||||
(binding.gridGames.adapter as GameAdapter).submitList(gamesViewModel.games.value)
|
submitGamesList(gamesViewModel.games.value!!)
|
||||||
gamesViewModel.setShouldSwapData(false)
|
gamesViewModel.setShouldSwapData(false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,6 +109,11 @@ class GamesFragment : Fragment() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun submitGamesList(gameList: List<Game>) {
|
||||||
|
val sortedList = gameList.sortedBy { it.title.lowercase(Locale.getDefault()) }
|
||||||
|
(binding.gridGames.adapter as GameAdapter).submitList(sortedList)
|
||||||
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
super.onDestroyView()
|
super.onDestroyView()
|
||||||
_binding = null
|
_binding = null
|
||||||
|
|
Reference in New Issue