build: add preference dependency and settings resources

This commit is contained in:
2026-03-18 09:37:05 -04:00
parent 3188fc472a
commit 03a04b82c5
5 changed files with 77 additions and 0 deletions

View File

@@ -53,6 +53,7 @@ dependencies {
implementation(libs.androidx.lifecycle.viewmodel.ktx) implementation(libs.androidx.lifecycle.viewmodel.ktx)
implementation(libs.androidx.recyclerview) implementation(libs.androidx.recyclerview)
implementation(libs.androidx.swiperefreshlayout) implementation(libs.androidx.swiperefreshlayout)
implementation(libs.androidx.preference)
implementation(libs.kotlinx.coroutines.android) implementation(libs.kotlinx.coroutines.android)
implementation(libs.commonmark) implementation(libs.commonmark)

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingStart="24dp"
android:paddingTop="8dp"
android:paddingEnd="24dp"
android:paddingBottom="8dp">
<FrameLayout
android:id="@+id/settingsFragmentContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="320dp" />
<ProgressBar
android:id="@+id/settingsApplyProgress"
style="@style/Widget.AppCompat.ProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="12dp"
android:visibility="gone" />
<com.google.android.material.button.MaterialButton
android:id="@+id/settingsSaveAndCloseButton"
style="@style/Widget.Material3.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="12dp"
android:text="@string/settings_save_and_close" />
</LinearLayout>

View File

@@ -91,4 +91,20 @@
<string name="drawer_profile_unavailable">Profile unavailable</string> <string name="drawer_profile_unavailable">Profile unavailable</string>
<string name="drawer_workspaces_unavailable">Workspaces unavailable</string> <string name="drawer_workspaces_unavailable">Workspaces unavailable</string>
<string name="drawer_loading">Loading...</string> <string name="drawer_loading">Loading...</string>
<string name="settings_theme_title">Theme</string>
<string name="settings_base_url_title">Base URL</string>
<string name="settings_api_key_title">API key</string>
<string name="settings_save_and_close">Save and close</string>
<string-array name="settings_theme_entries">
<item>Light</item>
<item>Dark</item>
<item>Follow System</item>
</string-array>
<string-array name="settings_theme_values">
<item>light</item>
<item>dark</item>
<item>system</item>
</string-array>
</resources> </resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<ListPreference
android:defaultValue="system"
android:entries="@array/settings_theme_entries"
android:entryValues="@array/settings_theme_values"
android:key="pref_theme_draft"
android:title="@string/settings_theme_title" />
<EditTextPreference
android:defaultValue="@string/default_base_url"
android:key="pref_base_url_draft"
android:title="@string/settings_base_url_title"
app:useSimpleSummaryProvider="true" />
<EditTextPreference
android:key="pref_api_key_draft"
android:title="@string/settings_api_key_title"
app:useSimpleSummaryProvider="true" />
</PreferenceScreen>

View File

@@ -16,6 +16,7 @@ lifecycle = "2.8.7"
swiperefreshlayout = "1.1.0" swiperefreshlayout = "1.1.0"
recyclerview = "1.3.2" recyclerview = "1.3.2"
activity = "1.9.3" activity = "1.9.3"
preference = "1.2.1"
commonmark = "0.22.0" commonmark = "0.22.0"
[libraries] [libraries]
@@ -35,6 +36,7 @@ androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecyc
androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activity" } androidx-activity-ktx = { group = "androidx.activity", name = "activity-ktx", version.ref = "activity" }
androidx-swiperefreshlayout = { group = "androidx.swiperefreshlayout", name = "swiperefreshlayout", version.ref = "swiperefreshlayout" } androidx-swiperefreshlayout = { group = "androidx.swiperefreshlayout", name = "swiperefreshlayout", version.ref = "swiperefreshlayout" }
androidx-recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "recyclerview" } androidx-recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "recyclerview" }
androidx-preference = { group = "androidx.preference", name = "preference-ktx", version.ref = "preference" }
kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutines" } kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "coroutines" }
commonmark = { group = "org.commonmark", name = "commonmark", version.ref = "commonmark" } commonmark = { group = "org.commonmark", name = "commonmark", version.ref = "commonmark" }