From 6a7e0f7885b24ae3da55b3a9239239396b52863c Mon Sep 17 00:00:00 2001 From: ThomasSession Date: Fri, 28 Mar 2025 09:48:36 +1030 Subject: [PATCH] Making sure the path activity renders well o n small screens (#1061) * Making sure the path activity renders well o n small screens * Tweaked the function * Removed commented code --- .../securesms/home/PathActivity.kt | 17 ++++++++++++ app/src/main/res/drawable/fade_gradient.xml | 12 +++++++++ app/src/main/res/layout/activity_path.xml | 27 ++++++++++++++----- 3 files changed, 50 insertions(+), 6 deletions(-) create mode 100644 app/src/main/res/drawable/fade_gradient.xml diff --git a/app/src/main/java/org/thoughtcrime/securesms/home/PathActivity.kt b/app/src/main/java/org/thoughtcrime/securesms/home/PathActivity.kt index 96fd06396f..af763b0500 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/home/PathActivity.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/home/PathActivity.kt @@ -10,12 +10,14 @@ import android.util.AttributeSet import android.util.TypedValue import android.view.Gravity import android.view.View +import android.widget.FrameLayout import android.widget.LinearLayout import android.widget.RelativeLayout import android.widget.TextView import android.widget.Toast import androidx.annotation.ColorRes import androidx.core.content.ContextCompat +import androidx.core.view.doOnLayout import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle @@ -49,6 +51,7 @@ import org.thoughtcrime.securesms.util.fadeIn import org.thoughtcrime.securesms.util.fadeOut import org.thoughtcrime.securesms.util.getAccentColor + class PathActivity : ScreenLockActionBarActivity() { private lateinit var binding: ActivityPathBinding private val broadcastReceivers = mutableListOf() @@ -82,6 +85,20 @@ class PathActivity : ScreenLockActionBarActivity() { } } } + + binding.pathScroll.doOnLayout { + val child: View = binding.pathScroll.getChildAt(0) + val isScrollable: Boolean = child.height > binding.pathScroll.height + val params = binding.pathRowsContainer.layoutParams as FrameLayout.LayoutParams + + if(isScrollable){ + params.gravity = Gravity.CENTER_HORIZONTAL + } else { + params.gravity = Gravity.CENTER + } + + binding.pathRowsContainer.layoutParams = params + } } private fun registerObservers() { diff --git a/app/src/main/res/drawable/fade_gradient.xml b/app/src/main/res/drawable/fade_gradient.xml new file mode 100644 index 0000000000..0a4c6bc9de --- /dev/null +++ b/app/src/main/res/drawable/fade_gradient.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_path.xml b/app/src/main/res/layout/activity_path.xml index b91b0ccbe9..647bd6a7d0 100644 --- a/app/src/main/res/layout/activity_path.xml +++ b/app/src/main/res/layout/activity_path.xml @@ -27,12 +27,27 @@ android:layout_margin="@dimen/large_spacing" android:clipChildren="false"> - + + + + + + +