WIP
This commit is contained in:
parent
80f2739cd2
commit
bcf32ee06c
@ -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) {
|
||||
|
||||
@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user