diff --git a/app/src/main/java/ani/dantotsu/connections/anilist/AnilistViewModel.kt b/app/src/main/java/ani/dantotsu/connections/anilist/AnilistViewModel.kt index 9fb04d02..f9535263 100644 --- a/app/src/main/java/ani/dantotsu/connections/anilist/AnilistViewModel.kt +++ b/app/src/main/java/ani/dantotsu/connections/anilist/AnilistViewModel.kt @@ -353,6 +353,11 @@ class ProfileViewModel : ViewModel(){ mangaFav.postValue(Anilist.query.userFavMedia(false, id)) animeFav.postValue(Anilist.query.userFavMedia(true, id)) listImages.postValue(Anilist.query.getUserBannerImages(id)) + } + fun refresh() { + mangaFav.postValue(mangaFav.value) + animeFav.postValue(animeFav.value) + listImages.postValue(listImages.value) } } \ No newline at end of file diff --git a/app/src/main/java/ani/dantotsu/profile/ProfileFragment.kt b/app/src/main/java/ani/dantotsu/profile/ProfileFragment.kt index 00135292..afb62d82 100644 --- a/app/src/main/java/ani/dantotsu/profile/ProfileFragment.kt +++ b/app/src/main/java/ani/dantotsu/profile/ProfileFragment.kt @@ -36,6 +36,8 @@ class ProfileFragment() : Fragment() { lateinit var binding: FragmentProfileBinding private lateinit var activity: ProfileActivity private lateinit var user: Query.UserProfile + private val favStaff = arrayListOf() + private val favCharacter = arrayListOf() override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -132,24 +134,27 @@ class ProfileFragment() : Fragment() { binding.profileFavManga ) - val favCharacter = arrayListOf() user.favourites?.characters?.nodes?.forEach { i -> favCharacter.add(Character(i.id, i.name.full, i.image.large, i.image.large, "")) } - if (favCharacter.isEmpty()) { - binding.profileFavCharactersContainer.visibility = View.GONE - } - binding.profileFavCharactersRecycler.adapter = CharacterAdapter(favCharacter) - binding.profileFavCharactersRecycler.layoutManager = LinearLayoutManager( - requireContext(), - LinearLayoutManager.HORIZONTAL, - false - ) - val favStaff = arrayListOf() user.favourites?.staff?.nodes?.forEach { i -> favStaff.add(Author(i.id, i.name.full, i.image.large , "" )) } + + setFavPeople() + } + + override fun onResume() { + super.onResume() + if (this::binding.isInitialized) { + binding.root.requestLayout() + setFavPeople() + model.refresh() + } + } + + private fun setFavPeople() { if (favStaff.isEmpty()) { binding.profileFavStaffContainer.visibility = View.GONE } @@ -159,15 +164,15 @@ class ProfileFragment() : Fragment() { LinearLayoutManager.HORIZONTAL, false ) - - } - - override fun onResume() { - super.onResume() - if (this::binding.isInitialized) { - binding.root.requestLayout() - + if (favCharacter.isEmpty()) { + binding.profileFavCharactersContainer.visibility = View.GONE } + binding.profileFavCharactersRecycler.adapter = CharacterAdapter(favCharacter) + binding.profileFavCharactersRecycler.layoutManager = LinearLayoutManager( + requireContext(), + LinearLayoutManager.HORIZONTAL, + false + ) } private fun convertMarkdownToHtml(markdown: String): String {