Fixes crash occuring when the blog post request response arrives when the fragment does not exists

blinds
Laurent 5 years ago
parent 3d5f53a41c
commit fb717e09bf
  1. 23
      app/src/main/java/net/pokeranalytics/android/ui/modules/feed/FeedFragment.kt

@ -274,11 +274,11 @@ class FeedFragment : FilterableFragment(), RowRepresentableDelegate, PurchaseLis
retrieveLatestBlogPosts() // attempt to retrieve blog tips on display retrieveLatestBlogPosts() // attempt to retrieve blog tips on display
} }
displayPostButton() displayBlogPostButton()
binding.postButton.setOnClickListener { binding.postButton.setOnClickListener {
Preferences.setBlogTipsTapped(requireContext()) Preferences.setBlogTipsTapped(requireContext())
parentActivity?.openUrl(URL.BLOG_TIPS.value) parentActivity?.openUrl(URL.BLOG_TIPS.value)
displayPostButton() displayBlogPostButton()
} }
binding.postButton.viewTreeObserver.addOnGlobalLayoutListener { binding.postButton.viewTreeObserver.addOnGlobalLayoutListener {
@ -587,23 +587,26 @@ class FeedFragment : FilterableFragment(), RowRepresentableDelegate, PurchaseLis
if (Preferences.shouldShowBlogTips(requireContext()) && Preferences.getLastBlogTipsRetrievalDate(requireContext()) + 24 * 3600 * 1000 < now) { if (Preferences.shouldShowBlogTips(requireContext()) && Preferences.getLastBlogTipsRetrievalDate(requireContext()) + 24 * 3600 * 1000 < now) {
BlogPostApi.getLatestPosts(requireContext()) { posts -> BlogPostApi.getLatestPosts(requireContext()) { posts ->
Preferences.setLastBlogTipsRetrievalDate(now, requireContext())
var count = 0 context?.let {
if (posts.isNotEmpty()) { Preferences.setLastBlogTipsRetrievalDate(now, requireContext())
Preferences.setLatestRetrievedBlogPostId(posts.first().id, requireContext()) var count = 0
if (posts.isNotEmpty()) {
Preferences.setLatestRetrievedBlogPostId(posts.first().id, requireContext())
val id = Preferences.getLatestDisplayedBlogPostId(requireContext()) val id = Preferences.getLatestDisplayedBlogPostId(requireContext())
count = posts.count { it.id > id } count = posts.count { it.id > id }
}
displayBlogPostButton(count)
} }
displayPostButton(count)
} }
} }
} }
private fun displayPostButton(newCount: Int = 0) { private fun displayBlogPostButton(newCount: Int = 0) {
var show = false var show = false
if (Preferences.shouldShowBlogTips(requireContext()) && newCount > 0) { if (Preferences.shouldShowBlogTips(requireContext()) && newCount > 0) {
show = true show = true

Loading…
Cancel
Save