From f872c528934a1b8b13471b661ea0ffe1c031e2d5 Mon Sep 17 00:00:00 2001 From: ottoptj Date: Thu, 5 Sep 2024 01:30:00 +0300 Subject: [PATCH] Added vertical alignment options to shortcuts --- .../java/eu/ottop/yamlauncher/MainActivity.kt | 5 ++++ .../settings/SharedPreferenceManager.kt | 4 ++++ .../eu/ottop/yamlauncher/utils/UIUtils.kt | 24 +++++++++++++++++++ app/src/main/res/layout/activity_main.xml | 2 ++ app/src/main/res/values/arrays.xml | 12 ++++++++++ app/src/main/res/xml/home_preferences.xml | 11 ++++++++- 6 files changed, 57 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt b/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt index a77fab0..04d6468 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/MainActivity.kt @@ -200,6 +200,7 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh } uiUtils.setShortcutsAlignment(binding.homeView) + uiUtils.setShortcutsVAlignment(binding.topSpace, binding.bottomSpace) } } } @@ -451,6 +452,10 @@ class MainActivity : AppCompatActivity(), SharedPreferences.OnSharedPreferenceCh uiUtils.setShortcutsAlignment(binding.homeView) } + "shortcutVAlignment" -> { + uiUtils.setShortcutsVAlignment(binding.topSpace, binding.bottomSpace) + } + "searchAlignment" -> { uiUtils.setSearchAlignment(searchView) } diff --git a/app/src/main/java/eu/ottop/yamlauncher/settings/SharedPreferenceManager.kt b/app/src/main/java/eu/ottop/yamlauncher/settings/SharedPreferenceManager.kt index c776840..afaefde 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/settings/SharedPreferenceManager.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/settings/SharedPreferenceManager.kt @@ -90,6 +90,10 @@ class SharedPreferenceManager (private val context: Context) { return preferences.getString("shortcutAlignment", "left") } + fun getShortcutVAlignment(): String? { + return preferences.getString("shortcutVAlignment", "left") + } + fun getShortcutSize(): String? { return preferences.getString("shortcutSize", "medium") } diff --git a/app/src/main/java/eu/ottop/yamlauncher/utils/UIUtils.kt b/app/src/main/java/eu/ottop/yamlauncher/utils/UIUtils.kt index 45844c6..3463965 100644 --- a/app/src/main/java/eu/ottop/yamlauncher/utils/UIUtils.kt +++ b/app/src/main/java/eu/ottop/yamlauncher/utils/UIUtils.kt @@ -14,6 +14,7 @@ import android.view.Window import android.view.WindowInsets import android.view.WindowInsetsController import android.widget.LinearLayout +import android.widget.Space import android.widget.TextClock import android.widget.TextView import androidx.constraintlayout.widget.ConstraintLayout @@ -146,6 +147,29 @@ class UIUtils(private val context: Context) { } } + fun setShortcutsVAlignment(topSpace: Space, bottomSpace: Space) { + val alignment = sharedPreferenceManager.getShortcutVAlignment() + val topLayoutParams = topSpace.layoutParams as LinearLayout.LayoutParams + val bottomLayoutParams = bottomSpace.layoutParams as LinearLayout.LayoutParams + + when (alignment) { + "top" -> { + topLayoutParams.weight = 0.1F + bottomLayoutParams.weight = 0.42F + } + "center" -> { + topLayoutParams.weight = 0.22F + bottomLayoutParams.weight = 0.3F + } + "bottom" -> { + topLayoutParams.weight = 0.42F + bottomLayoutParams.weight = 0.1F + } + } + + topSpace.layoutParams = topLayoutParams + bottomSpace.layoutParams = bottomLayoutParams + } fun setDrawables(shortcut: TextView, alignment: String?) { try { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index cec0694..f279770 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -132,6 +132,7 @@ @@ -387,6 +388,7 @@ android:visibility="gone" /> diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 1055c3d..e45e7ab 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -79,6 +79,18 @@ right + + Top + Center + Bottom + + + + top + center + bottom + + Tiny Small diff --git a/app/src/main/res/xml/home_preferences.xml b/app/src/main/res/xml/home_preferences.xml index 369115a..6c162bd 100644 --- a/app/src/main/res/xml/home_preferences.xml +++ b/app/src/main/res/xml/home_preferences.xml @@ -163,7 +163,16 @@ android:entries="@array/h_alignment_options" android:entryValues="@array/h_alignment_values" app:key="shortcutAlignment" - app:title="Shortcut Alignment" + app:title="Horizontal Alignment" + app:useSimpleSummaryProvider="true" /> +