From ccc08e651cf1f57d31b18aacad4295424641cf4a Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Fri, 28 Jan 2022 12:41:35 -0400 Subject: [PATCH] Fix vertical translation of header on API23 devices. --- .../conversation/ConversationAdapter.java | 20 ++++++++++++++++++- .../giph/mp4/GiphyMp4ItemDecoration.kt | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java index dd576804fa..bbd2c5addb 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationAdapter.java @@ -18,6 +18,7 @@ package org.thoughtcrime.securesms.conversation; import android.annotation.SuppressLint; import android.content.Context; +import android.os.Build; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -39,6 +40,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.google.android.exoplayer2.MediaItem; +import org.signal.core.util.DimensionUnit; import org.signal.core.util.ThreadUtil; import org.signal.core.util.logging.Log; import org.signal.paging.PagingController; @@ -778,7 +780,23 @@ public class ConversationAdapter } public static class FooterViewHolder extends HeaderFooterViewHolder { - FooterViewHolder(@NonNull View itemView) { super(itemView); } + FooterViewHolder(@NonNull View itemView) { + super(itemView); + setPaddingTop(); + } + + @Override + void bind(@Nullable View view) { + super.bind(view); + setPaddingTop(); + } + + private void setPaddingTop() { + if (Build.VERSION.SDK_INT <= 23) { + int addToPadding = ViewUtil.getStatusBarHeight(itemView) + (int) ThemeUtil.getThemedDimen(itemView.getContext(), android.R.attr.actionBarSize); + ViewUtil.setPaddingTop(itemView, itemView.getPaddingTop() + addToPadding); + } + } } public static class HeaderViewHolder extends HeaderFooterViewHolder { diff --git a/app/src/main/java/org/thoughtcrime/securesms/giph/mp4/GiphyMp4ItemDecoration.kt b/app/src/main/java/org/thoughtcrime/securesms/giph/mp4/GiphyMp4ItemDecoration.kt index 5e5b382edb..fb20fe9b50 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/giph/mp4/GiphyMp4ItemDecoration.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/giph/mp4/GiphyMp4ItemDecoration.kt @@ -37,7 +37,7 @@ class GiphyMp4ItemDecoration( return } - val childTop = footerViewHolder.itemView.top + val childTop: Int = footerViewHolder.itemView.top parent.translationY = min(0, -childTop).toFloat() onRecyclerVerticalTranslationSet(parent.translationY) }