From 989369ca86cedaee2d4aed2ccf863db1717eda85 Mon Sep 17 00:00:00 2001 From: crosleyzack Date: Sat, 30 Aug 2025 12:59:08 -0400 Subject: [PATCH] feat(apps): app drawer obeys home alignment --- app/src/main/java/app/olauncher/MainViewModel.kt | 11 +++++++++++ .../main/java/app/olauncher/ui/AppDrawerFragment.kt | 6 ++++++ .../main/java/app/olauncher/ui/SettingsFragment.kt | 8 +++++--- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/app/olauncher/MainViewModel.kt b/app/src/main/java/app/olauncher/MainViewModel.kt index 21579bd0f..814983085 100644 --- a/app/src/main/java/app/olauncher/MainViewModel.kt +++ b/app/src/main/java/app/olauncher/MainViewModel.kt @@ -48,6 +48,7 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { val isOlauncherDefault = MutableLiveData() val launcherResetFailed = MutableLiveData() val homeAppAlignment = MutableLiveData() + val appLabelAlignment = MutableLiveData() val screenTimeValue = MutableLiveData() val showDialog = SingleLiveEvent() @@ -255,6 +256,16 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { homeAppAlignment.value = prefs.homeAlignment } + fun updateAppAlignment(gravity: Int) { + prefs.appLabelAlignment = gravity + appLabelAlignment.value = prefs.appLabelAlignment + } + + fun updateAllAlignment(gravity: Int) { + updateHomeAlignment(gravity) + updateAppAlignment(gravity) + } + fun getTodaysScreenTime() { if (prefs.screenTimeLastUpdated.hasBeenMinutes(1).not()) return diff --git a/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt b/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt index 1986300fd..60e695315 100644 --- a/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt +++ b/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt @@ -1,6 +1,7 @@ package app.olauncher.ui import android.os.Bundle +import android.view.Gravity import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -58,6 +59,7 @@ class AppDrawerFragment : Fragment() { flag = it.getInt(Constants.Key.FLAG, Constants.FLAG_LAUNCH_APP) canRename = it.getBoolean(Constants.Key.RENAME, false) } + setAppAlignment(prefs.appLabelAlignment) initViews() initSearch() initAdapter() @@ -284,4 +286,8 @@ class AppDrawerFragment : Fragment() { super.onDestroyView() _binding = null } + + private fun setAppAlignment(horizontalGravity: Int = prefs.appLabelAlignment) { + viewModel.updateAppAlignment(horizontalGravity) + } } \ No newline at end of file diff --git a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt index b64a7ca3a..9d35d88df 100644 --- a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt +++ b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt @@ -106,9 +106,10 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe R.id.dailyWallpaperUrl -> requireContext().openUrl(prefs.dailyWallpaperUrl) R.id.dailyWallpaper -> toggleDailyWallpaperUpdate() R.id.alignment -> binding.alignmentSelectLayout.visibility = View.VISIBLE - R.id.alignmentLeft -> viewModel.updateHomeAlignment(Gravity.START) - R.id.alignmentCenter -> viewModel.updateHomeAlignment(Gravity.CENTER) - R.id.alignmentRight -> viewModel.updateHomeAlignment(Gravity.END) + // TODO separate setting for app drawer alignment? + R.id.alignmentLeft -> viewModel.updateAllAlignment(Gravity.START) + R.id.alignmentCenter -> viewModel.updateAllAlignment(Gravity.CENTER) + R.id.alignmentRight -> viewModel.updateAllAlignment(Gravity.END) R.id.alignmentBottom -> updateHomeBottomAlignment() R.id.statusBar -> toggleStatusBar() R.id.dateTime -> binding.dateTimeSelectLayout.visibility = View.VISIBLE @@ -546,6 +547,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe prefs.homeBottomAlignment = !prefs.homeBottomAlignment populateAlignment() viewModel.updateHomeAlignment(prefs.homeAlignment) + viewModel.updateAppAlignment(prefs.homeAlignment) } private fun populateAlignment() {