Fix bug where dates weren't rendered properly after wallpaper change.

fork-5.53.8
Greyson Parrelli 2021-01-22 20:59:42 -05:00
rodzic ed11e2f05a
commit e1c6311a18
1 zmienionych plików z 11 dodań i 9 usunięć

Wyświetl plik

@ -126,7 +126,6 @@ import org.thoughtcrime.securesms.stickers.StickerLocator;
import org.thoughtcrime.securesms.stickers.StickerPackPreviewActivity; import org.thoughtcrime.securesms.stickers.StickerPackPreviewActivity;
import org.thoughtcrime.securesms.util.CachedInflater; import org.thoughtcrime.securesms.util.CachedInflater;
import org.thoughtcrime.securesms.util.CommunicationActions; import org.thoughtcrime.securesms.util.CommunicationActions;
import org.thoughtcrime.securesms.util.FeatureFlags;
import org.thoughtcrime.securesms.util.HtmlUtil; import org.thoughtcrime.securesms.util.HtmlUtil;
import org.thoughtcrime.securesms.util.RemoteDeleteUtil; import org.thoughtcrime.securesms.util.RemoteDeleteUtil;
import org.thoughtcrime.securesms.util.SaveAttachmentTask; import org.thoughtcrime.securesms.util.SaveAttachmentTask;
@ -173,7 +172,7 @@ public class ConversationFragment extends LoggingFragment {
private Locale locale; private Locale locale;
private RecyclerView list; private RecyclerView list;
private RecyclerView.ItemDecoration lastSeenDecoration; private RecyclerView.ItemDecoration lastSeenDecoration;
private RecyclerView.ItemDecoration popoverDateDecoration; private RecyclerView.ItemDecoration inlineDateDecoration;
private ViewSwitcher topLoadMoreView; private ViewSwitcher topLoadMoreView;
private ViewSwitcher bottomLoadMoreView; private ViewSwitcher bottomLoadMoreView;
private ConversationTypingView typingView; private ConversationTypingView typingView;
@ -398,7 +397,10 @@ public class ConversationFragment extends LoggingFragment {
if (adapter != null) { if (adapter != null) {
Log.d(TAG, "Notifying adapter that wallpaper state has changed."); 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()); ConversationAdapter adapter = new ConversationAdapter(this, GlideApp.with(this), locale, selectionClickListener, this.recipient.get());
adapter.setPagingController(conversationViewModel.getPagingController()); adapter.setPagingController(conversationViewModel.getPagingController());
list.setAdapter(adapter); list.setAdapter(adapter);
setPopoverDateDecoration(adapter); setInlineDateDecoration(adapter);
ConversationAdapter.initializePool(list.getRecycledViewPool()); ConversationAdapter.initializePool(list.getRecycledViewPool());
adapter.registerAdapterDataObserver(snapToTopDataObserver); adapter.registerAdapterDataObserver(snapToTopDataObserver);
@ -665,13 +667,13 @@ public class ConversationFragment extends LoggingFragment {
} }
} }
public void setPopoverDateDecoration(@NonNull ConversationAdapter adapter) { public void setInlineDateDecoration(@NonNull ConversationAdapter adapter) {
if (popoverDateDecoration != null) { if (inlineDateDecoration != null) {
list.removeItemDecoration(popoverDateDecoration); list.removeItemDecoration(inlineDateDecoration);
} }
popoverDateDecoration = new StickyHeaderDecoration(adapter, false, false, ConversationAdapter.HEADER_TYPE_INLINE_DATE); inlineDateDecoration = new StickyHeaderDecoration(adapter, false, false, ConversationAdapter.HEADER_TYPE_INLINE_DATE);
list.addItemDecoration(popoverDateDecoration); list.addItemDecoration(inlineDateDecoration);
} }
public void setLastSeen(long lastSeen) { public void setLastSeen(long lastSeen) {