This commit is contained in:
Erik Cavazos 2023-08-15 23:11:15 -06:00
parent 80f2739cd2
commit bcf32ee06c
4 changed files with 12 additions and 7 deletions

View File

@ -12,6 +12,7 @@ import com.isolaatti.common.UserListRecyclerViewAdapter
import com.isolaatti.databinding.FragmentFollowersBinding
import com.isolaatti.followers.presentation.FollowersViewModel
import com.isolaatti.profile.domain.entity.ProfileListItem
import com.isolaatti.profile.ui.ProfileActivity
class FollowingFragment : Fragment(), UserItemCallback {
private lateinit var binding: FragmentFollowersBinding
@ -48,7 +49,7 @@ class FollowingFragment : Fragment(), UserItemCallback {
}
override fun itemClick(userId: Int) {
ProfileActivity.startActivity(requireContext(), userId)
}
override fun followButtonClick(user: ProfileListItem, action: UserItemCallback.FollowButtonAction) {

View File

@ -135,7 +135,6 @@ class FeedFragment : Fragment(), OnUserInteractedWithPostCallback {
viewBinding.swipeToRefresh.setOnRefreshListener {
viewModel.getFeed(refresh = true)
viewBinding.swipeToRefresh.isRefreshing = false
}
@ -175,6 +174,9 @@ class FeedFragment : Fragment(), OnUserInteractedWithPostCallback {
viewModel.loadingPosts.observe(viewLifecycleOwner) {
viewBinding.loadingIndicator.visibility = if(it) View.VISIBLE else View.GONE
if(!it) {
viewBinding.swipeToRefresh.isRefreshing = false
}
}

View File

@ -120,6 +120,8 @@ class PostsRecyclerViewAdapter (private val markwon: Markwon, private val callba
return FeedViewHolder(view)
}
var previousSize = 0
override fun getItemCount(): Int = feedDto?.data?.size ?: 0
@ -137,6 +139,7 @@ class PostsRecyclerViewAdapter (private val markwon: Markwon, private val callba
val postUpdated = feedDto?.data?.find { p -> p.post.id == updateEvent.affectedId }
val position = feedDto?.data?.indexOf(postUpdated)
previousSize = itemCount
feedDto = updatedFeed
when(updateEvent.updateType) {
@ -157,7 +160,7 @@ class PostsRecyclerViewAdapter (private val markwon: Markwon, private val callba
}
UpdateEvent.UpdateType.PAGE_ADDED -> {
notifyItemInserted(itemCount - 1)
notifyItemInserted(previousSize)
}
UpdateEvent.UpdateType.REFRESH -> {
notifyDataSetChanged()

View File

@ -5,16 +5,12 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.res.ResourcesCompat
import androidx.core.content.res.ResourcesCompat.ThemeCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.lifecycle.Observer
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.LinearLayoutManager
import com.google.android.material.R.color.m3_icon_button_icon_color_selector
import com.google.android.material.button.MaterialButton
import com.isolaatti.BuildConfig
import com.isolaatti.R
import com.isolaatti.databinding.FragmentDiscussionsBinding
@ -164,6 +160,9 @@ class ProfileMainFragment : Fragment() {
viewModel.followingState.observe(viewLifecycleOwner, followingStateObserver)
viewModel.loadingPosts.observe(viewLifecycleOwner) {
viewBinding.loadingIndicator.visibility = if(it) View.VISIBLE else View.GONE
if(!it) {
viewBinding.swipeToRefresh.isRefreshing = false
}
}
}