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