diff --git a/app/src/main/java/org/thoughtcrime/securesms/exporter/flow/ExportYourSmsMessagesFragment.kt b/app/src/main/java/org/thoughtcrime/securesms/exporter/flow/ExportYourSmsMessagesFragment.kt index c2de0e9af..594f07f85 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/exporter/flow/ExportYourSmsMessagesFragment.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/exporter/flow/ExportYourSmsMessagesFragment.kt @@ -7,6 +7,7 @@ import androidx.navigation.fragment.findNavController import org.signal.smsexporter.DefaultSmsHelper import org.thoughtcrime.securesms.R import org.thoughtcrime.securesms.databinding.ExportYourSmsMessagesFragmentBinding +import org.thoughtcrime.securesms.util.Material3OnScrollHelper import org.thoughtcrime.securesms.util.navigation.safeNavigate /** @@ -28,5 +29,7 @@ class ExportYourSmsMessagesFragment : Fragment(R.layout.export_your_sms_messages findNavController().safeNavigate(ExportYourSmsMessagesFragmentDirections.actionExportYourSmsMessagesFragmentToSetSignalAsDefaultSmsAppFragment()) } } + + Material3OnScrollHelper(requireActivity(), binding.toolbar).attach(binding.scrollView) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/Material3OnScrollHelper.kt b/app/src/main/java/org/thoughtcrime/securesms/util/Material3OnScrollHelper.kt index b7254adf5..eaebd6b85 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/Material3OnScrollHelper.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/util/Material3OnScrollHelper.kt @@ -7,6 +7,7 @@ import android.view.View import androidx.annotation.ColorInt import androidx.annotation.ColorRes import androidx.core.content.ContextCompat +import androidx.core.widget.NestedScrollView import androidx.recyclerview.widget.RecyclerView import com.google.android.material.animation.ArgbEvaluatorCompat import com.google.android.material.appbar.AppBarLayout @@ -47,6 +48,14 @@ open class Material3OnScrollHelper( private var animator: ValueAnimator? = null private var active: Boolean? = null + fun attach(nestedScrollView: NestedScrollView) { + nestedScrollView.setOnScrollChangeListener( + OnScrollListener().apply { + onScrollChange(nestedScrollView, 0, 0, 0, 0) + } + ) + } + fun attach(recyclerView: RecyclerView) { recyclerView.addOnScrollListener( OnScrollListener().apply { @@ -57,7 +66,7 @@ open class Material3OnScrollHelper( fun attach(appBarLayout: AppBarLayout) { appBarLayout.addOnOffsetChangedListener( - OnOffsetChangedListener().apply { + OnScrollListener().apply { onOffsetChanged(appBarLayout, 0) } ) @@ -119,15 +128,17 @@ open class Material3OnScrollHelper( viewStubs.filter { it.resolved() }.forEach { it.get().setBackgroundColor(color) } } - private inner class OnScrollListener : RecyclerView.OnScrollListener() { + private inner class OnScrollListener : RecyclerView.OnScrollListener(), AppBarLayout.OnOffsetChangedListener, NestedScrollView.OnScrollChangeListener { override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { updateActiveState(recyclerView.canScrollVertically(-1)) } - } - private inner class OnOffsetChangedListener : AppBarLayout.OnOffsetChangedListener { override fun onOffsetChanged(appBarLayout: AppBarLayout, verticalOffset: Int) { updateActiveState(verticalOffset != 0) } + + override fun onScrollChange(v: NestedScrollView, scrollX: Int, scrollY: Int, oldScrollX: Int, oldScrollY: Int) { + updateActiveState(v.canScrollVertically(-1)) + } } } diff --git a/app/src/main/res/layout/choose_a_new_default_sms_app_fragment.xml b/app/src/main/res/layout/choose_a_new_default_sms_app_fragment.xml index 145f3a9c8..306cb4712 100644 --- a/app/src/main/res/layout/choose_a_new_default_sms_app_fragment.xml +++ b/app/src/main/res/layout/choose_a_new_default_sms_app_fragment.xml @@ -246,8 +246,9 @@ style="@style/Signal.Widget.Button.Large.Tonal" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_marginTop="48dp" android:layout_marginBottom="44dp" - android:minWidth="221dp" + android:minWidth="220dp" android:text="@string/ChooseANewDefaultSmsAppFragment__continue" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/export_your_sms_messages_fragment.xml b/app/src/main/res/layout/export_your_sms_messages_fragment.xml index 2bb21296c..f0c07f29b 100644 --- a/app/src/main/res/layout/export_your_sms_messages_fragment.xml +++ b/app/src/main/res/layout/export_your_sms_messages_fragment.xml @@ -1,63 +1,77 @@ - + android:orientation="vertical"> - + android:layout_height="match_parent" + android:fillViewport="true"> - + - + - + - \ No newline at end of file + + + + + + + + +