Preferences with conductor (#792)

* Settings with conductor WIP

* Add downloads preference controller. Implement source/track login

* Improve settings controllers

* Backup settings controller

* Delete preferences xml

* Remove keys from xml

* PreferenceKeys is now an object

* Remove now unused dependency
This commit is contained in:
inorichi
2017-05-14 00:45:14 +02:00
committed by GitHub
parent 29fd5747eb
commit ff190e02d4
51 changed files with 1969 additions and 2091 deletions

View File

@@ -25,6 +25,7 @@
android:id="@+id/portrait_columns"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
app:max="10"
app:min="0"/>
@@ -46,6 +47,7 @@
android:id="@+id/landscape_columns"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
app:max="10"
app:min="0"/>

View File

@@ -1,81 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="pref_category_general_key" translatable="false">pref_category_general_key</string>
<string name="pref_category_reader_key" translatable="false">pref_category_reader_key</string>
<string name="pref_category_tracking_key" translatable="false">pref_category_tracking_key</string>
<string name="pref_category_downloads_key" translatable="false">pref_category_downloads_key</string>
<string name="pref_category_advanced_key" translatable="false">pref_category_advanced_key</string>
<string name="pref_category_about_key" translatable="false">pref_category_about_key</string>
<string name="pref_category_sources_key" translatable="false">pref_category_sources_key</string>
<string name="pref_display_library_as_list" translatable="false">pref_display_library_as_list</string>
<string name="pref_library_columns_dialog_key" translatable="false">pref_library_columns_dialog_key</string>
<string name="pref_library_columns_portrait_key" translatable="false">pref_library_columns_portrait_key</string>
<string name="pref_library_columns_landscape_key" translatable="false">pref_library_columns_landscape_key</string>
<string name="pref_library_update_interval_key" translatable="false">pref_library_update_interval_key</string>
<string name="pref_library_update_categories_key" translatable="false">library_update_categories</string>
<string name="pref_update_only_non_completed_key" translatable="false">pref_update_only_non_completed_key</string>
<string name="pref_auto_update_manga_sync_key" translatable="false">pref_auto_update_manga_sync_key</string>
<string name="pref_ask_update_manga_sync_key" translatable="false">pref_ask_update_manga_sync_key</string>
<string name="pref_theme_key" translatable="false">pref_theme_key</string>
<string name="pref_library_update_restriction_key" translatable="false">library_update_restriction</string>
<string name="pref_start_screen_key" translatable="false">start_screen</string>
<string name="pref_language_key" translatable="false">app_language</string>
<string name="default_category_key" translatable="false">default_category</string>
<string name="pref_default_viewer_key" translatable="false">pref_default_viewer_key</string>
<string name="pref_image_scale_type_key" translatable="false">pref_image_scale_type_key</string>
<string name="pref_zoom_start_key" translatable="false">pref_zoom_start_key</string>
<string name="pref_fullscreen_key" translatable="false">fullscreen</string>
<string name="pref_rotation_type_key" translatable="false">pref_rotation_type_key</string>
<string name="pref_enable_transitions_key" translatable="false">pref_enable_transitions_key</string>
<string name="pref_show_page_number_key" translatable="false">pref_show_page_number_key</string>
<string name="pref_keep_screen_on_key" translatable="false">pref_keep_screen_on_key</string>
<string name="pref_custom_brightness_key" translatable="false">pref_custom_brightness_key</string>
<string name="pref_custom_brightness_value_key" translatable="false">custom_brightness_value</string>
<string name="pref_color_filter_key" translatable="false">pref_color_filter_key</string>
<string name="pref_color_filter_value_key" translatable="false">color_filter_value</string>
<string name="pref_red_filter_value_key" translatable="false">pref_red_filter_value</string>
<string name="pref_reader_theme_key" translatable="false">pref_reader_theme_key</string>
<string name="pref_image_decoder_key" translatable="false">image_decoder</string>
<string name="pref_crop_borders_key" translatable="false">crop_borders</string>
<string name="pref_read_with_volume_keys_key" translatable="false">reader_volume_keys</string>
<string name="pref_read_with_tapping_key" translatable="false">reader_tap</string>
<string name="pref_filter_downloaded_key" translatable="false">pref_filter_downloaded_key</string>
<string name="pref_filter_unread_key" translatable="false">pref_filter_unread_key</string>
<string name="pref_library_sorting_mode_key" translatable="false">library_sorting_mode</string>
<string name="pref_download_directory_key" translatable="false">download_directory</string>
<string name="pref_download_slots_key" translatable="false">pref_download_slots_key</string>
<string name="pref_remove_after_read_slots_key" translatable="false">remove_after_read_slots</string>
<string name="pref_download_only_over_wifi_key" translatable="false">pref_download_only_over_wifi_key</string>
<string name="pref_remove_after_marked_as_read_key" translatable="false">pref_remove_after_marked_as_read_key</string>
<string name="pref_last_used_category_key" translatable="false">last_used_category</string>
<string name="pref_create_local_backup_key" translatable="false">create_local_backup</string>
<string name="pref_restore_local_backup_key" translatable="false">restore_local_backup</string>
<string name="pref_backup_interval_key" translatable="false">backup_interval</string>
<string name="pref_backup_directory_key" translatable="false">backup_directory</string>
<string name="pref_backup_slots_key" translatable="false">backup_slots</string>
<string name="pref_source_languages" translatable="false">source_languages</string>
<string name="pref_category_tracking_accounts_key" translatable="false">category_tracking_accounts</string>
<string name="pref_clear_chapter_cache_key" translatable="false">pref_clear_chapter_cache_key</string>
<string name="pref_clear_database_key" translatable="false">pref_clear_database_key</string>
<string name="pref_clear_cookies_key" translatable="false">pref_clear_cookies_key</string>
<string name="pref_refresh_library_metadata_key" translatable="false">refresh_library_metadata</string>
<string name="pref_version" translatable="false">pref_version</string>
<string name="pref_build_time" translatable="false">pref_build_time</string>
<string name="pref_enable_automatic_updates_key" translatable="false">automatic_updates</string>
<string name="pref_display_catalogue_as_list" translatable="false">pref_display_catalogue_as_list</string>
<string name="pref_last_catalogue_source_key" translatable="false">last_catalogue_source</string>
<string name="pref_download_new_key" translatable="false">download_new</string>
<string name="pref_download_new_categories_key" translatable="false">download_new_categories</string>
<!-- String Fonts -->
<string name="font_roboto_medium" translatable="false">sans-serif</string>

View File

@@ -36,8 +36,6 @@
<item name="selectable_library_drawable">@drawable/library_item_selector_light</item>
<item name="text_color_primary">@color/textColorPrimaryLight</item>
<item name="background_card">@color/dialogLight</item>
<item name="asp_preferenceIconTint">?colorAccent</item>
<item name="asp_preferenceDialogIconTint">?colorAccent</item>
</style>
<style name="Theme.Tachiyomi" parent="Theme.Base">
@@ -76,8 +74,6 @@
<item name="selectable_library_drawable">@drawable/library_item_selector_dark</item>
<item name="text_color_primary">@color/textColorPrimaryDark</item>
<item name="background_card">@color/dialogDark</item>
<item name="asp_preferenceIconTint">?colorAccent</item>
<item name="asp_preferenceDialogIconTint">?colorAccent</item>
</style>
<style name="Theme.Tachiyomi.Dark" parent="Theme.Base.Dark">

View File

@@ -1,37 +0,0 @@
<?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">
<PreferenceScreen
android:icon="@drawable/ic_help_black_24dp"
android:key="about_screen"
android:persistent="false"
android:title="@string/pref_category_about"
app:asp_tintEnabled="true">
<SwitchPreference
android:defaultValue="true"
android:key="acra.enable"
android:summary="@string/pref_acra_summary"
android:title="@string/pref_enable_acra" />
<SwitchPreference
android:defaultValue="false"
android:key="@string/pref_enable_automatic_updates_key"
android:summary="@string/pref_enable_automatic_updates_summary"
android:title="@string/pref_enable_automatic_updates" />
<Preference
android:key="@string/pref_version"
android:persistent="false"
android:title="@string/version"/>
<Preference
android:key="@string/pref_build_time"
android:persistent="false"
android:title="@string/build_time"/>
</PreferenceScreen>
</PreferenceScreen>

View File

@@ -1,33 +0,0 @@
<?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">
<PreferenceScreen
android:icon="@drawable/ic_code_black_24dp"
android:key="advanced_screen"
android:persistent="false"
android:title="@string/pref_category_advanced"
app:asp_tintEnabled="true">
<Preference
android:key="@string/pref_clear_chapter_cache_key"
android:title="@string/pref_clear_chapter_cache"/>
<Preference
android:key="@string/pref_clear_cookies_key"
android:title="@string/pref_clear_cookies"/>
<Preference
android:key="@string/pref_clear_database_key"
android:summary="@string/pref_clear_database_summary"
android:title="@string/pref_clear_database"/>
<Preference
android:key="@string/pref_refresh_library_metadata_key"
android:summary="@string/pref_refresh_library_metadata_summary"
android:title="@string/pref_refresh_library_metadata"/>
</PreferenceScreen>
</PreferenceScreen>

View File

@@ -1,48 +0,0 @@
<?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">
<PreferenceScreen
android:icon="@drawable/ic_backup_black_24dp"
android:key="backup_screen"
android:persistent="false"
android:title="Backup"
app:asp_tintEnabled="true">
<Preference
android:key="@string/pref_create_local_backup_key"
android:summary="@string/pref_create_backup_summ"
android:title="@string/pref_create_backup" />
<Preference
android:key="@string/pref_restore_local_backup_key"
android:summary="@string/pref_restore_backup_summ"
android:title="@string/pref_restore_backup" />
<PreferenceCategory
android:persistent="false"
android:title="@string/pref_backup_service_category" />
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:defaultValue="0"
android:entries="@array/backup_update_interval"
android:entryValues="@array/backup_update_interval_values"
android:key="@string/pref_backup_interval_key"
android:summary="%s"
android:title="@string/pref_backup_interval"/>
<Preference
android:key="@string/pref_backup_directory_key"
android:title="@string/pref_backup_directory" />
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:defaultValue="1"
android:entries="@array/backup_slots"
android:entryValues="@array/backup_slots"
android:key="@string/pref_backup_slots_key"
android:summary="%s"
android:title="@string/pref_backup_slots" />
</PreferenceScreen>
</PreferenceScreen>

View File

@@ -1,62 +0,0 @@
<?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">
<PreferenceScreen
android:icon="@drawable/ic_file_download_black_24dp"
android:key="downloads_screen"
android:persistent="false"
android:title="@string/pref_category_downloads"
app:asp_tintEnabled="true">
<Preference
android:key="@string/pref_download_directory_key"
android:title="@string/pref_download_directory"/>
<SwitchPreference
android:defaultValue="true"
android:key="@string/pref_download_only_over_wifi_key"
android:title="@string/pref_download_only_over_wifi" />
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:defaultValue="1"
android:entries="@array/download_slots"
android:entryValues="@array/download_slots"
android:key="@string/pref_download_slots_key"
android:summary="%s"
android:title="@string/pref_download_slots"/>
<PreferenceCategory
android:persistent="false"
android:title="@string/pref_remove_after_read" />
<SwitchPreference
android:defaultValue="false"
android:key="@string/pref_remove_after_marked_as_read_key"
android:title="@string/pref_remove_after_marked_as_read" />
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:defaultValue="-1"
android:entries="@array/remove_after_read_slots"
android:entryValues="@array/remove_after_read_slots_values"
android:key="@string/pref_remove_after_read_slots_key"
android:summary="%s"
android:title="@string/pref_remove_after_read" />
<PreferenceCategory
android:persistent="false"
android:title="@string/pref_download_new" />
<SwitchPreference
android:defaultValue="false"
android:key="@string/pref_download_new_key"
android:title="@string/pref_download_new"/>
<MultiSelectListPreference
android:key="@string/pref_download_new_categories_key"
android:title="@string/pref_download_new_categories" />
</PreferenceScreen>
</PreferenceScreen>

View File

@@ -1,76 +0,0 @@
<?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">
<PreferenceScreen
android:icon="@drawable/ic_tune_black_24dp"
android:key="general_screen"
android:persistent="false"
android:title="@string/pref_category_general"
app:asp_tintEnabled="true">
<ListPreference
android:defaultValue=""
android:entryValues="@array/languages_values"
android:key="@string/pref_language_key"
android:summary="%s"
android:title="@string/pref_language" />
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:defaultValue="1"
android:entries="@array/themes"
android:entryValues="@array/themes_values"
android:key="@string/pref_theme_key"
android:summary="%s"
android:title="@string/pref_theme"/>
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:title="@string/pref_start_screen"
android:key="@string/pref_start_screen_key"
android:entries="@array/start_screen_selection"
android:entryValues="@array/start_screen_selection_values"
android:defaultValue="1"
android:summary="%s"/>
<eu.kanade.tachiyomi.widget.preference.SimpleDialogPreference
android:dialogLayout="@layout/pref_library_columns"
android:key="@string/pref_library_columns_dialog_key"
android:persistent="false"
android:title="@string/pref_library_columns"/>
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:defaultValue="0"
android:entries="@array/library_update_interval"
android:entryValues="@array/library_update_interval_values"
android:key="@string/pref_library_update_interval_key"
android:summary="%s"
android:title="@string/pref_library_update_interval"/>
<MultiSelectListPreference
android:entries="@array/library_update_restrictions"
android:entryValues="@array/library_update_restrictions_values"
android:key="@string/pref_library_update_restriction_key"
android:summary="@string/pref_library_update_restriction_summary"
android:title="@string/pref_library_update_restriction" />
<MultiSelectListPreference
android:key="@string/pref_library_update_categories_key"
android:title="@string/pref_library_update_categories"/>
<SwitchPreference
android:defaultValue="false"
android:key="@string/pref_update_only_non_completed_key"
android:title="@string/pref_update_only_non_completed" />
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:defaultValue="-1"
android:entries="@array/default_category_entry"
android:entryValues="@array/default_category_entry_value"
android:key="@string/default_category_key"
android:title="@string/default_category"
android:summary="@string/default_category_summary"/>
</PreferenceScreen>
</PreferenceScreen>

View File

@@ -1,103 +0,0 @@
<?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">
<PreferenceScreen
android:icon="@drawable/ic_chrome_reader_mode_black_24dp"
android:key="reader_screen"
android:persistent="false"
android:title="@string/pref_category_reader"
app:asp_tintEnabled="true">
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:title="@string/pref_viewer_type"
android:key="@string/pref_default_viewer_key"
android:entries="@array/viewers"
android:entryValues="@array/viewers_values"
android:defaultValue="1"
android:summary="%s"/>
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:title="@string/pref_image_scale_type"
android:key="@string/pref_image_scale_type_key"
android:entries="@array/image_scale_type"
android:entryValues="@array/image_scale_type_values"
android:defaultValue="1"
android:summary="%s"/>
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:title="@string/pref_zoom_start"
android:key="@string/pref_zoom_start_key"
android:entries="@array/zoom_start"
android:entryValues="@array/zoom_start_values"
android:defaultValue="1"
android:summary="%s"/>
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:title="@string/pref_rotation_type"
android:key="@string/pref_rotation_type_key"
android:entries="@array/rotation_type"
android:entryValues="@array/rotation_type_values"
android:defaultValue="1"
android:summary="%s"/>
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:title="@string/pref_reader_theme"
android:key="@string/pref_reader_theme_key"
android:entries="@array/reader_themes"
android:entryValues="@array/reader_themes_values"
android:defaultValue="0"
android:summary="%s"/>
<eu.kanade.tachiyomi.widget.preference.IntListPreference
android:title="@string/pref_image_decoder"
android:key="@string/pref_image_decoder_key"
android:entries="@array/image_decoders"
android:entryValues="@array/image_decoders_values"
android:defaultValue="0"
android:summary="%s" />
<SwitchPreference
android:title="@string/pref_fullscreen"
android:key="@string/pref_fullscreen_key"
android:defaultValue="true" />
<SwitchPreference
android:title="@string/pref_page_transitions"
android:key="@string/pref_enable_transitions_key"
android:defaultValue="true" />
<SwitchPreference
android:title="@string/pref_show_page_number"
android:key="@string/pref_show_page_number_key"
android:defaultValue="true" />
<SwitchPreference
android:title="@string/pref_crop_borders"
android:key="@string/pref_crop_borders_key"
android:defaultValue="false" />
<SwitchPreference
android:title="@string/pref_keep_screen_on"
android:key="@string/pref_keep_screen_on_key"
android:defaultValue="true" />
<PreferenceCategory
android:title="@string/pref_reader_navigation">
<SwitchPreference
android:title="@string/pref_read_with_tapping"
android:key="@string/pref_read_with_tapping_key"
android:defaultValue="true" />
<SwitchPreference
android:title="@string/pref_read_with_volume_keys"
android:key="@string/pref_read_with_volume_keys_key"
android:defaultValue="false" />
</PreferenceCategory>
</PreferenceScreen>
</PreferenceScreen>

View File

@@ -1,18 +0,0 @@
<?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">
<PreferenceScreen
android:icon="@drawable/ic_language_black_24dp"
android:key="sources_screen"
android:persistent="false"
android:title="@string/pref_category_sources"
app:asp_tintEnabled="true">
<!-- Dummy preference, it's needed at least one -->
<Preference/>
</PreferenceScreen>
</PreferenceScreen>

View File

@@ -1,33 +0,0 @@
<?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">
<PreferenceScreen
android:icon="@drawable/ic_sync_black_24dp"
android:key="tracking_screen"
android:persistent="false"
android:title="@string/pref_category_tracking"
app:asp_tintEnabled="true">
<SwitchPreference
android:key="@string/pref_auto_update_manga_sync_key"
android:title="@string/pref_auto_update_manga_sync"
android:defaultValue="true"
app:showText="false"/>
<SwitchPreference
android:key="@string/pref_ask_update_manga_sync_key"
android:title="@string/pref_ask_update_manga_sync"
android:defaultValue="false"
android:dependency="@string/pref_auto_update_manga_sync_key"
app:showText="false"/>
<PreferenceCategory
android:key="@string/pref_category_tracking_accounts_key"
android:title="@string/services"
android:persistent="false"
app:showText="false"/>
</PreferenceScreen>
</PreferenceScreen>