|
@@ -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
|