From d106ac5c0ad888731cbdbbea65b7be0ce0b14b03 Mon Sep 17 00:00:00 2001 From: Austin Huang Date: Fri, 9 Jul 2021 15:20:56 -0400 Subject: [PATCH] fix observer delegations --- .../fragments/StoryViewerFragment.kt | 16 ++++++++-------- .../fragments/main/FeedFragment.java | 10 +--------- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/awais/instagrabber/fragments/StoryViewerFragment.kt b/app/src/main/java/awais/instagrabber/fragments/StoryViewerFragment.kt index e255e4a2..34d789a4 100644 --- a/app/src/main/java/awais/instagrabber/fragments/StoryViewerFragment.kt +++ b/app/src/main/java/awais/instagrabber/fragments/StoryViewerFragment.kt @@ -213,7 +213,7 @@ class StoryViewerFragment : Fragment() { storiesViewModel.setMedia(position) } binding.storiesList.adapter = storiesAdapter - storiesViewModel.getCurrentStory().observe(viewLifecycleOwner, { + storiesViewModel.getCurrentStory().observe(fragmentActivity, { if (it?.items != null && it.items.size > 1) { val storyMedias = it.items.toMutableList() val newItem = storyMedias.get(0) @@ -231,19 +231,19 @@ class StoryViewerFragment : Fragment() { binding.storiesList.visibility = View.GONE } }) - storiesViewModel.getDate().observe(viewLifecycleOwner, { + storiesViewModel.getDate().observe(fragmentActivity, { val actionBar = fragmentActivity.supportActionBar if (actionBar != null && it != null) actionBar.subtitle = it }) - storiesViewModel.getTitle().observe(viewLifecycleOwner, { + storiesViewModel.getTitle().observe(fragmentActivity, { val actionBar = fragmentActivity.supportActionBar if (actionBar != null && it != null) actionBar.title = it }) - storiesViewModel.getCurrentMedia().observe(viewLifecycleOwner, { refreshStory(it) }) - storiesViewModel.getCurrentIndex().observe(viewLifecycleOwner, { + storiesViewModel.getCurrentMedia().observe(fragmentActivity, { refreshStory(it) }) + storiesViewModel.getCurrentIndex().observe(fragmentActivity, { storiesAdapter!!.paginate(it) }) - storiesViewModel.getOptions().observe(viewLifecycleOwner, { + storiesViewModel.getOptions().observe(fragmentActivity, { binding.stickers.isEnabled = it.first.size > 0 }) } @@ -268,7 +268,7 @@ class StoryViewerFragment : Fragment() { when (type) { StoryViewerOptions.Type.HIGHLIGHT -> { storiesViewModel.fetchHighlights(options!!.id) - storiesViewModel.highlights.observe(viewLifecycleOwner) { + storiesViewModel.highlights.observe(fragmentActivity) { setupMultipage(it) } } @@ -319,7 +319,7 @@ class StoryViewerFragment : Fragment() { private fun setupMultipage(models: List?) { if (models == null) return - storiesViewModel.getPagination().observe(viewLifecycleOwner, { + storiesViewModel.getPagination().observe(fragmentActivity, { when (it) { StoryPaginationType.FORWARD -> { if (currentFeedStoryIndex == models.size - 1) diff --git a/app/src/main/java/awais/instagrabber/fragments/main/FeedFragment.java b/app/src/main/java/awais/instagrabber/fragments/main/FeedFragment.java index 561473e0..eb2909d2 100644 --- a/app/src/main/java/awais/instagrabber/fragments/main/FeedFragment.java +++ b/app/src/main/java/awais/instagrabber/fragments/main/FeedFragment.java @@ -319,14 +319,6 @@ public class FeedFragment extends Fragment implements SwipeRefreshLayout.OnRefre return super.onOptionsItemSelected(item); } - @Override - public void onResume() { - super.onResume(); - // temporary fix - feedStoriesViewModel.getList().removeObservers(getViewLifecycleOwner()); - feedStoriesViewModel.getList().observe(getViewLifecycleOwner(), feedStoriesAdapter::submitList); - } - @Override public void onRefresh() { binding.feedRecyclerView.refresh(); @@ -382,7 +374,7 @@ public class FeedFragment extends Fragment implements SwipeRefreshLayout.OnRefre storiesRecyclerView = binding.header; storiesRecyclerView.setLayoutManager(new LinearLayoutManager(context, RecyclerView.HORIZONTAL, false)); storiesRecyclerView.setAdapter(feedStoriesAdapter); - feedStoriesViewModel.getList().observe(getViewLifecycleOwner(), feedStoriesAdapter::submitList); + feedStoriesViewModel.getList().observe(fragmentActivity, feedStoriesAdapter::submitList); fetchStories(); }