From e1c6311a1864f95e4b9587e8a8a1c2207db7f000 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 22 Jan 2021 20:59:42 -0500 Subject: [PATCH] Fix bug where dates weren't rendered properly after wallpaper change. --- .../conversation/ConversationFragment.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java index fd7ab39ad..4df61b7a0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationFragment.java @@ -126,7 +126,6 @@ import org.thoughtcrime.securesms.stickers.StickerLocator; import org.thoughtcrime.securesms.stickers.StickerPackPreviewActivity; import org.thoughtcrime.securesms.util.CachedInflater; import org.thoughtcrime.securesms.util.CommunicationActions; -import org.thoughtcrime.securesms.util.FeatureFlags; import org.thoughtcrime.securesms.util.HtmlUtil; import org.thoughtcrime.securesms.util.RemoteDeleteUtil; import org.thoughtcrime.securesms.util.SaveAttachmentTask; @@ -173,7 +172,7 @@ public class ConversationFragment extends LoggingFragment { private Locale locale; private RecyclerView list; private RecyclerView.ItemDecoration lastSeenDecoration; - private RecyclerView.ItemDecoration popoverDateDecoration; + private RecyclerView.ItemDecoration inlineDateDecoration; private ViewSwitcher topLoadMoreView; private ViewSwitcher bottomLoadMoreView; private ConversationTypingView typingView; @@ -398,7 +397,10 @@ public class ConversationFragment extends LoggingFragment { if (adapter != null) { Log.d(TAG, "Notifying adapter that wallpaper state has changed."); - getListAdapter().onHasWallpaperChanged(wallpaper != null); + + if (adapter.onHasWallpaperChanged(wallpaper != null)) { + setInlineDateDecoration(adapter); + } } } } @@ -524,7 +526,7 @@ public class ConversationFragment extends LoggingFragment { ConversationAdapter adapter = new ConversationAdapter(this, GlideApp.with(this), locale, selectionClickListener, this.recipient.get()); adapter.setPagingController(conversationViewModel.getPagingController()); list.setAdapter(adapter); - setPopoverDateDecoration(adapter); + setInlineDateDecoration(adapter); ConversationAdapter.initializePool(list.getRecycledViewPool()); adapter.registerAdapterDataObserver(snapToTopDataObserver); @@ -665,13 +667,13 @@ public class ConversationFragment extends LoggingFragment { } } - public void setPopoverDateDecoration(@NonNull ConversationAdapter adapter) { - if (popoverDateDecoration != null) { - list.removeItemDecoration(popoverDateDecoration); + public void setInlineDateDecoration(@NonNull ConversationAdapter adapter) { + if (inlineDateDecoration != null) { + list.removeItemDecoration(inlineDateDecoration); } - popoverDateDecoration = new StickyHeaderDecoration(adapter, false, false, ConversationAdapter.HEADER_TYPE_INLINE_DATE); - list.addItemDecoration(popoverDateDecoration); + inlineDateDecoration = new StickyHeaderDecoration(adapter, false, false, ConversationAdapter.HEADER_TYPE_INLINE_DATE); + list.addItemDecoration(inlineDateDecoration); } public void setLastSeen(long lastSeen) {