diff --git a/app/src/main/java/eu/ottop/yamlauncher/ButtonPreference.kt b/app/src/main/java/eu/ottop/yamlauncher/ButtonPreference.kt
new file mode 100644
index 0000000..c54c4dc
--- /dev/null
+++ b/app/src/main/java/eu/ottop/yamlauncher/ButtonPreference.kt
@@ -0,0 +1,31 @@
+package eu.ottop.yamlauncher
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.preference.Preference
+import androidx.preference.PreferenceViewHolder
+
+
+class ButtonPreference(context: Context?, attrs: AttributeSet?) :
+ Preference(context!!, attrs) {
+ init {
+ widgetLayoutResource = R.layout.location_button;
+ }
+
+ override fun onBindViewHolder(holder: PreferenceViewHolder) {
+ super.onBindViewHolder(holder)
+
+ val view = holder.itemView
+ view.setOnClickListener {
+ when (this.key) {
+ "manual_location" -> {
+ println("Location pressed")
+ }
+
+ "hidden_apps" -> {
+ println("Hidden apps pressed")
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/eu/ottop/yamlauncher/SettingsActivity.kt b/app/src/main/java/eu/ottop/yamlauncher/SettingsActivity.kt
index a0fe65d..d776dac 100644
--- a/app/src/main/java/eu/ottop/yamlauncher/SettingsActivity.kt
+++ b/app/src/main/java/eu/ottop/yamlauncher/SettingsActivity.kt
@@ -16,7 +16,7 @@ class SettingsActivity : AppCompatActivity() {
setContentView(binding.root)
supportFragmentManager
.beginTransaction()
- .replace(R.id.settingsLayout, SettingsFragment())
+ .replace(R.id.settings_layout, SettingsFragment())
.commit()
}
diff --git a/app/src/main/java/eu/ottop/yamlauncher/SettingsFragment.kt b/app/src/main/java/eu/ottop/yamlauncher/SettingsFragment.kt
index 0ec6baf..6fee4e8 100644
--- a/app/src/main/java/eu/ottop/yamlauncher/SettingsFragment.kt
+++ b/app/src/main/java/eu/ottop/yamlauncher/SettingsFragment.kt
@@ -1,11 +1,29 @@
package eu.ottop.yamlauncher
import android.os.Bundle
+import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
+import androidx.preference.SwitchPreference
class SettingsFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
setPreferencesFromResource(R.xml.root_preferences, rootKey)
+
+ val gpsLocationPref: SwitchPreference? = findPreference("gps_location")
+ val manualLocationPref: ButtonPreference? = findPreference("manual_location")
+
+ if (gpsLocationPref != null && manualLocationPref != null) {
+ // Initial setup
+ manualLocationPref.isEnabled = !gpsLocationPref.isChecked
+
+ // Set up a listener to update the enabled state of manualLocationPref
+ gpsLocationPref.onPreferenceChangeListener =
+ Preference.OnPreferenceChangeListener { _, newValue ->
+ val isGpsEnabled = newValue as Boolean
+ manualLocationPref.isEnabled = !isGpsEnabled
+ true // Returning true means the change is persisted
+ }
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index 22ec46d..08e0ddb 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -1,6 +1,6 @@
-
+
+
+
+
+
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/location_button.xml b/app/src/main/res/layout/location_button.xml
new file mode 100644
index 0000000..82ac2de
--- /dev/null
+++ b/app/src/main/res/layout/location_button.xml
@@ -0,0 +1,5 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index bd74b04..0e3ddd4 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -27,4 +27,10 @@
- Medium
- Large
+
+
+ - small
+ - medium
+ - large
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/root_preferences.xml b/app/src/main/res/xml/root_preferences.xml
index 6923c3b..948d819 100644
--- a/app/src/main/res/xml/root_preferences.xml
+++ b/app/src/main/res/xml/root_preferences.xml
@@ -1,7 +1,9 @@
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file