diff --git a/app/src/main/java/com/isolaatti/followers/ui/FollowingFragment.kt b/app/src/main/java/com/isolaatti/followers/ui/FollowingFragment.kt index 0a66920..c9678ba 100644 --- a/app/src/main/java/com/isolaatti/followers/ui/FollowingFragment.kt +++ b/app/src/main/java/com/isolaatti/followers/ui/FollowingFragment.kt @@ -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) { diff --git a/app/src/main/java/com/isolaatti/home/FeedFragment.kt b/app/src/main/java/com/isolaatti/home/FeedFragment.kt index 5837c62..de56d3f 100644 --- a/app/src/main/java/com/isolaatti/home/FeedFragment.kt +++ b/app/src/main/java/com/isolaatti/home/FeedFragment.kt @@ -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 + } } diff --git a/app/src/main/java/com/isolaatti/posting/posts/presentation/PostsRecyclerViewAdapter.kt b/app/src/main/java/com/isolaatti/posting/posts/presentation/PostsRecyclerViewAdapter.kt index 5416c2b..bec2015 100644 --- a/app/src/main/java/com/isolaatti/posting/posts/presentation/PostsRecyclerViewAdapter.kt +++ b/app/src/main/java/com/isolaatti/posting/posts/presentation/PostsRecyclerViewAdapter.kt @@ -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() diff --git a/app/src/main/java/com/isolaatti/profile/ui/ProfileMainFragment.kt b/app/src/main/java/com/isolaatti/profile/ui/ProfileMainFragment.kt index 7bdecf4..fdb44a2 100644 --- a/app/src/main/java/com/isolaatti/profile/ui/ProfileMainFragment.kt +++ b/app/src/main/java/com/isolaatti/profile/ui/ProfileMainFragment.kt @@ -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 + } } }