From 2f028f395621999817dc877d7a3d43fc481cea76 Mon Sep 17 00:00:00 2001 From: HeCodes2Much Date: Sun, 1 Dec 2024 12:29:57 +0000 Subject: [PATCH] Refactor: No longer using custom View so therefor fixes gestures. --- .../launcher/ui/home/HomeFragment.kt | 19 +- .../ui/settings/SettingsAdvancedFragment.kt | 6 +- .../ui/settings/SettingsFeaturesFragment.kt | 4 +- .../launcher/ui/settings/SettingsFragment.kt | 11 +- .../ui/settings/SettingsLookFeelFragment.kt | 6 +- .../launcher/ui/widgets/WidgetFragment.kt | 4 +- .../ui/widgets/settings/SettingsFragment.kt | 4 +- app/src/main/res/layout/fragment_home.xml | 149 ++- app/src/main/res/layout/fragment_settings.xml | 299 +++-- .../res/layout/fragment_settings_advanced.xml | 481 ++++---- .../res/layout/fragment_settings_features.xml | 1021 ++++++++--------- .../layout/fragment_settings_look_feel.xml | 817 +++++++------ .../res/layout/fragment_settings_widgets.xml | 460 ++++---- app/src/main/res/layout/fragment_widgets.xml | 530 ++++----- 14 files changed, 1840 insertions(+), 1971 deletions(-) diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeFragment.kt index 0cb3bb4..22691d4 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/home/HomeFragment.kt @@ -115,11 +115,7 @@ class HomeFragment : Fragment(), @SuppressLint("ClickableViewAccessibility") private fun initializeInjectedDependencies() { context = requireContext() - binding.nestScrollView.hideKeyboard() - - binding.nestScrollView.scrollEventListener = this - - binding.nestScrollView.registerRecyclerView(binding.appListAdapter, this) + binding.mainView.hideKeyboard() preferenceViewModel.setShowTime(preferenceHelper.showTime) preferenceViewModel.setShowDate(preferenceHelper.showDate) @@ -195,12 +191,7 @@ class HomeFragment : Fragment(), Gravity.TOP // Apply the margin and gravity - val parentLayout = binding.appListTouchArea - val params = parentLayout.layoutParams.apply { - height = ViewGroup.LayoutParams.MATCH_PARENT - } - parentLayout.layoutParams = params - parentLayout.gravity = gravity + binding.appListTouchArea.gravity = gravity // Set the appropriate margin based on the alignment if (preferenceHelper.homeAlignmentBottom) @@ -310,7 +301,7 @@ class HomeFragment : Fragment(), } binding.apply { - nestScrollView.hideKeyboard() + mainView.hideKeyboard() val is24HourFormat = DateFormat.is24HourFormat(requireContext()) val localLocale = preferenceHelper.appLanguage.timezone() @@ -580,13 +571,13 @@ class HomeFragment : Fragment(), override fun onPause() { super.onPause() - binding.nestScrollView.hideKeyboard() + binding.mainView.hideKeyboard() } @RequiresApi(Build.VERSION_CODES.R) override fun onResume() { super.onResume() - binding.nestScrollView.hideKeyboard() + binding.mainView.hideKeyboard() observeUserInterfaceSettings() observeFavoriteAppList() } diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsAdvancedFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsAdvancedFragment.kt index d44fa92..234305d 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsAdvancedFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsAdvancedFragment.kt @@ -44,7 +44,7 @@ class SettingsAdvancedFragment : Fragment(), override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? + savedInstanceState: Bundle?, ): View { // Inflate the layout for this fragment _binding = FragmentSettingsAdvancedBinding.inflate(inflater, container, false) @@ -57,7 +57,7 @@ class SettingsAdvancedFragment : Fragment(), override fun onViewCreated(view: View, savedInstanceState: Bundle?) { navController = findNavController() // Set according to the system theme mode - appHelper.dayNightMod(requireContext(), binding.nestScrollView) + appHelper.dayNightMod(requireContext(), binding.mainLayout) super.onViewCreated(view, savedInstanceState) context = requireContext() @@ -72,8 +72,6 @@ class SettingsAdvancedFragment : Fragment(), } private fun initializeInjectedDependencies() { - binding.nestScrollView.scrollEventListener = this - val packageInfo = requireContext().packageManager.getPackageInfo(requireContext().packageName, 0) diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsFeaturesFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsFeaturesFragment.kt index be21a50..8d6e7b8 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsFeaturesFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsFeaturesFragment.kt @@ -70,7 +70,7 @@ class SettingsFeaturesFragment : Fragment(), override fun onViewCreated(view: View, savedInstanceState: Bundle?) { navController = findNavController() // Set according to the system theme mode - appHelper.dayNightMod(requireContext(), binding.nestScrollView) + appHelper.dayNightMod(requireContext(), binding.mainLayout) super.onViewCreated(view, savedInstanceState) context = requireContext() @@ -120,8 +120,6 @@ class SettingsFeaturesFragment : Fragment(), } private fun initializeInjectedDependencies() { - binding.nestScrollView.scrollEventListener = this - // Set initial values and listeners for switches binding.apply { automaticKeyboardSwitchCompat.isChecked = preferenceHelper.automaticKeyboard diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsFragment.kt index adf72c5..3a9391c 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsFragment.kt @@ -1,6 +1,5 @@ package com.github.droidworksstudio.launcher.ui.settings -import android.annotation.SuppressLint import android.content.Context import android.os.Bundle import android.view.LayoutInflater @@ -40,7 +39,7 @@ class SettingsFragment : Fragment(), override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? + savedInstanceState: Bundle?, ): View { // Inflate the layout for this fragment _binding = FragmentSettingsBinding.inflate(inflater, container, false) @@ -53,20 +52,14 @@ class SettingsFragment : Fragment(), override fun onViewCreated(view: View, savedInstanceState: Bundle?) { navController = findNavController() // Set according to the system theme mode - appHelper.dayNightMod(requireContext(), binding.nestScrollView) + appHelper.dayNightMod(requireContext(), binding.mainLayout) super.onViewCreated(view, savedInstanceState) context = requireContext() - initializeInjectedDependencies() observeClickListener() } - @SuppressLint("SetTextI18n") - private fun initializeInjectedDependencies() { - binding.nestScrollView.scrollEventListener = this - } - private fun observeClickListener() { binding.apply { featuresSettings.setOnClickListener { diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsLookFeelFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsLookFeelFragment.kt index 789371f..4222d83 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsLookFeelFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/settings/SettingsLookFeelFragment.kt @@ -53,7 +53,7 @@ class SettingsLookFeelFragment : Fragment(), override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? + savedInstanceState: Bundle?, ): View { // Inflate the layout for this fragment _binding = FragmentSettingsLookFeelBinding.inflate(inflater, container, false) @@ -67,7 +67,7 @@ class SettingsLookFeelFragment : Fragment(), override fun onViewCreated(view: View, savedInstanceState: Bundle?) { navController = findNavController() // Set according to the system theme mode - appHelper.dayNightMod(requireContext(), binding.nestScrollView) + appHelper.dayNightMod(requireContext(), binding.mainLayout) super.onViewCreated(view, savedInstanceState) context = requireContext() @@ -87,8 +87,6 @@ class SettingsLookFeelFragment : Fragment(), } private fun initializeInjectedDependencies() { - binding.nestScrollView.scrollEventListener = this - // Set initial values and listeners for switches binding.apply { statueBarSwitchCompat.isChecked = preferenceHelper.showStatusBar diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/widgets/WidgetFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/widgets/WidgetFragment.kt index e86bee2..94ae65c 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/widgets/WidgetFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/widgets/WidgetFragment.kt @@ -92,8 +92,7 @@ class WidgetFragment : Fragment(), private fun initializeInjectedDependencies() { context = requireContext() - binding.nestScrollView.hideKeyboard() - binding.nestScrollView.scrollEventListener = this + binding.touchArea.hideKeyboard() } private fun orderWidgetsBySettings() { @@ -382,7 +381,6 @@ class WidgetFragment : Fragment(), @SuppressLint("ClickableViewAccessibility") private fun observeSwipeTouchListener() { binding.touchArea.setOnTouchListener(getSwipeGestureListener(context)) - binding.nestScrollView.setOnTouchListener(getSwipeGestureListener(context)) } private fun getSwipeGestureListener(context: Context): View.OnTouchListener { diff --git a/app/src/main/java/com/github/droidworksstudio/launcher/ui/widgets/settings/SettingsFragment.kt b/app/src/main/java/com/github/droidworksstudio/launcher/ui/widgets/settings/SettingsFragment.kt index 8f4d8de..4feb218 100644 --- a/app/src/main/java/com/github/droidworksstudio/launcher/ui/widgets/settings/SettingsFragment.kt +++ b/app/src/main/java/com/github/droidworksstudio/launcher/ui/widgets/settings/SettingsFragment.kt @@ -62,7 +62,7 @@ class SettingsFragment : Fragment(), override fun onViewCreated(view: View, savedInstanceState: Bundle?) { navController = findNavController() // Set according to the system theme mode - appHelper.dayNightMod(requireContext(), binding.nestScrollView) + appHelper.dayNightMod(requireContext(), binding.mainLayout) super.onViewCreated(view, savedInstanceState) context = requireContext() @@ -73,8 +73,6 @@ class SettingsFragment : Fragment(), } private fun initializeInjectedDependencies() { - binding.nestScrollView.scrollEventListener = this - binding.apply { // Weather stuff here weatherSwitchCompat.isChecked = preferenceHelper.showWeatherWidget diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 0b33ca8..d2f5b96 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -1,6 +1,5 @@ - + android:layout_marginVertical="32dp" + android:orientation="vertical"> - + android:layout_gravity="end" + android:text="@string/battery_level" + android:textSize="16sp" /> - - - - - - - - - - - - - + android:layout_gravity="start" + android:layout_marginVertical="2dp" + android:format12Hour="h:mm" + android:format24Hour="hhmm" + android:textSize="48sp" + tools:text="02:34" /> - + + + + + - - + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index e403eae..32e4cad 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -2,212 +2,199 @@ - + android:layout_height="wrap_content" + android:layout_marginTop="42dp" + android:gravity="center_horizontal" + android:orientation="vertical" + android:padding="24dp"> + + + + - - - - + android:orientation="vertical"> + android:gravity="center_vertical" + android:orientation="horizontal" + android:paddingVertical="16dp"> + + + android:orientation="vertical"> - - - + android:text="@string/settings_features_title" + android:textSize="18sp" /> - - - - + + + + + + + android:orientation="vertical"> - - - + android:text="@string/settings_look_feel_title" + android:textSize="18sp" /> - - - - + + + + + + + android:orientation="vertical"> - - - - - - + android:text="@string/favorite_apps" + android:textSize="18sp" /> + + + + + + android:orientation="vertical"> - - - - - - + android:text="@string/hidden_apps" + android:textSize="18sp" /> + + + + + + android:orientation="vertical"> - - - - - - + android:text="@string/settings_advanced_title" + android:textSize="18sp" /> - + diff --git a/app/src/main/res/layout/fragment_settings_advanced.xml b/app/src/main/res/layout/fragment_settings_advanced.xml index baacde1..236b3a1 100644 --- a/app/src/main/res/layout/fragment_settings_advanced.xml +++ b/app/src/main/res/layout/fragment_settings_advanced.xml @@ -1,273 +1,260 @@ - + android:layout_height="wrap_content" + android:layout_marginVertical="52dp" + android:gravity="center_horizontal" + android:orientation="vertical" + android:padding="24dp"> - + + - - + android:orientation="vertical"> + android:gravity="center_vertical" + android:orientation="horizontal" + android:paddingVertical="16dp"> + + + android:orientation="vertical"> - - - + android:text="@string/advanced_settings_app_info" + android:textColor="@android:color/white" + android:textSize="18sp" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:text="@string/advanced_settings_app_info_description" + android:textColor="@android:color/darker_gray" + android:textSize="14sp" /> - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_settings_features.xml b/app/src/main/res/layout/fragment_settings_features.xml index 0ffd528..2bbcde2 100644 --- a/app/src/main/res/layout/fragment_settings_features.xml +++ b/app/src/main/res/layout/fragment_settings_features.xml @@ -2,573 +2,560 @@ - + android:layout_height="wrap_content" + android:layout_marginVertical="52dp" + android:gravity="center_horizontal" + android:orientation="vertical"> + + + + + android:layout_marginHorizontal="20dp" + android:orientation="vertical" + tools:ignore="MissingConstraints"> - - - + android:text="@string/settings_title_home_behavior_preferences" + android:textColor="@color/icon_200" + android:textSize="@dimen/text_large" /> + android:layout_weight="1" + android:gravity="left|center" + android:text="@string/settings_display_automatic_keyboard" + android:textSize="@dimen/text_large" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:ignore="RtlHardcoded" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + android:scaleX="0.7" + android:scaleY="0.8" + android:thumb="@drawable/shape_switch_thumb" + app:track="@drawable/selector_switch" + tools:ignore="TouchTargetSizeCheck,DuplicateSpeakableTextCheck" /> + + + + + + + + android:layout_weight="1" + android:gravity="left|center" + android:text="@string/settings_search_from_start" + android:textSize="@dimen/text_large" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:ignore="RtlHardcoded" /> - + android:scaleX="0.7" + android:scaleY="0.8" + android:thumb="@drawable/shape_switch_thumb" + app:track="@drawable/selector_switch" + tools:ignore="TouchTargetSizeCheck" /> - + - + - - - + android:layout_weight="1" + android:gravity="left|center" + android:text="@string/settings_home_alignment_bottom" + android:textSize="@dimen/text_large" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:ignore="RtlHardcoded" /> - - - - - - - + android:scaleX="0.7" + android:scaleY="0.8" + android:thumb="@drawable/shape_switch_thumb" + app:track="@drawable/selector_switch" + tools:ignore="TouchTargetSizeCheck" /> - + - + - - - + android:layout_weight="1" + android:gravity="left|center" + android:text="@string/settings_display_lock_settings" + android:textSize="@dimen/text_large" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:ignore="RtlHardcoded" /> - + - + - + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_settings_look_feel.xml b/app/src/main/res/layout/fragment_settings_look_feel.xml index 07ef848..fad40ea 100644 --- a/app/src/main/res/layout/fragment_settings_look_feel.xml +++ b/app/src/main/res/layout/fragment_settings_look_feel.xml @@ -2,467 +2,454 @@ - + android:layout_height="wrap_content" + android:layout_marginVertical="52dp" + android:gravity="center_horizontal" + android:orientation="vertical"> + + + + + android:layout_marginHorizontal="20dp" + android:orientation="vertical" + tools:ignore="MissingConstraints"> - - - + android:text="@string/settings_title_home_display_preferences" + android:textColor="@color/icon_200" + android:textSize="@dimen/text_large" /> + android:layout_weight="1" + android:gravity="left|center" + android:text="@string/settings_display_status_bar" + android:textSize="@dimen/text_large" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:ignore="RtlHardcoded" /> - + android:scaleX="0.7" + android:scaleY="0.8" + android:thumb="@drawable/shape_switch_thumb" + app:track="@drawable/selector_switch" + tools:ignore="DuplicateSpeakableTextCheck,TouchTargetSizeCheck" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + android:scaleX="0.7" + android:scaleY="0.8" + android:thumb="@drawable/shape_switch_thumb" + app:track="@drawable/selector_switch" + tools:ignore="TouchTargetSizeCheck" /> - + + + + + android:layout_weight="1" + android:gravity="left|center" + android:text="@string/settings_display_time" + android:textSize="@dimen/text_large" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:ignore="RtlHardcoded" /> - - - - - + android:scaleX="0.7" + android:scaleY="0.8" + android:thumb="@drawable/shape_switch_thumb" + app:track="@drawable/selector_switch" + tools:ignore="TouchTargetSizeCheck" /> - + - + - - - - - - - - - - - - - - - - - - + android:layout_weight="1" + android:gravity="left|center" + android:text="@string/settings_display_battery" + android:textSize="@dimen/text_large" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:ignore="RtlHardcoded" /> - - - - - - - + android:scaleX="0.7" + android:scaleY="0.8" + android:thumb="@drawable/shape_switch_thumb" + app:track="@drawable/selector_switch" + tools:ignore="TouchTargetSizeCheck" /> - + - + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/fragment_settings_widgets.xml b/app/src/main/res/layout/fragment_settings_widgets.xml index dd3184a..500222e 100644 --- a/app/src/main/res/layout/fragment_settings_widgets.xml +++ b/app/src/main/res/layout/fragment_settings_widgets.xml @@ -2,6 +2,7 @@ @@ -12,23 +13,28 @@ android:layout_height="match_parent" android:layout_marginVertical="20dp" /> - - + + + + @@ -36,256 +42,236 @@ style="@style/TextDefaultStyle" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginHorizontal="20dp" - android:layout_marginTop="48dp" - android:text="@string/settings_widgets_name" + android:layout_margin="20dp" + android:text="@string/widgets_settings_show_weather" android:textSize="@dimen/text_super_large" /> + android:layout_weight="1" + android:gravity="left|center" + android:text="@string/widgets_settings_display" + android:textSize="@dimen/text_large" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:ignore="RtlHardcoded" /> - + android:scaleX="0.7" + android:scaleY="0.8" + android:thumb="@drawable/shape_switch_thumb" + app:track="@drawable/selector_switch" + tools:ignore="DuplicateSpeakableTextCheck,TouchTargetSizeCheck" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + android:layout_weight="1" + android:gravity="left|center" + android:text="@string/settings_appearance_color_title" + android:textSize="@dimen/text_large" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + tools:ignore="RtlHardcoded" /> - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + android:scaleX="0.7" + android:scaleY="0.8" + android:thumb="@drawable/shape_switch_thumb" + app:track="@drawable/selector_switch" + tools:ignore="TouchTargetSizeCheck" /> - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_widgets.xml b/app/src/main/res/layout/fragment_widgets.xml index d56b2cd..dc30518 100644 --- a/app/src/main/res/layout/fragment_widgets.xml +++ b/app/src/main/res/layout/fragment_widgets.xml @@ -1,6 +1,5 @@ - + android:layout_marginVertical="50dp" + android:orientation="vertical"> - + android:layout_marginHorizontal="16dp" + android:layout_marginVertical="10dp" + android:background="@drawable/widget_background" + android:orientation="vertical" + android:visibility="gone"> - + android:layout_alignParentStart="true" + android:orientation="horizontal"> - - - - - - - - - - - + android:layout_weight="3" + android:ellipsize="end" + android:gravity="start" + android:lines="1" + android:textSize="16sp" + tools:text="London, GB" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + tools:ignore="UseCompoundDrawables"> - + + + - - - - - - - - - - + android:layout_height="match_parent" + android:gravity="center_horizontal" + android:text="@string/sunset_icon" /> - - - + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file