summaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src/main/res
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2025-05-09 11:04:20 +0300
committerAndrew Dolgov <fox@fakecake.org>2025-05-09 11:04:20 +0300
commit4ad6971caf93f481155d3f1923b8de97e49a0621 (patch)
treee5fbd506aed5b60b27e34efbbc0e322172257795 /org.fox.ttrss/src/main/res
parentb20acce27b05d24888e3a291f3f904bec5a28109 (diff)
add hack for material switches in preferences
Diffstat (limited to 'org.fox.ttrss/src/main/res')
-rwxr-xr-xorg.fox.ttrss/src/main/res/layout/fragment_article.xml2
-rw-r--r--org.fox.ttrss/src/main/res/layout/preference_material_switch.xml9
-rw-r--r--org.fox.ttrss/src/main/res/values-night/themes.xml1
-rw-r--r--org.fox.ttrss/src/main/res/values/style.xml11
-rw-r--r--org.fox.ttrss/src/main/res/values/themes.xml1
-rwxr-xr-xorg.fox.ttrss/src/main/res/xml/preferences.xml47
6 files changed, 44 insertions, 27 deletions
diff --git a/org.fox.ttrss/src/main/res/layout/fragment_article.xml b/org.fox.ttrss/src/main/res/layout/fragment_article.xml
index 71cf89ce..e75980b0 100755
--- a/org.fox.ttrss/src/main/res/layout/fragment_article.xml
+++ b/org.fox.ttrss/src/main/res/layout/fragment_article.xml
@@ -24,7 +24,7 @@
<com.google.android.material.card.MaterialCardView
app:layout_scrollFlags="scroll|enterAlways"
app:strokeWidth="0dp"
- app:shapeAppearance="@style/shape_appearance_article_header"
+ app:shapeAppearance="@style/ShapeAppearanceArticleHeader"
android:layout_width="match_parent"
android:layout_height="wrap_content">
diff --git a/org.fox.ttrss/src/main/res/layout/preference_material_switch.xml b/org.fox.ttrss/src/main/res/layout/preference_material_switch.xml
new file mode 100644
index 00000000..94d654f0
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/layout/preference_material_switch.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Derived from https://github.com/androidx/androidx/blob/8cb282cc/preference/preference/res/layout/preference_widget_switch_compat.xml -->
+<com.google.android.material.materialswitch.MaterialSwitch xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/switchWidget"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="@null"
+ android:clickable="false"
+ android:focusable="false" /> \ No newline at end of file
diff --git a/org.fox.ttrss/src/main/res/values-night/themes.xml b/org.fox.ttrss/src/main/res/values-night/themes.xml
index 4d06182b..7d54a029 100644
--- a/org.fox.ttrss/src/main/res/values-night/themes.xml
+++ b/org.fox.ttrss/src/main/res/values-night/themes.xml
@@ -1,6 +1,7 @@
<resources>
<style name="AppTheme" parent="Theme.Material3.Dark.NoActionBar">
<item name="windowActionModeOverlay">true</item>
+ <item name="preferenceTheme">@style/AppPreferenceThemeOverlay</item>
<item name="ic_rss_box">@drawable/baseline_rss_feed_24</item>
<item name="ic_checkbox_marked">@drawable/baseline_check_box_24</item>
diff --git a/org.fox.ttrss/src/main/res/values/style.xml b/org.fox.ttrss/src/main/res/values/style.xml
index d97daff5..0b43f1d9 100644
--- a/org.fox.ttrss/src/main/res/values/style.xml
+++ b/org.fox.ttrss/src/main/res/values/style.xml
@@ -1,9 +1,18 @@
<resources>
- <style name="shape_appearance_article_header">
+ <style name="ShapeAppearanceArticleHeader">
<item name="cornerFamily">rounded</item>
<item name="cornerSizeTopLeft">0dp</item>
<item name="cornerSizeTopRight">0dp</item>
<item name="cornerSizeBottomLeft">16dp</item>
<item name="cornerSizeBottomRight">16dp</item>
</style>
+
+ <!-- https://stackoverflow.com/a/73782598 -->
+ <style name="AppPreferenceThemeOverlay" parent="@style/PreferenceThemeOverlay">
+ <item name="switchPreferenceCompatStyle">@style/AppSwitchPreference</item>
+ </style>
+
+ <style name="AppSwitchPreference" parent="@style/Preference.SwitchPreferenceCompat.Material">
+ <item name="widgetLayout">@layout/preference_material_switch</item>
+ </style>
</resources> \ No newline at end of file
diff --git a/org.fox.ttrss/src/main/res/values/themes.xml b/org.fox.ttrss/src/main/res/values/themes.xml
index 56899235..68a57811 100644
--- a/org.fox.ttrss/src/main/res/values/themes.xml
+++ b/org.fox.ttrss/src/main/res/values/themes.xml
@@ -2,6 +2,7 @@
<style name="AppTheme" parent="Theme.Material3.Light.NoActionBar">
<item name="windowActionModeOverlay">true</item>
+ <item name="preferenceTheme">@style/AppPreferenceThemeOverlay</item>
<item name="ic_rss_box">@drawable/baseline_rss_feed_24</item>
<item name="ic_checkbox_marked">@drawable/baseline_check_box_24</item>
diff --git a/org.fox.ttrss/src/main/res/xml/preferences.xml b/org.fox.ttrss/src/main/res/xml/preferences.xml
index 7c85bac2..3c422e7e 100755
--- a/org.fox.ttrss/src/main/res/xml/preferences.xml
+++ b/org.fox.ttrss/src/main/res/xml/preferences.xml
@@ -38,20 +38,17 @@
android:key="theme"
android:title="@string/pref_theme" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="sort_feeds_by_unread"
android:title="@string/sort_feeds_by_unread" />
- <!-- <SwitchPreference
- android:defaultValue="false"
- android:key="download_feed_icons"
- android:title="@string/download_feed_icons" /> -->
- <SwitchPreference
+
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="enable_cats"
android:title="@string/enable_cats" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:dependency="enable_cats"
android:key="browse_cats_like_feeds"
@@ -65,7 +62,7 @@
android:key="open_on_startup"
android:title="@string/open_on_startup" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="force_phone_layout"
android:summary="@string/force_phone_layout_summary"
@@ -92,24 +89,24 @@
android:summary="@string/prefs_headline_display_mode_long"
android:title="@string/prefs_headline_display_mode" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="headline_images_wifi_only"
android:summary="@string/prefs_headline_images_wifi_only_long"
android:title="@string/prefs_headline_images_wifi_only" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="true"
android:key="headlines_show_content"
android:title="@string/pref_headlines_show_content" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:disableDependentsState="true"
android:key="headlines_mark_read_scroll"
android:title="@string/pref_headlines_mark_read_scroll" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="true"
android:dependency="headlines_mark_read_scroll"
android:key="headlines_swipe_to_dismiss"
@@ -124,20 +121,20 @@
android:summary="@string/prefs_headline_request_size_long"
android:title="@string/prefs_headline_request_size" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="enable_image_downsampling"
android:title="@string/prefs_enable_image_downsampling"
android:summary="@string/prefs_enable_image_downsampling_long" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="always_downsample_images"
android:dependency="enable_image_downsampling"
android:title="@string/prefs_always_downsample_images"
android:summary="@string/prefs_always_downsample_images_long" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="inline_video_player"
android:summary="@string/prefs_inline_video_player"
@@ -153,32 +150,32 @@
app:showSeekBarValue="true"
app:key="article_font_size_sp_int"
android:title="@string/pref_font_size" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="true"
android:key="justify_article_text"
android:title="@string/justify_article_text" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="use_volume_keys"
android:summary="@string/use_volume_keys_long"
android:title="@string/use_volume_keys" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="true"
android:key="enable_article_fab"
android:summary="@string/prefs_enable_fab_long"
android:title="@string/prefs_enable_fab" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/prefs_opening_links" >
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="true"
android:key="enable_custom_tabs"
android:summary="@string/prefs_custom_tabs_summary"
android:title="@string/prefs_use_custom_tabs" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="true"
android:key="custom_tabs_ask_always"
android:title="@string/ask_me_every_time" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="always_open_uri"
android:summary="@string/prefs_always_open_uri_summary"
@@ -193,12 +190,12 @@
android:summary="@string/offline_articles_to_download_long"
android:title="@string/offline_articles_to_download" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="offline_sort_by_feed"
android:title="@string/prefs_offline_sort_by_feed" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="offline_image_cache_enabled"
android:summary="@string/offline_media_cache_enabled_summary"
@@ -220,7 +217,7 @@
android:key="widget_background"
android:title="@string/pref_widget_background" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="true"
android:key="widget_show_fresh"
android:title="@string/prefs_widget_show_fresh"
@@ -232,7 +229,7 @@
android:key="show_logcat"
android:title="@string/logcat_title" />
- <SwitchPreference
+ <SwitchPreferenceCompat
android:defaultValue="false"
android:key="transport_debugging"
android:title="@string/transport_debugging" />