diff --git a/app/src/main/java/com/codingwithmitch/openapi/presentation/main/blog/list/BlogFragment.kt b/app/src/main/java/com/codingwithmitch/openapi/presentation/main/blog/list/BlogFragment.kt index 0625b64e..9be26ae5 100644 --- a/app/src/main/java/com/codingwithmitch/openapi/presentation/main/blog/list/BlogFragment.kt +++ b/app/src/main/java/com/codingwithmitch/openapi/presentation/main/blog/list/BlogFragment.kt @@ -29,6 +29,7 @@ import com.codingwithmitch.openapi.business.domain.models.BlogPost import com.codingwithmitch.openapi.business.domain.util.* import com.codingwithmitch.openapi.databinding.FragmentBlogBinding import com.codingwithmitch.openapi.presentation.main.blog.BaseBlogFragment +import com.codingwithmitch.openapi.presentation.main.blog.detail.SHOULD_REFRESH import com.codingwithmitch.openapi.presentation.util.TopSpacingItemDecoration import com.codingwithmitch.openapi.presentation.util.processQueue import kotlinx.coroutines.* @@ -60,6 +61,16 @@ class BlogFragment : BaseBlogFragment(), (activity as AppCompatActivity).supportActionBar?.setDisplayShowTitleEnabled(false) setHasOptionsMenu(true) binding.swipeRefresh.setOnRefreshListener(this) + + // If an update occurred from UpdateBlogFragment, refresh the Blog + findNavController().currentBackStackEntry?.savedStateHandle?.getLiveData(SHOULD_REFRESH) + ?.observe(viewLifecycleOwner) { shouldRefresh -> + shouldRefresh?.run { + viewModel.onTriggerEvent(BlogEvents.GetOrderAndFilter) + findNavController().currentBackStackEntry?.savedStateHandle?.set(SHOULD_REFRESH, null) + } + } + initRecyclerView() subscribeObservers() } diff --git a/app/src/main/java/com/codingwithmitch/openapi/presentation/main/create_blog/CreateBlogFragment.kt b/app/src/main/java/com/codingwithmitch/openapi/presentation/main/create_blog/CreateBlogFragment.kt index be6cd52d..aa111c71 100644 --- a/app/src/main/java/com/codingwithmitch/openapi/presentation/main/create_blog/CreateBlogFragment.kt +++ b/app/src/main/java/com/codingwithmitch/openapi/presentation/main/create_blog/CreateBlogFragment.kt @@ -16,6 +16,7 @@ import com.canhub.cropper.CropImageView import com.codingwithmitch.openapi.R import com.codingwithmitch.openapi.business.domain.util.* import com.codingwithmitch.openapi.databinding.FragmentCreateBlogBinding +import com.codingwithmitch.openapi.presentation.main.blog.detail.SHOULD_REFRESH import com.codingwithmitch.openapi.presentation.util.processQueue class CreateBlogFragment : BaseCreateBlogFragment() { @@ -96,6 +97,7 @@ class CreateBlogFragment : BaseCreateBlogFragment() { uri = state.uri, ) if (state.onPublishSuccess) { + findNavController().previousBackStackEntry?.savedStateHandle?.set(SHOULD_REFRESH, true) findNavController().popBackStack(R.id.blogFragment, false) } })