]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/commitdiff
Switch to the new Day/Night theme. https://redmine.stoutner.com/issues/522
authorSoren Stoutner <soren@stoutner.com>
Mon, 25 May 2020 23:39:53 +0000 (16:39 -0700)
committerSoren Stoutner <soren@stoutner.com>
Mon, 25 May 2020 23:39:53 +0000 (16:39 -0700)
469 files changed:
.idea/dictionaries/soren.xml
app/src/free/java/com/stoutner/privacybrowser/dialogs/AdConsentDialog.java
app/src/free/res/drawable/privacy_browser_foreground.xml
app/src/main/AndroidManifest.xml
app/src/main/assets/de/about_licenses_dark.html
app/src/main/assets/de/about_licenses_light.html
app/src/main/assets/en/about_licenses_dark.html
app/src/main/assets/en/about_licenses_light.html
app/src/main/assets/es/about_licenses_dark.html
app/src/main/assets/es/about_licenses_light.html
app/src/main/assets/fr/about_licenses_dark.html
app/src/main/assets/fr/about_licenses_light.html
app/src/main/assets/it/about_licenses_dark.html
app/src/main/assets/it/about_licenses_light.html
app/src/main/assets/ru/about_licenses_dark.html
app/src/main/assets/ru/about_licenses_light.html
app/src/main/assets/tr/about_licenses_dark.html
app/src/main/assets/tr/about_licenses_light.html
app/src/main/java/com/stoutner/privacybrowser/activities/AboutActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/BookmarksActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/BookmarksDatabaseViewActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/DomainsActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/GuideActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/ImportExportActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/LogcatActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/RequestsActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/SettingsActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/ViewSourceActivity.java
app/src/main/java/com/stoutner/privacybrowser/adapters/RequestsArrayAdapter.java
app/src/main/java/com/stoutner/privacybrowser/asynctasks/GetUrlSize.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/AboutViewSourceDialog.kt
app/src/main/java/com/stoutner/privacybrowser/dialogs/AddDomainDialog.kt
app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateBookmarkDialog.kt
app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateBookmarkFolderDialog.kt
app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateHomeScreenShortcutDialog.kt
app/src/main/java/com/stoutner/privacybrowser/dialogs/EditBookmarkDatabaseViewDialog.kt
app/src/main/java/com/stoutner/privacybrowser/dialogs/EditBookmarkDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/EditBookmarkFolderDatabaseViewDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/EditBookmarkFolderDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/FontSizeDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/HttpAuthenticationDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/MoveToFolderDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/OpenDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/PinnedMismatchDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/ProxyNotInstalledDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/SaveDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/SaveLogcatDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/SslCertificateErrorDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/StoragePermissionDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/UrlHistoryDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/ViewRequestDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/ViewSslCertificateDialog.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/WaitingForProxyDialog.java
app/src/main/java/com/stoutner/privacybrowser/fragments/AboutTabFragment.java
app/src/main/java/com/stoutner/privacybrowser/fragments/DomainSettingsFragment.java
app/src/main/java/com/stoutner/privacybrowser/fragments/DomainsListFragment.java
app/src/main/java/com/stoutner/privacybrowser/fragments/GuideTabFragment.java
app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.java
app/src/main/java/com/stoutner/privacybrowser/helpers/ImportExportDatabaseHelper.java
app/src/main/res/color/appbar_spinner_color_selector_dark.xml [deleted file]
app/src/main/res/color/appbar_spinner_color_selector_light.xml [deleted file]
app/src/main/res/color/button_background_color_selector_dark.xml [deleted file]
app/src/main/res/color/button_background_color_selector_day.xml [new file with mode: 0644]
app/src/main/res/color/button_background_color_selector_light.xml [deleted file]
app/src/main/res/color/button_background_color_selector_night.xml [new file with mode: 0644]
app/src/main/res/color/button_text_color_selector_dark.xml [deleted file]
app/src/main/res/color/button_text_color_selector_day.xml [new file with mode: 0644]
app/src/main/res/color/button_text_color_selector_light.xml [deleted file]
app/src/main/res/color/button_text_color_selector_night.xml [new file with mode: 0644]
app/src/main/res/color/checked_text_color_selector.xml [new file with mode: 0644]
app/src/main/res/drawable/about_dark.xml [deleted file]
app/src/main/res/drawable/about_day.xml [new file with mode: 0644]
app/src/main/res/drawable/about_light.xml [deleted file]
app/src/main/res/drawable/about_night.xml [new file with mode: 0644]
app/src/main/res/drawable/add_dark.xml [deleted file]
app/src/main/res/drawable/add_day.xml [new file with mode: 0644]
app/src/main/res/drawable/add_light.xml [deleted file]
app/src/main/res/drawable/add_night.xml [new file with mode: 0644]
app/src/main/res/drawable/allow_screenshots_disabled_dark.xml [deleted file]
app/src/main/res/drawable/allow_screenshots_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/allow_screenshots_disabled_light.xml [deleted file]
app/src/main/res/drawable/allow_screenshots_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/allow_screenshots_enabled_dark.xml [deleted file]
app/src/main/res/drawable/allow_screenshots_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/allow_screenshots_enabled_light.xml [deleted file]
app/src/main/res/drawable/allow_screenshots_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/app_bar_disabled_dark.xml [deleted file]
app/src/main/res/drawable/app_bar_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/app_bar_disabled_light.xml [deleted file]
app/src/main/res/drawable/app_bar_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/app_bar_enabled_dark.xml [deleted file]
app/src/main/res/drawable/app_bar_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/app_bar_enabled_light.xml [deleted file]
app/src/main/res/drawable/app_bar_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/app_bar_ghosted_dark.xml [deleted file]
app/src/main/res/drawable/app_bar_ghosted_day.xml [new file with mode: 0644]
app/src/main/res/drawable/app_bar_ghosted_light.xml [deleted file]
app/src/main/res/drawable/app_bar_ghosted_night.xml [new file with mode: 0644]
app/src/main/res/drawable/back.xml
app/src/main/res/drawable/block_ads_disabled_dark.xml [deleted file]
app/src/main/res/drawable/block_ads_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/block_ads_disabled_light.xml [deleted file]
app/src/main/res/drawable/block_ads_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/block_ads_enabled_dark.xml [deleted file]
app/src/main/res/drawable/block_ads_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/block_ads_enabled_light.xml [deleted file]
app/src/main/res/drawable/block_ads_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/block_all_third_party_requests_disabled_dark.xml [deleted file]
app/src/main/res/drawable/block_all_third_party_requests_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/block_all_third_party_requests_disabled_light.xml [deleted file]
app/src/main/res/drawable/block_all_third_party_requests_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/block_all_third_party_requests_enabled_dark.xml [deleted file]
app/src/main/res/drawable/block_all_third_party_requests_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/block_all_third_party_requests_enabled_light.xml [deleted file]
app/src/main/res/drawable/block_all_third_party_requests_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/block_tracking_disabled_dark.xml [deleted file]
app/src/main/res/drawable/block_tracking_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/block_tracking_disabled_light.xml [deleted file]
app/src/main/res/drawable/block_tracking_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/block_tracking_enabled_dark.xml [deleted file]
app/src/main/res/drawable/block_tracking_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/block_tracking_enabled_light.xml [deleted file]
app/src/main/res/drawable/block_tracking_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/bookmarks_dark.xml [deleted file]
app/src/main/res/drawable/bookmarks_day.xml [new file with mode: 0644]
app/src/main/res/drawable/bookmarks_light.xml [deleted file]
app/src/main/res/drawable/bookmarks_night.xml [new file with mode: 0644]
app/src/main/res/drawable/bug.xml
app/src/main/res/drawable/cache_cleared_dark.xml [deleted file]
app/src/main/res/drawable/cache_cleared_day.xml [new file with mode: 0644]
app/src/main/res/drawable/cache_cleared_light.xml [deleted file]
app/src/main/res/drawable/cache_cleared_night.xml [new file with mode: 0644]
app/src/main/res/drawable/cache_warning.xml
app/src/main/res/drawable/clear_and_exit.xml
app/src/main/res/drawable/clear_dark.xml [deleted file]
app/src/main/res/drawable/clear_day.xml [new file with mode: 0644]
app/src/main/res/drawable/clear_everything_disabled.xml
app/src/main/res/drawable/clear_everything_enabled_dark.xml [deleted file]
app/src/main/res/drawable/clear_everything_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/clear_everything_enabled_light.xml [deleted file]
app/src/main/res/drawable/clear_everything_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/clear_light.xml [deleted file]
app/src/main/res/drawable/clear_night.xml [new file with mode: 0644]
app/src/main/res/drawable/close_dark.xml [deleted file]
app/src/main/res/drawable/close_day.xml [new file with mode: 0644]
app/src/main/res/drawable/close_light.xml [deleted file]
app/src/main/res/drawable/close_night.xml [new file with mode: 0644]
app/src/main/res/drawable/cookies_cleared_dark.xml [deleted file]
app/src/main/res/drawable/cookies_cleared_day.xml [new file with mode: 0644]
app/src/main/res/drawable/cookies_cleared_light.xml [deleted file]
app/src/main/res/drawable/cookies_cleared_night.xml [new file with mode: 0644]
app/src/main/res/drawable/cookies_disabled_dark.xml [deleted file]
app/src/main/res/drawable/cookies_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/cookies_disabled_light.xml [deleted file]
app/src/main/res/drawable/cookies_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/cookies_enabled.xml
app/src/main/res/drawable/cookies_ghosted_dark.xml [deleted file]
app/src/main/res/drawable/cookies_ghosted_day.xml [new file with mode: 0644]
app/src/main/res/drawable/cookies_ghosted_light.xml [deleted file]
app/src/main/res/drawable/cookies_ghosted_night.xml [new file with mode: 0644]
app/src/main/res/drawable/cookies_warning.xml
app/src/main/res/drawable/copy_dark.xml [deleted file]
app/src/main/res/drawable/copy_day.xml [new file with mode: 0644]
app/src/main/res/drawable/copy_enabled_dark.xml [deleted file]
app/src/main/res/drawable/copy_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/copy_enabled_light.xml [deleted file]
app/src/main/res/drawable/copy_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/copy_light.xml [deleted file]
app/src/main/res/drawable/copy_night.xml [new file with mode: 0644]
app/src/main/res/drawable/create_bookmark_dark.xml [deleted file]
app/src/main/res/drawable/create_bookmark_day.xml [new file with mode: 0644]
app/src/main/res/drawable/create_bookmark_light.xml [deleted file]
app/src/main/res/drawable/create_bookmark_night.xml [new file with mode: 0644]
app/src/main/res/drawable/create_folder_dark.xml [deleted file]
app/src/main/res/drawable/create_folder_day.xml [new file with mode: 0644]
app/src/main/res/drawable/create_folder_light.xml [deleted file]
app/src/main/res/drawable/create_folder_night.xml [new file with mode: 0644]
app/src/main/res/drawable/custom_user_agent_enabled_dark.xml [deleted file]
app/src/main/res/drawable/custom_user_agent_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/custom_user_agent_enabled_light.xml [deleted file]
app/src/main/res/drawable/custom_user_agent_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/custom_user_agent_ghosted_dark.xml [deleted file]
app/src/main/res/drawable/custom_user_agent_ghosted_day.xml [new file with mode: 0644]
app/src/main/res/drawable/custom_user_agent_ghosted_light.xml [deleted file]
app/src/main/res/drawable/custom_user_agent_ghosted_night.xml [new file with mode: 0644]
app/src/main/res/drawable/delete_blue.xml [deleted file]
app/src/main/res/drawable/delete_dark.xml [deleted file]
app/src/main/res/drawable/delete_day.xml [new file with mode: 0644]
app/src/main/res/drawable/delete_disabled.xml [new file with mode: 0644]
app/src/main/res/drawable/delete_light.xml [deleted file]
app/src/main/res/drawable/delete_night.xml [new file with mode: 0644]
app/src/main/res/drawable/dom_storage_cleared_dark.xml [deleted file]
app/src/main/res/drawable/dom_storage_cleared_day.xml [new file with mode: 0644]
app/src/main/res/drawable/dom_storage_cleared_light.xml [deleted file]
app/src/main/res/drawable/dom_storage_cleared_night.xml [new file with mode: 0644]
app/src/main/res/drawable/dom_storage_disabled_dark.xml [deleted file]
app/src/main/res/drawable/dom_storage_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/dom_storage_disabled_light.xml [deleted file]
app/src/main/res/drawable/dom_storage_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/dom_storage_enabled.xml
app/src/main/res/drawable/dom_storage_ghosted_dark.xml [deleted file]
app/src/main/res/drawable/dom_storage_ghosted_day.xml [new file with mode: 0644]
app/src/main/res/drawable/dom_storage_ghosted_light.xml [deleted file]
app/src/main/res/drawable/dom_storage_ghosted_night.xml [new file with mode: 0644]
app/src/main/res/drawable/dom_storage_warning.xml
app/src/main/res/drawable/domains_dark.xml [deleted file]
app/src/main/res/drawable/domains_light.xml
app/src/main/res/drawable/domains_night.xml [new file with mode: 0644]
app/src/main/res/drawable/downloads_enabled_dark.xml [deleted file]
app/src/main/res/drawable/downloads_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/downloads_enabled_light.xml [deleted file]
app/src/main/res/drawable/downloads_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/downloads_ghosted_dark.xml [deleted file]
app/src/main/res/drawable/downloads_ghosted_day.xml [new file with mode: 0644]
app/src/main/res/drawable/downloads_ghosted_light.xml [deleted file]
app/src/main/res/drawable/downloads_ghosted_night.xml [new file with mode: 0644]
app/src/main/res/drawable/edit_dark.xml [deleted file]
app/src/main/res/drawable/edit_day.xml [new file with mode: 0644]
app/src/main/res/drawable/edit_light.xml [deleted file]
app/src/main/res/drawable/edit_night.xml [new file with mode: 0644]
app/src/main/res/drawable/folder_dark_blue.xml
app/src/main/res/drawable/folder_gray.xml
app/src/main/res/drawable/font_size_dark.xml [deleted file]
app/src/main/res/drawable/font_size_day.xml [new file with mode: 0644]
app/src/main/res/drawable/font_size_light.xml [deleted file]
app/src/main/res/drawable/font_size_night.xml [new file with mode: 0644]
app/src/main/res/drawable/form_data_cleared_dark.xml [deleted file]
app/src/main/res/drawable/form_data_cleared_day.xml [new file with mode: 0644]
app/src/main/res/drawable/form_data_cleared_light.xml [deleted file]
app/src/main/res/drawable/form_data_cleared_night.xml [new file with mode: 0644]
app/src/main/res/drawable/form_data_disabled_dark.xml [deleted file]
app/src/main/res/drawable/form_data_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/form_data_disabled_light.xml [deleted file]
app/src/main/res/drawable/form_data_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/form_data_enabled.xml
app/src/main/res/drawable/form_data_warning.xml
app/src/main/res/drawable/forward.xml
app/src/main/res/drawable/full_screen_disabled_dark.xml [deleted file]
app/src/main/res/drawable/full_screen_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/full_screen_disabled_light.xml [deleted file]
app/src/main/res/drawable/full_screen_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/full_screen_enabled_dark.xml [deleted file]
app/src/main/res/drawable/full_screen_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/full_screen_enabled_light.xml [deleted file]
app/src/main/res/drawable/full_screen_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/guide.xml
app/src/main/res/drawable/history.xml
app/src/main/res/drawable/home_enabled_dark.xml [deleted file]
app/src/main/res/drawable/home_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/home_enabled_light.xml [deleted file]
app/src/main/res/drawable/home_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/images_disabled_dark.xml [deleted file]
app/src/main/res/drawable/images_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/images_disabled_light.xml [deleted file]
app/src/main/res/drawable/images_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/images_enabled_dark.xml [deleted file]
app/src/main/res/drawable/images_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/images_enabled_light.xml [deleted file]
app/src/main/res/drawable/images_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/import_export_dark.xml [deleted file]
app/src/main/res/drawable/import_export_day.xml [new file with mode: 0644]
app/src/main/res/drawable/import_export_light.xml [deleted file]
app/src/main/res/drawable/import_export_night.xml [new file with mode: 0644]
app/src/main/res/drawable/incognito_mode_disabled_dark.xml [deleted file]
app/src/main/res/drawable/incognito_mode_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/incognito_mode_disabled_light.xml [deleted file]
app/src/main/res/drawable/incognito_mode_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/incognito_mode_enabled_dark.xml [deleted file]
app/src/main/res/drawable/incognito_mode_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/incognito_mode_enabled_light.xml [deleted file]
app/src/main/res/drawable/incognito_mode_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/javascript_enabled.xml
app/src/main/res/drawable/list_selector_dark.xml [deleted file]
app/src/main/res/drawable/list_selector_day.xml [new file with mode: 0644]
app/src/main/res/drawable/list_selector_light.xml [deleted file]
app/src/main/res/drawable/list_selector_night.xml [new file with mode: 0644]
app/src/main/res/drawable/lock_dark.xml [deleted file]
app/src/main/res/drawable/lock_day.xml [new file with mode: 0644]
app/src/main/res/drawable/lock_light.xml [deleted file]
app/src/main/res/drawable/lock_night.xml [new file with mode: 0644]
app/src/main/res/drawable/modify_url_disabled_dark.xml [deleted file]
app/src/main/res/drawable/modify_url_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/modify_url_disabled_light.xml [deleted file]
app/src/main/res/drawable/modify_url_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/modify_url_enabled_dark.xml [deleted file]
app/src/main/res/drawable/modify_url_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/modify_url_enabled_light.xml [deleted file]
app/src/main/res/drawable/modify_url_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/more_disabled_dark.xml [deleted file]
app/src/main/res/drawable/more_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/more_disabled_light.xml [deleted file]
app/src/main/res/drawable/more_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/more_enabled_dark.xml [deleted file]
app/src/main/res/drawable/more_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/more_enabled_light.xml [deleted file]
app/src/main/res/drawable/more_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/move_down_disabled.xml
app/src/main/res/drawable/move_down_enabled_dark.xml [deleted file]
app/src/main/res/drawable/move_down_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/move_down_enabled_light.xml [deleted file]
app/src/main/res/drawable/move_down_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/move_to_folder_dark.xml [deleted file]
app/src/main/res/drawable/move_to_folder_day.xml [new file with mode: 0644]
app/src/main/res/drawable/move_to_folder_light.xml [deleted file]
app/src/main/res/drawable/move_to_folder_night.xml [new file with mode: 0644]
app/src/main/res/drawable/move_up_disabled.xml
app/src/main/res/drawable/move_up_enabled_dark.xml [deleted file]
app/src/main/res/drawable/move_up_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/move_up_enabled_light.xml [deleted file]
app/src/main/res/drawable/move_up_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/next.xml
app/src/main/res/drawable/night_mode_disabled_dark.xml [deleted file]
app/src/main/res/drawable/night_mode_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/night_mode_disabled_light.xml [deleted file]
app/src/main/res/drawable/night_mode_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/night_mode_enabled_dark.xml [deleted file]
app/src/main/res/drawable/night_mode_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/night_mode_enabled_light.xml [deleted file]
app/src/main/res/drawable/night_mode_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/previous.xml
app/src/main/res/drawable/privacy_browser_foreground.xml
app/src/main/res/drawable/privacy_mode.xml
app/src/main/res/drawable/proxy_disabled_dark.xml [deleted file]
app/src/main/res/drawable/proxy_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/proxy_disabled_light.xml [deleted file]
app/src/main/res/drawable/proxy_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/proxy_enabled_dark.xml [deleted file]
app/src/main/res/drawable/proxy_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/proxy_enabled_light.xml [deleted file]
app/src/main/res/drawable/proxy_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/proxy_ghosted_dark.xml [deleted file]
app/src/main/res/drawable/proxy_ghosted_day.xml [new file with mode: 0644]
app/src/main/res/drawable/proxy_ghosted_light.xml [deleted file]
app/src/main/res/drawable/proxy_ghosted_night.xml [new file with mode: 0644]
app/src/main/res/drawable/refresh_disabled_dark.xml [deleted file]
app/src/main/res/drawable/refresh_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/refresh_disabled_light.xml [deleted file]
app/src/main/res/drawable/refresh_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/refresh_enabled_dark.xml [deleted file]
app/src/main/res/drawable/refresh_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/refresh_enabled_light.xml [deleted file]
app/src/main/res/drawable/refresh_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/save_dark.xml [deleted file]
app/src/main/res/drawable/save_day.xml [new file with mode: 0644]
app/src/main/res/drawable/save_dialog_dark.xml [deleted file]
app/src/main/res/drawable/save_dialog_day.xml [new file with mode: 0644]
app/src/main/res/drawable/save_dialog_light.xml [deleted file]
app/src/main/res/drawable/save_dialog_night.xml [new file with mode: 0644]
app/src/main/res/drawable/save_light.xml [deleted file]
app/src/main/res/drawable/save_night.xml [new file with mode: 0644]
app/src/main/res/drawable/search_custom_url_enabled_dark.xml [deleted file]
app/src/main/res/drawable/search_custom_url_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/search_custom_url_enabled_light.xml [deleted file]
app/src/main/res/drawable/search_custom_url_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/search_custom_url_ghosted_dark.xml [deleted file]
app/src/main/res/drawable/search_custom_url_ghosted_day.xml [new file with mode: 0644]
app/src/main/res/drawable/search_custom_url_ghosted_light.xml [deleted file]
app/src/main/res/drawable/search_custom_url_ghosted_night.xml [new file with mode: 0644]
app/src/main/res/drawable/search_enabled_dark.xml [deleted file]
app/src/main/res/drawable/search_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/search_enabled_light.xml [deleted file]
app/src/main/res/drawable/search_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/select_all_dark.xml [deleted file]
app/src/main/res/drawable/select_all_day.xml [new file with mode: 0644]
app/src/main/res/drawable/select_all_light.xml [deleted file]
app/src/main/res/drawable/select_all_night.xml [new file with mode: 0644]
app/src/main/res/drawable/settings.xml
app/src/main/res/drawable/social_media_disabled_dark.xml [deleted file]
app/src/main/res/drawable/social_media_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/social_media_disabled_light.xml [deleted file]
app/src/main/res/drawable/social_media_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/social_media_enabled_dark.xml [deleted file]
app/src/main/res/drawable/social_media_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/social_media_enabled_light.xml [deleted file]
app/src/main/res/drawable/social_media_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/social_media_ghosted_dark.xml [deleted file]
app/src/main/res/drawable/social_media_ghosted_day.xml [new file with mode: 0644]
app/src/main/res/drawable/social_media_ghosted_light.xml [deleted file]
app/src/main/res/drawable/social_media_ghosted_night.xml [new file with mode: 0644]
app/src/main/res/drawable/sort_dark.xml [deleted file]
app/src/main/res/drawable/sort_day.xml [new file with mode: 0644]
app/src/main/res/drawable/sort_light.xml [deleted file]
app/src/main/res/drawable/sort_night.xml [new file with mode: 0644]
app/src/main/res/drawable/sort_selected_dark.xml [deleted file]
app/src/main/res/drawable/sort_selected_day.xml [new file with mode: 0644]
app/src/main/res/drawable/sort_selected_light.xml [deleted file]
app/src/main/res/drawable/sort_selected_night.xml [new file with mode: 0644]
app/src/main/res/drawable/ssl_certificate_disabled_dark.xml [deleted file]
app/src/main/res/drawable/ssl_certificate_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/ssl_certificate_disabled_light.xml [deleted file]
app/src/main/res/drawable/ssl_certificate_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/ssl_certificate_enabled_dark.xml [deleted file]
app/src/main/res/drawable/ssl_certificate_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/ssl_certificate_enabled_light.xml [deleted file]
app/src/main/res/drawable/ssl_certificate_enabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/tab_disabled_dark.xml
app/src/main/res/drawable/tab_disabled_light.xml
app/src/main/res/drawable/tab_enabled_dark.xml
app/src/main/res/drawable/tab_enabled_light.xml
app/src/main/res/drawable/theme_dark.xml [deleted file]
app/src/main/res/drawable/theme_day.xml [new file with mode: 0644]
app/src/main/res/drawable/theme_light.xml [deleted file]
app/src/main/res/drawable/theme_night.xml [new file with mode: 0644]
app/src/main/res/drawable/user_agent_dark.xml [deleted file]
app/src/main/res/drawable/user_agent_day.xml [new file with mode: 0644]
app/src/main/res/drawable/user_agent_light.xml [deleted file]
app/src/main/res/drawable/user_agent_night.xml [new file with mode: 0644]
app/src/main/res/drawable/warning.xml
app/src/main/res/drawable/wide_viewport_disabled_dark.xml [deleted file]
app/src/main/res/drawable/wide_viewport_disabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/wide_viewport_disabled_light.xml [deleted file]
app/src/main/res/drawable/wide_viewport_disabled_night.xml [new file with mode: 0644]
app/src/main/res/drawable/wide_viewport_enabled_dark.xml [deleted file]
app/src/main/res/drawable/wide_viewport_enabled_day.xml [new file with mode: 0644]
app/src/main/res/drawable/wide_viewport_enabled_light.xml [deleted file]
app/src/main/res/drawable/wide_viewport_enabled_night.xml [new file with mode: 0644]
app/src/main/res/layout-w900dp/bookmarks_drawer.xml
app/src/main/res/layout/about_coordinatorlayout.xml
app/src/main/res/layout/about_tab_version.xml
app/src/main/res/layout/appbar_spinner_dropdown_item.xml
app/src/main/res/layout/appbar_spinner_item.xml
app/src/main/res/layout/bookmarks_activity_item_linearlayout.xml
app/src/main/res/layout/bookmarks_coordinatorlayout.xml
app/src/main/res/layout/bookmarks_databaseview_coordinatorlayout.xml
app/src/main/res/layout/bookmarks_drawer.xml
app/src/main/res/layout/bookmarks_drawer_item_linearlayout.xml
app/src/main/res/layout/create_home_screen_shortcut_dialog.xml
app/src/main/res/layout/domain_name_linearlayout.xml
app/src/main/res/layout/domain_settings_fragment.xml
app/src/main/res/layout/domains_coordinatorlayout.xml
app/src/main/res/layout/guide_coordinatorlayout.xml
app/src/main/res/layout/import_export_coordinatorlayout.xml
app/src/main/res/layout/logcat_coordinatorlayout.xml
app/src/main/res/layout/main_framelayout.xml
app/src/main/res/layout/navigation_header.xml [deleted file]
app/src/main/res/layout/open_dialog.xml
app/src/main/res/layout/pinned_mismatch_linearlayout.xml
app/src/main/res/layout/requests_appbar_spinner_dropdown_item.xml
app/src/main/res/layout/requests_appbar_spinner_item.xml
app/src/main/res/layout/requests_coordinatorlayout.xml
app/src/main/res/layout/requests_item_linearlayout.xml
app/src/main/res/layout/save_dialog.xml
app/src/main/res/layout/save_logcat_dialog.xml
app/src/main/res/layout/ssl_certificate_error.xml
app/src/main/res/layout/tab_custom_view.xml
app/src/main/res/layout/unencrypted_website_dialog.xml
app/src/main/res/layout/url_history_item_linearlayout.xml
app/src/main/res/layout/view_source_app_bar.xml
app/src/main/res/layout/view_source_coordinatorlayout.xml
app/src/main/res/layout/webview_framelayout.xml
app/src/main/res/menu/webview_navigation_menu.xml
app/src/main/res/menu/webview_options_menu.xml
app/src/main/res/values-de/strings.xml
app/src/main/res/values-es/strings.xml
app/src/main/res/values-fr/strings.xml
app/src/main/res/values-it/strings.xml
app/src/main/res/values-night-v23/styles.xml [new file with mode: 0644]
app/src/main/res/values-night-v27/styles.xml [new file with mode: 0644]
app/src/main/res/values-night/styles.xml [new file with mode: 0644]
app/src/main/res/values-ru/strings.xml
app/src/main/res/values-tr/strings.xml
app/src/main/res/values-v23/styles.xml [new file with mode: 0644]
app/src/main/res/values-v27/styles.xml [new file with mode: 0644]
app/src/main/res/values/attrs.xml
app/src/main/res/values/strings.xml
app/src/main/res/values/styles.xml
app/src/main/res/xml/network_security_config.xml
app/src/main/res/xml/preferences.xml

index c71e3926db29e87e865e7435a434ffde4f5bf35c..1cefe92843f92b3437b60aadb6717135975b4501 100644 (file)
@@ -83,6 +83,7 @@
       <w>glitchy</w>
       <w>googleplay</w>
       <w>homescreen</w>
+      <w>hsts</w>
       <w>huawei</w>
       <w>imageview</w>
       <w>inet</w>
index bce865f224443ddd18559ff83f09c90b764a0f31..60d507b0e8cd6bae2b18d4f387d908535825598d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2018-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2018-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
 
 package com.stoutner.privacybrowser.dialogs;
 
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.DialogInterface;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.os.Build;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
 import android.view.WindowManager;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;
 
 import com.stoutner.privacybrowser.R;
@@ -39,23 +40,17 @@ public class AdConsentDialog extends DialogFragment {
     @NonNull
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
         // Use a builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog);
+
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
-        // Set the style and the icon according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
-            dialogBuilder.setIcon(R.drawable.block_ads_enabled_dark);
+        // Set the icon according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+            dialogBuilder.setIcon(R.drawable.block_ads_enabled_night);
         } else {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
-            dialogBuilder.setIcon(R.drawable.block_ads_enabled_light);
+            dialogBuilder.setIcon(R.drawable.block_ads_enabled_day);
         }
 
         // Remove the incorrect lint warning below that `getApplicationContext()` might be null.
@@ -99,6 +94,12 @@ public class AdConsentDialog extends DialogFragment {
         // Create an alert dialog from the alert dialog builder.
         AlertDialog alertDialog = dialogBuilder.create();
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             // Remove the warning below that `getWindow()` might be null.
@@ -114,7 +115,7 @@ public class AdConsentDialog extends DialogFragment {
 
     // Close Privacy Browser Free if the dialog is cancelled without selecting a button (by tapping on the background).
     @Override
-    public void onCancel(DialogInterface dialogInterface) {
+    public void onCancel(@NonNull DialogInterface dialogInterface) {
         // Remove the incorrect lint warning below that `getApplicationContext()` might be null.
         assert getActivity() != null;
 
@@ -125,7 +126,7 @@ public class AdConsentDialog extends DialogFragment {
         // Update the ad consent database.
         adConsentDatabaseHelper.updateAdConsent(false);
 
-        // Close the browser.  `finishAndRemoveTask` also removes Privacy Browser from the recent app list.
+        // Close the browser.  `finishAndRemoveTask()` also removes Privacy Browser from the recent app list.
         if (Build.VERSION.SDK_INT >= 21) {
             getActivity().finishAndRemoveTask();
         } else {
index d723a60ff33fe05d45631dbdf44074f7a92a259e..cb1baa1ddd36d0d5e241d19333f5c0c75a8e4e1e 100644 (file)
@@ -1,78 +1,87 @@
-<!-- `privacy_browser_foreground.xml` is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
+<!-- This file is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
     Modifications copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="108dp"
     android:height="108dp"
-    android:viewportWidth="523.63635"
-    android:viewportHeight="523.63635" >
+    android:width="108dp"
+    android:viewportHeight="523.63635"
+    android:viewportWidth="523.63635" >
 
-    <group android:translateX="133.81818"
-            android:translateY="133.81818" >
+    <group
+        android:translateX="133.81818"
+        android:translateY="133.81818" >
 
-      <path
-          android:pathData="m128,12.8 l-94.255,41.891v62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673v-62.836z"
-          android:fillColor="#0d4781"
-          android:strokeColor="#00000000"
-          android:fillAlpha="1" />
+        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m128,12.8 l-94.255,41.891v62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673v-62.836z"
+            android:fillColor="#0d4781"
+            android:strokeColor="#00000000"
+            android:fillAlpha="1" />
 
-      <path
-          android:pathData="m128,0 l-104.727,46.545v69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364v-69.818zM128,127.884h81.455C203.287,175.825 171.287,218.531 128,231.913L128,128L46.545,128L46.545,61.673L128,25.484Z"
-          android:fillColor="#1976d2"
-          android:strokeColor="#00000000"
-          android:fillAlpha="1" />
+        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m128,0 l-104.727,46.545v69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364v-69.818zM128,127.884h81.455C203.287,175.825 171.287,218.531 128,231.913L128,128L46.545,128L46.545,61.673L128,25.484Z"
+            android:fillColor="#1976d2"
+            android:strokeColor="#00000000"
+            android:fillAlpha="1" />
 
-      <path
-          android:pathData="m127.92,48.214c-44.042,0 -79.706,35.744 -79.706,79.786 0,44.042 35.664,79.786 79.706,79.786 44.121,0 79.865,-35.744 79.865,-79.786 0,-44.042 -35.744,-79.786 -79.865,-79.786zM183.212,96.086h-23.537c-2.553,-9.973 -6.223,-19.547 -11.01,-28.404 14.681,5.026 26.888,15.239 34.547,28.404zM128,64.491c6.622,9.574 11.808,20.186 15.239,31.595h-30.478c3.431,-11.409 8.617,-22.021 15.239,-31.595zM66.246,143.957C64.969,138.851 64.172,133.505 64.172,128c0,-5.505 0.798,-10.851 2.074,-15.957h26.968c-0.638,5.266 -1.117,10.532 -1.117,15.957 0,5.425 0.479,10.691 1.117,15.957zM72.788,159.914L96.325,159.914c2.553,9.973 6.223,19.547 11.01,28.404C92.655,183.291 80.448,173.159 72.788,159.914ZM96.325,96.086L72.788,96.086c7.659,-13.244 19.867,-23.377 34.547,-28.404 -4.787,8.856 -8.457,18.43 -11.01,28.404zM128,191.509c-6.622,-9.574 -11.808,-20.186 -15.239,-31.595h30.478C139.808,171.324 134.622,181.935 128,191.509ZM146.67,143.957h-37.34c-0.718,-5.266 -1.277,-10.532 -1.277,-15.957 0,-5.425 0.559,-10.771 1.277,-15.957h37.34c0.718,5.186 1.277,10.532 1.277,15.957 0,5.425 -0.558,10.691 -1.277,15.957zM148.664,188.318c4.787,-8.856 8.457,-18.43 11.01,-28.404h23.537c-7.659,13.165 -19.867,23.377 -34.547,28.404zM162.786,143.957c0.638,-5.266 1.117,-10.532 1.117,-15.957 0,-5.425 -0.479,-10.691 -1.117,-15.957h26.968c1.277,5.106 2.074,10.452 2.074,15.957 0,5.505 -0.798,10.851 -2.074,15.957z"
-          android:fillColor="#ffffff"
-          android:fillAlpha="1" />
+        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m127.92,48.214c-44.042,0 -79.706,35.744 -79.706,79.786 0,44.042 35.664,79.786 79.706,79.786 44.121,0 79.865,-35.744 79.865,-79.786 0,-44.042 -35.744,-79.786 -79.865,-79.786zM183.212,96.086h-23.537c-2.553,-9.973 -6.223,-19.547 -11.01,-28.404 14.681,5.026 26.888,15.239 34.547,28.404zM128,64.491c6.622,9.574 11.808,20.186 15.239,31.595h-30.478c3.431,-11.409 8.617,-22.021 15.239,-31.595zM66.246,143.957C64.969,138.851 64.172,133.505 64.172,128c0,-5.505 0.798,-10.851 2.074,-15.957h26.968c-0.638,5.266 -1.117,10.532 -1.117,15.957 0,5.425 0.479,10.691 1.117,15.957zM72.788,159.914L96.325,159.914c2.553,9.973 6.223,19.547 11.01,28.404C92.655,183.291 80.448,173.159 72.788,159.914ZM96.325,96.086L72.788,96.086c7.659,-13.244 19.867,-23.377 34.547,-28.404 -4.787,8.856 -8.457,18.43 -11.01,28.404zM128,191.509c-6.622,-9.574 -11.808,-20.186 -15.239,-31.595h30.478C139.808,171.324 134.622,181.935 128,191.509ZM146.67,143.957h-37.34c-0.718,-5.266 -1.277,-10.532 -1.277,-15.957 0,-5.425 0.559,-10.771 1.277,-15.957h37.34c0.718,5.186 1.277,10.532 1.277,15.957 0,5.425 -0.558,10.691 -1.277,15.957zM148.664,188.318c4.787,-8.856 8.457,-18.43 11.01,-28.404h23.537c-7.659,13.165 -19.867,23.377 -34.547,28.404zM162.786,143.957c0.638,-5.266 1.117,-10.532 1.117,-15.957 0,-5.425 -0.479,-10.691 -1.117,-15.957h26.968c1.277,5.106 2.074,10.452 2.074,15.957 0,5.505 -0.798,10.851 -2.074,15.957z"
+            android:fillColor="#ffffff"
+            android:fillAlpha="1" />
 
-      <path
-          android:pathData="M50.491,201.267h155.02v54.763h-155.02z"
-          android:strokeAlpha="1"
-          android:strokeWidth="0.74080104"
-          android:fillColor="#b71c1c"
-          android:strokeColor="#00000000"
-          android:fillAlpha="1" />
+        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="M50.491,201.267h155.02v54.763h-155.02z"
+            android:strokeAlpha="1"
+            android:strokeWidth="0.74080104"
+            android:fillColor="#b71c1c"
+            android:strokeColor="#00000000"
+            android:fillAlpha="1" />
 
-      <path
-          android:pathData="m65.675,212.543h24.609v6.921L75.672,219.465v5.625h12.48v6.504L75.672,231.593L75.672,244.755h-9.998z"
-          android:strokeAlpha="1"
-          android:strokeLineJoin="miter"
-          android:strokeWidth="1"
-          android:fillColor="#ffffff"
-          android:strokeColor="#00000000"
-          android:fillAlpha="1"
-          android:strokeLineCap="butt" />
+        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m65.675,212.543h24.609v6.921L75.672,219.465v5.625h12.48v6.504L75.672,231.593L75.672,244.755h-9.998z"
+            android:strokeAlpha="1"
+            android:strokeLineJoin="miter"
+            android:strokeWidth="1"
+            android:fillColor="#ffffff"
+            android:strokeColor="#00000000"
+            android:fillAlpha="1"
+            android:strokeLineCap="butt" />
 
-      <path
-          android:pathData="M95.821,244.755L95.821,212.543L112.41,212.543q4.614,0 7.053,0.791 2.439,0.791 3.933,2.944 1.494,2.131 1.494,5.208 0,2.681 -1.143,4.636 -1.143,1.934 -3.142,3.142 -1.274,0.769 -3.494,1.274 1.78,0.593 2.593,1.187 0.549,0.396 1.582,1.692 1.055,1.296 1.406,2l4.812,9.338h-11.25l-5.317,-9.844q-1.011,-1.912 -1.802,-2.483 -1.077,-0.747 -2.439,-0.747L105.819,231.681L105.819,244.755ZM105.819,225.595h4.197q0.681,0 2.637,-0.439 0.989,-0.198 1.604,-1.011 0.637,-0.813 0.637,-1.868 0,-1.56 -0.989,-2.395 -0.989,-0.835 -3.713,-0.835h-4.373z"
-          android:strokeAlpha="1"
-          android:strokeLineJoin="miter"
-          android:strokeWidth="1"
-          android:fillColor="#ffffff"
-          android:strokeColor="#00000000"
-          android:fillAlpha="1"
-          android:strokeLineCap="butt" />
+        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="M95.821,244.755L95.821,212.543L112.41,212.543q4.614,0 7.053,0.791 2.439,0.791 3.933,2.944 1.494,2.131 1.494,5.208 0,2.681 -1.143,4.636 -1.143,1.934 -3.142,3.142 -1.274,0.769 -3.494,1.274 1.78,0.593 2.593,1.187 0.549,0.396 1.582,1.692 1.055,1.296 1.406,2l4.812,9.338h-11.25l-5.317,-9.844q-1.011,-1.912 -1.802,-2.483 -1.077,-0.747 -2.439,-0.747L105.819,231.681L105.819,244.755ZM105.819,225.595h4.197q0.681,0 2.637,-0.439 0.989,-0.198 1.604,-1.011 0.637,-0.813 0.637,-1.868 0,-1.56 -0.989,-2.395 -0.989,-0.835 -3.713,-0.835h-4.373z"
+            android:strokeAlpha="1"
+            android:strokeLineJoin="miter"
+            android:strokeWidth="1"
+            android:fillColor="#ffffff"
+            android:strokeColor="#00000000"
+            android:fillAlpha="1"
+            android:strokeLineCap="butt" />
 
-      <path
-          android:pathData="m130.648,212.543h26.675v6.877h-16.699v5.12h15.491v6.57L140.623,231.11L140.623,237.46h17.183v7.295h-27.158z"
-          android:strokeAlpha="1"
-          android:strokeLineJoin="miter"
-          android:strokeWidth="1"
-          android:fillColor="#ffffff"
-          android:strokeColor="#00000000"
-          android:fillAlpha="1"
-          android:strokeLineCap="butt" />
+        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m130.648,212.543h26.675v6.877h-16.699v5.12h15.491v6.57L140.623,231.11L140.623,237.46h17.183v7.295h-27.158z"
+            android:strokeAlpha="1"
+            android:strokeLineJoin="miter"
+            android:strokeWidth="1"
+            android:fillColor="#ffffff"
+            android:strokeColor="#00000000"
+            android:fillAlpha="1"
+            android:strokeLineCap="butt" />
 
-      <path
-          android:pathData="m163.167,212.543h26.675v6.877h-16.699v5.12h15.491v6.57L173.143,231.11L173.143,237.46h17.183v7.295h-27.158z"
-          android:strokeAlpha="1"
-          android:strokeLineJoin="miter"
-          android:strokeWidth="1"
-          android:fillColor="#ffffff"
-          android:strokeColor="#00000000"
-          android:fillAlpha="1"
-          android:strokeLineCap="butt" />
+        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m163.167,212.543h26.675v6.877h-16.699v5.12h15.491v6.57L173.143,231.11L173.143,237.46h17.183v7.295h-27.158z"
+            android:strokeAlpha="1"
+            android:strokeLineJoin="miter"
+            android:strokeWidth="1"
+            android:fillColor="#ffffff"
+            android:strokeColor="#00000000"
+            android:fillAlpha="1"
+            android:strokeLineCap="butt" />
     </group>
 </vector>
index dedd5b1a17f8d14bbe6166ce4ccd6dd2c11669f7..b4998dd31d0b036e84e6bb5096aeb68cec582653 100644 (file)
@@ -99,7 +99,7 @@
         <activity
             android:name=".activities.MainWebViewActivity"
             android:label="@string/short_name"
-            android:theme="@style/PrivacyBrowserLight"
+            android:theme="@style/PrivacyBrowser"
             android:configChanges="orientation|screenSize|screenLayout|keyboard|keyboardHidden"
             android:launchMode="singleTask"
             android:screenOrientation="fullUser"
index 6f8b1a3d62aea95bf818208365410dee28eca316..cec281d89fdf13a7b29791e7891f6297e9590dbe 100644 (file)
@@ -46,7 +46,8 @@
         <p>More information about the blocklists can be found on the <a href="https://easylist.to/">EasyList website</a>.</p>
 
         <h3>Libraries</h3>
-        <p>Privacy Browser is built with the <a href="https://developer.android.com/jetpack/androidx/">AndroidX Libraries</a>
+        <p>Privacy Browser is built with the <a href="https://developer.android.com/jetpack/androidx/">AndroidX Libraries</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             and code from the <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven repository</a>,
             which are released under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.</p>
 
index b7334fb95711564fd4f74771e112b4f1b123fda5..2aaa701ac242282c6b06813afcf19c6aa2cf80b8 100644 (file)
@@ -45,7 +45,8 @@
         <p>More information about the blocklists can be found on the <a href="https://easylist.to/">EasyList website</a>.</p>
 
         <h3>Libraries</h3>
-        <p>Privacy Browser is built with the <a href="https://developer.android.com/jetpack/androidx/">AndroidX Libraries</a>
+        <p>Privacy Browser is built with the <a href="https://developer.android.com/jetpack/androidx/">AndroidX Libraries</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             and code from the <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven repository</a>,
             which are released under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.</p>
 
index d35e89267608a803a3840afbdab84357b4b8bb98..3591332e5ac6260d070027be98c8a462584e715e 100644 (file)
@@ -44,7 +44,8 @@
         <p>More information about the blocklists can be found on the <a href="https://easylist.to/">EasyList website</a>.</p>
 
         <h3>Libraries</h3>
-        <p>Privacy Browser is built with the <a href="https://developer.android.com/jetpack/androidx/">AndroidX Libraries</a>
+        <p>Privacy Browser is built with the <a href="https://developer.android.com/jetpack/androidx/">AndroidX Libraries</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             and code from the <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven repository</a>,
             which are released under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.</p>
 
index 94fc96b7cc586ebbff6c6ec895d31a7a5307ac0f..0ca5a6298b0bd47787f9931a3799f8a864473594 100644 (file)
@@ -44,7 +44,8 @@
         <p>More information about the blocklists can be found on the <a href="https://easylist.to/">EasyList website</a>.</p>
 
         <h3>Libraries</h3>
-        <p>Privacy Browser is built with the <a href="https://developer.android.com/jetpack/androidx/">AndroidX Libraries</a>
+        <p>Privacy Browser is built with the <a href="https://developer.android.com/jetpack/androidx/">AndroidX Libraries</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             and code from the <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven repository</a>,
             which are released under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.</p>
 
index 1efd9fab7b2b6a53c8d9416cc359a18554ce1ef9..3fdf16b1e62461b6225b55b8eef986d394107aa5 100644 (file)
@@ -46,7 +46,8 @@
         <p>Más información sobre las listas de bloqueo puede encontrarse en la <a href="https://easylist.to/">página web de EasyList</a>.</p>
 
         <h3>Librerías</h3>
-        <p>Navegador Privado está construido con las <a href="https://developer.android.com/jetpack/androidx/">librerías de AndroidX</a>
+        <p>Navegador Privado está construido con las <a href="https://developer.android.com/jetpack/androidx/">librerías de AndroidX</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             y código del <a href="https://mvnrepository.com/artifact/com.google.android.material/material">repositorio de Google Material Maven</a>,
             que se publican bajo la <a href="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.</p>
 
index c365df02b05774b6eb2d1c1294e1043cb84dc5a2..8a9525e22cc4536b507aec282696a9126a4e93f9 100644 (file)
@@ -46,7 +46,8 @@
         <p>Más información sobre las listas de bloqueo puede encontrarse en la <a href="https://easylist.to/">página web de EasyList</a>.</p>
 
         <h3>Librerías</h3>
-        <p>Navegador Privado está construido con las <a href="https://developer.android.com/jetpack/androidx/">librerías de AndroidX</a>
+        <p>Navegador Privado está construido con las <a href="https://developer.android.com/jetpack/androidx/">librerías de AndroidX</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             y código del <a href="https://mvnrepository.com/artifact/com.google.android.material/material">repositorio de Google Material Maven</a>,
             que se publican bajo la <a href="https://www.apache.org/licenses/LICENSE-2.0">Licencia Apache 2.0</a>.</p>
 
index 9fd954e14235e8c254378257181b5627023cd7b5..46d16e1a573409b6354e858144878e63e155a6e5 100644 (file)
@@ -46,7 +46,8 @@
         <p>Pour plus d'informations sur les listes de blocage, consultez le <a href="https://easylist.to/">site web EasyList</a>.</p>
 
         <h3>Librairies</h3>
-        <p>Privacy Browser est construit avec les <a href="https://developer.android.com/jetpack/androidx/">librairies AndroidX</a>
+        <p>Privacy Browser est construit avec les <a href="https://developer.android.com/jetpack/androidx/">librairies AndroidX</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             et le code du <a href="https://mvnrepository.com/artifact/com.google.android.material/material">référentiel Google Material Maven</a>,
             publiées sous la <a href="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.</p>
 
index c70af653a8af0c290222ef476ee44d86d0d6b776..3c23d5df9953bfc51d16f351846e4f36160818ff 100644 (file)
@@ -46,7 +46,8 @@
         <p>Pour plus d'informations sur les listes de blocage, consultez le <a href="https://easylist.to/">site web EasyList</a>.</p>
 
         <h3>Librairies</h3>
-        <p>Privacy Browser est construit avec les <a href="https://developer.android.com/jetpack/androidx/">librairies AndroidX</a>
+        <p>Privacy Browser est construit avec les <a href="https://developer.android.com/jetpack/androidx/">librairies AndroidX</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             et le code du <a href="https://mvnrepository.com/artifact/com.google.android.material/material">référentiel Google Material Maven</a>,
             publiées sous la <a href="https://www.apache.org/licenses/LICENSE-2.0">Licence Apache 2.0</a>.</p>
 
index c117f94c98c434075b1ed6abddcf873e1b69fe02..e752e95e82840a0633b7167b56853a09529dff48 100644 (file)
@@ -49,7 +49,8 @@
         <p>E' possibile reperire maggiori informazioni sulle block list sul <a href="https://easylist.to/">sito web EasyList</a>.</p>
 
         <h3>Librerie</h3>
-        <p>Privacy Browser è compilato utilizzando le <a href="https://developer.android.com/jetpack/androidx/">Librerie AndroidX</a>
+        <p>Privacy Browser è compilato utilizzando le <a href="https://developer.android.com/jetpack/androidx/">Librerie AndroidX</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             e il codice disponibile nella <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven repository</a>,
             entrambi rilasciati con <a href="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.</p>
 
index bb3f7d6efbd958221a95fc73c632c467b4ba2827..58ed90db84018e99c3e0af204dc1e285d2266e4b 100644 (file)
@@ -49,7 +49,8 @@
         <p>E' possibile reperire maggiori informazioni sulle block list sul <a href="https://easylist.to/">sito web EasyList</a>.</p>
 
         <h3>Librerie</h3>
-        <p>Privacy Browser è compilato utilizzando le <a href="https://developer.android.com/jetpack/androidx/">Librerie AndroidX</a>
+        <p>Privacy Browser è compilato utilizzando le <a href="https://developer.android.com/jetpack/androidx/">Librerie AndroidX</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             e il codice disponibile nella <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven repository</a>,
             entrambi rilasciati con <a href="https://www.apache.org/licenses/LICENSE-2.0">Licenza Apache 2.0</a>.</p>
 
index 8a6a0532a4295675fac325c6f8d320747b6b0636..7e79ef5217abe6480e111a10a0e949712254370b 100644 (file)
@@ -44,7 +44,8 @@
         <p>Более подробную информацию о списках блокировки можно найти на <a href="https://easylist.to/">веб-сайте EasyList</a>.</p>
 
         <h3>Библиотеки</h3>
-        <p>Privacy Browser создан на базе библиотек <a href="https://developer.android.com/jetpack/androidx/">AndroidX</a>
+        <p>Privacy Browser создан на базе библиотек <a href="https://developer.android.com/jetpack/androidx/">AndroidX</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             и кодовой базы из репозитория <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven</a>,
             которые выпущены под лицензией <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.</p>
 
index a9d95e890e6e7b1ad3c4d92c55caedee4334dff6..c71850bb6a41a63404fa4b11ee0aa6d72156fdc1 100644 (file)
@@ -44,7 +44,8 @@
         <p>Более подробную информацию о списках блокировки можно найти на <a href="https://easylist.to/">веб-сайте EasyList</a>.</p>
 
         <h3>Библиотеки</h3>
-        <p>Privacy Browser создан на базе библиотек <a href="https://developer.android.com/jetpack/androidx/">AndroidX</a>
+        <p>Privacy Browser создан на базе библиотек <a href="https://developer.android.com/jetpack/androidx/">AndroidX</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
             и кодовой базы из репозитория <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven</a>,
             которые выпущены под лицензией <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>.</p>
 
index f591801015b1a0436a13750520e3317c15a84b10..453ebde1862010cbbc381483c46f1a984b015ed7 100644 (file)
         <p>Engel listeleri hakkında daha fazla bilgiyi <a href="https://easylist.to/">EasyList</a> adresinde bulabilirsiniz.</p>
 
         <h3>Kütüphaneler</h3>
-        <p>Privacy Browser <a href="https://developer.android.com/jetpack/androidx/">AndroidX Kütüphaneleri</a> ile ve
-            <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a> altında yayınlanan
-            <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven</a> veri havuzundaki kodlardan oluşturulmuştur.</p>
+        <p>Privacy Browser is built with the <a href="https://developer.android.com/jetpack/androidx/">AndroidX Libraries</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
+            and code from the <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven repository</a>,
+            which are released under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.</p>
 
         <p>Privacy Browser ücretsiz versiyonu <a href="https://developer.android.com/studio/terms">Android Software Development Kit</a> lisansı altında yayınlanan
             <a href="https://mvnrepository.com/artifact/com.google.firebase/firebase-ads">Firebase Ads</a> ile oluşturulmuştur.</p>
index 4fe9764a13552a4fbb39df304615ed837fb648a7..d8031280b0077917c5d9fd3da247a5d5909be7a7 100644 (file)
         <p>Engel listeleri hakkında daha fazla bilgiyi <a href="https://easylist.to/">EasyList</a> adresinde bulabilirsiniz.</p>
 
         <h3>Kütüphaneler</h3>
-        <p>Privacy Browser <a href="https://developer.android.com/jetpack/androidx/">AndroidX Kütüphaneleri</a> ile ve
-            <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a> altında yayınlanan
-            <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven</a> veri havuzundaki kodlardan oluşturulmuştur.</p>
+        <p>Privacy Browser is built with the <a href="https://developer.android.com/jetpack/androidx/">AndroidX Libraries</a>,
+            the <a href="https://github.com/JetBrains/kotlin/tree/master/license">Kotlin libraries</a>,
+            and code from the <a href="https://mvnrepository.com/artifact/com.google.android.material/material">Google Material Maven repository</a>,
+            which are released under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a>.</p>
 
         <p>Privacy Browser ücretsiz versiyonu <a href="https://developer.android.com/studio/terms">Android Software Development Kit</a> lisansı altında yayınlanan
             <a href="https://mvnrepository.com/artifact/com.google.firebase/firebase-ads">Firebase Ads</a> ile oluşturulmuştur.</p>
index 6ce5b431fa641b21d494a3b0238079bc9ad13235..3d5170dfc97d9e60410f3ade3a22942f58e8317d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -41,8 +41,7 @@ public class AboutActivity extends AppCompatActivity {
         // Get a handle for the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
-        // Get the theme and screenshot preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+        // Get the screenshot preference.
         boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
 
         // Disable screenshots if not allowed.
@@ -51,11 +50,7 @@ public class AboutActivity extends AppCompatActivity {
         }
 
         // Set the theme.
-        if (darkTheme) {
-            setTheme(R.style.PrivacyBrowserDark_SecondaryActivity);
-        } else {
-            setTheme(R.style.PrivacyBrowserLight_SecondaryActivity);
-        }
+        setTheme(R.style.PrivacyBrowser);
 
         // Run the default commands.
         super.onCreate(savedInstanceState);
index 67cff69d917672d1a2c2fe360341fb6240b9b8be..3a96929f897263bf1590279083faf4314a5b409a 100644 (file)
@@ -25,6 +25,7 @@ import android.app.Dialog;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.database.Cursor;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
@@ -128,8 +129,7 @@ public class BookmarksActivity extends AppCompatActivity implements CreateBookma
         // Get a handle for the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
-        // Get the theme and screenshot preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+        // Get the screenshot preference.
         boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
 
         // Disable screenshots if not allowed.
@@ -137,12 +137,8 @@ public class BookmarksActivity extends AppCompatActivity implements CreateBookma
             getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
         }
 
-        // Set the activity theme.
-        if (darkTheme) {
-            setTheme(R.style.PrivacyBrowserDark_SecondaryActivity);
-        } else {
-            setTheme(R.style.PrivacyBrowserLight_SecondaryActivity);
-        }
+        // Set the theme.
+        setTheme(R.style.PrivacyBrowser);
 
         // Run the default commands.
         super.onCreate(savedInstanceState);
@@ -991,12 +987,6 @@ public class BookmarksActivity extends AppCompatActivity implements CreateBookma
     }
 
     private void updateMoveIcons() {
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
-
-        // Get the theme and screenshot preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
         // Get a long array of the selected bookmarks.
         long[] selectedBookmarksLongArray = bookmarksListView.getCheckedItemIds();
 
@@ -1006,6 +996,9 @@ public class BookmarksActivity extends AppCompatActivity implements CreateBookma
         // bookmarksListView is 0 indexed.
         int lastBookmarkDatabaseId = (int) bookmarksListView.getItemIdAtPosition(bookmarksListView.getCount() - 1);
 
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
         // Update the move bookmark up `MenuItem`.
         if (selectedBookmarkDatabaseId == firstBookmarkDatabaseId) {  // The selected bookmark is in the first position.
             // Disable the move bookmark up `MenuItem`.
@@ -1014,14 +1007,14 @@ public class BookmarksActivity extends AppCompatActivity implements CreateBookma
             //  Set the move bookmark up icon to be ghosted.
             moveBookmarkUpMenuItem.setIcon(R.drawable.move_up_disabled);
         } else {  // The selected bookmark is not in the first position.
-            // Enable the move bookmark up `MenuItem`.
+            // Enable the move bookmark up menu item.
             moveBookmarkUpMenuItem.setEnabled(true);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                moveBookmarkUpMenuItem.setIcon(R.drawable.move_up_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                moveBookmarkUpMenuItem.setIcon(R.drawable.move_up_enabled_night);
             } else {
-                moveBookmarkUpMenuItem.setIcon(R.drawable.move_up_enabled_light);
+                moveBookmarkUpMenuItem.setIcon(R.drawable.move_up_enabled_day);
             }
         }
 
@@ -1037,10 +1030,10 @@ public class BookmarksActivity extends AppCompatActivity implements CreateBookma
             moveBookmarkDownMenuItem.setEnabled(true);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                moveBookmarkDownMenuItem.setIcon(R.drawable.move_down_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                moveBookmarkDownMenuItem.setIcon(R.drawable.move_down_enabled_night);
             } else {
-                moveBookmarkDownMenuItem.setIcon(R.drawable.move_down_enabled_light);
+                moveBookmarkDownMenuItem.setIcon(R.drawable.move_down_enabled_day);
             }
         }
     }
index 9844f184ed188613001501cbd7c2adeba16f1164..c4b97517f12b4624ebd5b4985586c8c710de333d 100644 (file)
@@ -24,6 +24,7 @@ import android.app.Dialog;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.database.Cursor;
 import android.database.MatrixCursor;
 import android.database.MergeCursor;
@@ -107,8 +108,7 @@ public class BookmarksDatabaseViewActivity extends AppCompatActivity implements
         // Get a handle for the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
-        // Get the theme and screenshot preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+        // Get the screenshot preference.
         boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
 
         // Disable screenshots if not allowed.
@@ -117,11 +117,7 @@ public class BookmarksDatabaseViewActivity extends AppCompatActivity implements
         }
 
         // Set the activity theme.
-        if (darkTheme) {
-            setTheme(R.style.PrivacyBrowserDark_SecondaryActivity);
-        } else {
-            setTheme(R.style.PrivacyBrowserLight_SecondaryActivity);
-        }
+        setTheme(R.style.PrivacyBrowser);
 
         // Run the default commands.
         super.onCreate(savedInstanceState);
@@ -334,8 +330,12 @@ public class BookmarksDatabaseViewActivity extends AppCompatActivity implements
                     parentFolderImageView.setImageDrawable(ContextCompat.getDrawable(getApplicationContext(), R.drawable.folder_dark_blue));
                     bookmarkParentFolderTextView.setText(bookmarkParentFolder);
 
+                    // Get the current theme status.
+                    int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
                     // Set the text color according to the theme.
-                    if (darkTheme) {
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        // This color is a little darker than the default night mode text.  But the effect is rather nice.
                         bookmarkParentFolderTextView.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.gray_300));
                     } else {
                         bookmarkParentFolderTextView.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.black));
@@ -590,12 +590,6 @@ public class BookmarksDatabaseViewActivity extends AppCompatActivity implements
 
     @Override
     public boolean onOptionsItemSelected(MenuItem menuItem) {
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
-
-        // Get the theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
         // Get the ID of the menu item that was selected.
         int menuItemId = menuItem.getItemId();
 
@@ -610,26 +604,29 @@ public class BookmarksDatabaseViewActivity extends AppCompatActivity implements
                 // Update the sort by display order tracker.
                 sortByDisplayOrder = !sortByDisplayOrder;
 
-                // Get a handle for the bookmarks `ListView`.
+                // Get a handle for the bookmarks list view.
                 ListView bookmarksListView = findViewById(R.id.bookmarks_databaseview_listview);
 
+                // Get the current theme status.
+                int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
                 // Update the icon and display a snackbar.
                 if (sortByDisplayOrder) {  // Sort by display order.
                     // Update the icon according to the theme.
-                    if (darkTheme) {
-                        menuItem.setIcon(R.drawable.sort_selected_dark);
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        menuItem.setIcon(R.drawable.sort_selected_night);
                     } else {
-                        menuItem.setIcon(R.drawable.sort_selected_light);
+                        menuItem.setIcon(R.drawable.sort_selected_day);
                     }
 
                     // Display a Snackbar indicating the current sort type.
                     Snackbar.make(bookmarksListView, R.string.sorted_by_display_order, Snackbar.LENGTH_SHORT).show();
                 } else {  // Sort by database id.
                     // Update the icon according to the theme.
-                    if (darkTheme) {
-                        menuItem.setIcon(R.drawable.sort_dark);
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        menuItem.setIcon(R.drawable.sort_night);
                     } else {
-                        menuItem.setIcon(R.drawable.sort_light);
+                        menuItem.setIcon(R.drawable.sort_day);
                     }
 
                     // Display a Snackbar indicating the current sort type.
index 708e622b2e0568e74187224406122cd841c488df..6c07a121cd5762c8df94fefcf1993a7d18cd944b 100644 (file)
@@ -23,6 +23,7 @@ import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.database.Cursor;
 import android.os.Bundle;
@@ -129,8 +130,7 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
         // Get a handle for the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
-        // Get the theme and screenshot preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+        // Get the screenshot preference.
         boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
 
         // Disable screenshots if not allowed.
@@ -138,12 +138,8 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
             getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
         }
 
-        // Set the activity theme.
-        if (darkTheme) {
-            setTheme(R.style.PrivacyBrowserDark_SecondaryActivity);
-        } else {
-            setTheme(R.style.PrivacyBrowserLight_SecondaryActivity);
-        }
+        // Set the theme.
+        setTheme(R.style.PrivacyBrowser);
 
         // Run the default commands.
         super.onCreate(savedInstanceState);
@@ -396,7 +392,7 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
 
                     // Disable the options `MenuItems`.
                     deleteMenuItem.setEnabled(false);
-                    deleteMenuItem.setIcon(R.drawable.delete_blue);
+                    deleteMenuItem.setIcon(R.drawable.delete_disabled);
 
                     // Remove the domain settings fragment.
                     fragmentManager.beginTransaction().remove(Objects.requireNonNull(fragmentManager.findFragmentById(R.id.domain_settings_fragment_container))).commit();
@@ -442,7 +438,7 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
                 // Get a handle for the activity.
                 Activity activity = this;
 
-                // Display a `Snackbar`.
+                // Display a snackbar.
                 undoDeleteSnackbar = Snackbar.make(domainsListView, R.string.domain_deleted, Snackbar.LENGTH_LONG)
                         .setAction(R.string.undo, (View v) -> {
                             // Do nothing because everything will be handled by `onDismissed()` below.
@@ -482,17 +478,27 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
                                             }
                                         };
 
-                                        // Update the `ListView`.
+                                        // Update the domains list view.
                                         domainsListView.setAdapter(undoDeleteDomainsCursorAdapter);
-                                        // Select the previously deleted domain in `domainsListView`.
+
+                                        // Select the previously deleted domain in the list view.
                                         domainsListView.setItemChecked(deletedDomainPosition, true);
 
-                                        // Display `domainSettingsFragment`.
+                                        // Display the domain settings fragment.
                                         fragmentManager.beginTransaction().replace(R.id.domain_settings_fragment_container, domainSettingsFragment).commit();
 
-                                        // Enable the options `MenuItems`.
+                                        // Enable the options delete menu item.
                                         deleteMenuItem.setEnabled(true);
-                                        deleteMenuItem.setIcon(R.drawable.delete_light);
+
+                                        // Get the current theme status.
+                                        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
+                                        // Set the delete menu item icon according to the theme.
+                                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                            deleteMenuItem.setIcon(R.drawable.delete_night);
+                                        } else {
+                                            deleteMenuItem.setIcon(R.drawable.delete_day);
+                                        }
                                     } else {  // The device in in one-paned mode.
                                         // Display `domainSettingsFragment`.
                                         fragmentManager.beginTransaction().replace(R.id.domains_listview_fragment_container, domainSettingsFragment).commit();
@@ -514,29 +520,26 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
                                     if (dismissingSnackbar) {
                                         // Create a `Runnable` to enable the delete menu item.
                                         Runnable enableDeleteMenuItemRunnable = () -> {
-                                            // Enable `deleteMenuItem` according to the display mode.
+                                            // Enable the delete menu item according to the display mode.
                                             if (twoPanedMode) {  // Two-paned mode.
                                                 // Enable the delete menu item.
                                                 deleteMenuItem.setEnabled(true);
 
-                                                // Get a handle for the shared preferences.
-                                                SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
-
-                                                // Get the theme preferences.
-                                                boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+                                                // Get the current theme status.
+                                                int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
-                                                // Set the delete icon according to the theme.
-                                                if (darkTheme) {
-                                                    deleteMenuItem.setIcon(R.drawable.delete_dark);
+                                                // Set the delete menu item icon according to the theme.
+                                                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                                    deleteMenuItem.setIcon(R.drawable.delete_night);
                                                 } else {
-                                                    deleteMenuItem.setIcon(R.drawable.delete_light);
+                                                    deleteMenuItem.setIcon(R.drawable.delete_day);
                                                 }
                                             } else {  // Single-paned mode.
-                                                // Show `deleteMenuItem`.
+                                                // Show the delete menu item.
                                                 deleteMenuItem.setVisible(true);
                                             }
 
-                                            // Reset `dismissingSnackbar`.
+                                            // Reset the dismissing snackbar tracker.
                                             dismissingSnackbar = false;
                                         };
 
@@ -853,22 +856,19 @@ public class DomainsActivity extends AppCompatActivity implements AddDomainDialo
             // Enable the delete options menu items.
             deleteMenuItem.setEnabled(true);
 
-            // Get a handle for the shared preferences.
-            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
-
-            // Get the theme and screenshot preferences.
-            boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+            // Get the current theme status.
+            int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
             // Set the delete icon according to the theme.
-            if (darkTheme) {
-                deleteMenuItem.setIcon(R.drawable.delete_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                deleteMenuItem.setIcon(R.drawable.delete_night);
             } else {
-                deleteMenuItem.setIcon(R.drawable.delete_light);
+                deleteMenuItem.setIcon(R.drawable.delete_day);
             }
         } else if (twoPanedMode) {  // Two-paned mode is enabled but there are no domains.
             // Disable the options `MenuItems`.
             deleteMenuItem.setEnabled(false);
-            deleteMenuItem.setIcon(R.drawable.delete_blue);
+            deleteMenuItem.setIcon(R.drawable.delete_disabled);
         }
     }
 
index d6809e57f6923b2f2b90462b33ae7471e2c616b6..7fcf2d3cfb0874338a5df77a697a92839fcaff1c 100644 (file)
@@ -40,8 +40,7 @@ public class GuideActivity extends AppCompatActivity {
         // Get a handle for the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
-        // Get the theme and screenshot preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+        // Get the screenshot preference.
         boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
 
         // Disable screenshots if not allowed.
@@ -50,11 +49,7 @@ public class GuideActivity extends AppCompatActivity {
         }
 
         // Set the theme.
-        if (darkTheme) {
-            setTheme(R.style.PrivacyBrowserDark_SecondaryActivity);
-        } else {
-            setTheme(R.style.PrivacyBrowserLight_SecondaryActivity);
-        }
+        setTheme(R.style.PrivacyBrowser);
 
         // Run the default commands.
         super.onCreate(savedInstanceState);
index 3481f312dd555cd3b98054e9b7ab51c55bee1b5a..cc9363f9ad155b74be6cd341bad82094052db3c4 100644 (file)
@@ -96,8 +96,7 @@ public class ImportExportActivity extends AppCompatActivity implements StoragePe
         // Get a handle for the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
-        // Get the theme and screenshot preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+        // Get the screenshot preference.
         boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
 
         // Disable screenshots if not allowed.
@@ -105,12 +104,8 @@ public class ImportExportActivity extends AppCompatActivity implements StoragePe
             getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
         }
 
-        // Set the activity theme.
-        if (darkTheme) {
-            setTheme(R.style.PrivacyBrowserDark_SecondaryActivity);
-        } else {
-            setTheme(R.style.PrivacyBrowserLight_SecondaryActivity);
-        }
+        // Set the theme.
+        setTheme(R.style.PrivacyBrowser);
 
         // Run the default commands.
         super.onCreate(savedInstanceState);
index 9f433632419b622ba129178ded8f3f2429c7ca44..de0b873d8afa276757553de795f286c3bf3ed16c 100644 (file)
@@ -27,11 +27,13 @@ import android.content.ClipboardManager;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
+import android.content.res.Configuration;
 import android.media.MediaScannerConnection;
 import android.net.Uri;
 import android.os.AsyncTask;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
+import android.util.TypedValue;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
@@ -75,8 +77,7 @@ public class LogcatActivity extends AppCompatActivity implements SaveLogcatDialo
         // Get a handle for the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
-        // Get the theme and screenshot preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+        // Get the screenshot preference.
         boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
 
         // Disable screenshots if not allowed.
@@ -84,12 +85,8 @@ public class LogcatActivity extends AppCompatActivity implements SaveLogcatDialo
             getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
         }
 
-        // Set the activity theme.
-        if (darkTheme) {
-            setTheme(R.style.PrivacyBrowserDark_SecondaryActivity);
-        } else {
-            setTheme(R.style.PrivacyBrowserLight_SecondaryActivity);
-        }
+        // Set the theme.
+        setTheme(R.style.PrivacyBrowser);
 
         // Run the default commands.
         super.onCreate(savedInstanceState);
@@ -97,7 +94,7 @@ public class LogcatActivity extends AppCompatActivity implements SaveLogcatDialo
         // Set the content view.
         setContentView(R.layout.logcat_coordinatorlayout);
 
-        // The AndroidX toolbar must be used until the minimum API is >= 21.
+        // Set the toolbar as the action bar.
         Toolbar toolbar = findViewById(R.id.logcat_toolbar);
         setSupportActionBar(toolbar);
 
@@ -117,14 +114,28 @@ public class LogcatActivity extends AppCompatActivity implements SaveLogcatDialo
             new GetLogcat(this).execute();
         });
 
-        // Set the swipe to refresh color according to the theme.
-        if (darkTheme) {
-            swipeRefreshLayout.setColorSchemeResources(R.color.blue_600);
-            swipeRefreshLayout.setProgressBackgroundColorSchemeResource(R.color.gray_800);
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
+        // Set the refresh color scheme according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+            swipeRefreshLayout.setColorSchemeResources(R.color.blue_500);
         } else {
             swipeRefreshLayout.setColorSchemeResources(R.color.blue_700);
         }
 
+        // Initialize a color background typed value.
+        TypedValue colorBackgroundTypedValue = new TypedValue();
+
+        // Get the color background from the theme.
+        getTheme().resolveAttribute(android.R.attr.colorBackground, colorBackgroundTypedValue, true);
+
+        // Get the color background int from the typed value.
+        int colorBackgroundInt = colorBackgroundTypedValue.data;
+
+        // Set the swipe refresh background color.
+        swipeRefreshLayout.setProgressBackgroundColorSchemeColor(colorBackgroundInt);
+
         // Get the logcat.
         new GetLogcat(this).execute();
     }
index 267e59bf769564b92f2d851217e55435bbcf0b3a..becbd5ac8ab5fd55ed65b6305196082fd87518f4 100644 (file)
@@ -58,6 +58,7 @@ import android.text.Spanned;
 import android.text.TextWatcher;
 import android.text.style.ForegroundColorSpan;
 import android.util.Patterns;
+import android.util.TypedValue;
 import android.view.ContextMenu;
 import android.view.GestureDetector;
 import android.view.KeyEvent;
@@ -96,6 +97,7 @@ import androidx.annotation.NonNull;
 import androidx.appcompat.app.ActionBar;
 import androidx.appcompat.app.ActionBarDrawerToggle;
 import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatDelegate;
 import androidx.appcompat.widget.Toolbar;
 import androidx.coordinatorlayout.widget.CoordinatorLayout;
 import androidx.core.app.ActivityCompat;
@@ -124,7 +126,6 @@ import com.stoutner.privacybrowser.dialogs.AdConsentDialog;
 import com.stoutner.privacybrowser.dialogs.CreateBookmarkDialog;
 import com.stoutner.privacybrowser.dialogs.CreateBookmarkFolderDialog;
 import com.stoutner.privacybrowser.dialogs.CreateHomeScreenShortcutDialog;
-import com.stoutner.privacybrowser.dialogs.EditBookmarkDialog;
 import com.stoutner.privacybrowser.dialogs.EditBookmarkFolderDialog;
 import com.stoutner.privacybrowser.dialogs.FontSizeDialog;
 import com.stoutner.privacybrowser.dialogs.HttpAuthenticationDialog;
@@ -167,9 +168,9 @@ import java.util.Objects;
 import java.util.Set;
 
 public class MainWebViewActivity extends AppCompatActivity implements CreateBookmarkDialog.CreateBookmarkListener, CreateBookmarkFolderDialog.CreateBookmarkFolderListener,
-        EditBookmarkDialog.EditBookmarkListener, EditBookmarkFolderDialog.EditBookmarkFolderListener, FontSizeDialog.UpdateFontSizeListener, NavigationView.OnNavigationItemSelectedListener,
-        OpenDialog.OpenListener, PinnedMismatchDialog.PinnedMismatchListener, PopulateBlocklists.PopulateBlocklistsListener, SaveDialog.SaveWebpageListener,
-        StoragePermissionDialog.StoragePermissionDialogListener, UrlHistoryDialog.NavigateHistoryListener, WebViewTabFragment.NewTabListener {
+        EditBookmarkFolderDialog.EditBookmarkFolderListener, FontSizeDialog.UpdateFontSizeListener, NavigationView.OnNavigationItemSelectedListener, OpenDialog.OpenListener,
+        PinnedMismatchDialog.PinnedMismatchListener, PopulateBlocklists.PopulateBlocklistsListener, SaveDialog.SaveWebpageListener, StoragePermissionDialog.StoragePermissionDialogListener,
+        UrlHistoryDialog.NavigateHistoryListener, WebViewTabFragment.NewTabListener {
 
     // `orbotStatus` is public static so it can be accessed from `OrbotProxyHelper`.  It is also used in `onCreate()`, `onResume()`, and `applyProxy()`.
     public static String orbotStatus = "unknown";
@@ -276,11 +277,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
     private ForegroundColorSpan initialGrayColorSpan;
     private ForegroundColorSpan finalGrayColorSpan;
 
-    // The drawer header padding variables are used in `onCreate()` and `onConfigurationChanged()`.
-    private int drawerHeaderPaddingLeftAndRight;
-    private int drawerHeaderPaddingTop;
-    private int drawerHeaderPaddingBottom;
-
     // `bookmarksDatabaseHelper` is used in `onCreate()`, `onDestroy`, `onOptionsItemSelected()`, `onCreateBookmark()`, `onCreateBookmarkFolder()`, `onSaveEditBookmark()`, `onSaveEditBookmarkFolder()`,
     // and `loadBookmarksFolder()`.
     private BookmarksDatabaseHelper bookmarksDatabaseHelper;
@@ -298,12 +294,10 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
     private ValueCallback<Uri[]> fileChooserCallback;
 
     // The default progress view offsets are set in `onCreate()` and used in `initializeWebView()`.
+    private int appBarHeight;
     private int defaultProgressViewStartOffset;
     private int defaultProgressViewEndOffset;
 
-    // The swipe refresh layout top padding is used when exiting full screen browsing mode.  It is used in an inner class in `initializeWebView()`.
-    private int swipeRefreshLayoutPaddingTop;
-
     // The URL sanitizers are set in `applyAppSettings()` and used in `sanitizeUrl()`.
     private boolean sanitizeGoogleAnalytics;
     private boolean sanitizeFacebookClickIds;
@@ -318,10 +312,8 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
     // Remove the warning about needing to override `performClick()` when using an `OnTouchListener` with `WebView`.
     @SuppressLint("ClickableViewAccessibility")
     protected void onCreate(Bundle savedInstanceState) {
-        // Enable the drawing of the entire webpage.  This makes it possible to save a website image.  This must be done before anything else happens with the WebView.
-        if (Build.VERSION.SDK_INT >= 21) {
-            WebView.enableSlowWholeDocumentDraw();
-        }
+        // Run the default commands.
+        super.onCreate(savedInstanceState);
 
         // Initialize the default preference values the first time the program is run.  `false` keeps this command from resetting any current preferences back to default.
         PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
@@ -329,24 +321,42 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Get a handle for the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
-        // Get the theme and screenshot preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+        // Get the screenshot preference.
+        String appTheme = sharedPreferences.getString("app_theme", getString(R.string.app_theme_default_value));
         boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
 
+        // Get the theme entry values string array.
+        String[] appThemeEntryValuesStringArray = getResources().getStringArray(R.array.app_theme_entry_values);
+
+        // Set the app theme according to the preference.  A switch statement cannot be used because the theme entry values string array is not a compile time constant.
+        if (appTheme.equals(appThemeEntryValuesStringArray[1])) {  // The light theme is selected.
+            // Apply the light theme.
+            AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
+        } else if (appTheme.equals(appThemeEntryValuesStringArray[2])) {  // The dark theme is selected.
+            // Apply the dark theme.
+            AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
+        } else {  // The system default theme is selected.
+            if (Build.VERSION.SDK_INT >= 28) {  // The system default theme is supported.
+                // Follow the system default theme.
+                AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
+            } else {  // The system default theme is not supported.
+                // Follow the battery saver mode.
+                AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY);
+            }
+        }
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
         }
 
-        // Set the activity theme.
-        if (darkTheme) {
-            setTheme(R.style.PrivacyBrowserDark);
-        } else {
-            setTheme(R.style.PrivacyBrowserLight);
+        // Enable the drawing of the entire webpage.  This makes it possible to save a website image.  This must be done before anything else happens with the WebView.
+        if (Build.VERSION.SDK_INT >= 21) {
+            WebView.enableSlowWholeDocumentDraw();
         }
 
-        // Run the default commands.
-        super.onCreate(savedInstanceState);
+        // Set the theme.
+        setTheme(R.style.PrivacyBrowser);
 
         // Set the content view.
         setContentView(R.layout.main_framelayout);
@@ -356,11 +366,14 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         Toolbar toolbar = findViewById(R.id.toolbar);
         ViewPager webViewPager = findViewById(R.id.webviewpager);
 
-        // Set the action bar.  `SupportActionBar` must be used until the minimum API is >= 21.
-        setSupportActionBar(toolbar);
+        // Get a handle for the app compat delegate.
+        AppCompatDelegate appCompatDelegate = getDelegate();
+
+        // Set the support action bar.
+        appCompatDelegate.setSupportActionBar(toolbar);
 
         // Get a handle for the action bar.
-        ActionBar actionBar = getSupportActionBar();
+        ActionBar actionBar = appCompatDelegate.getSupportActionBar();
 
         // This is needed to get rid of the Android Studio warning that the action bar might be null.
         assert actionBar != null;
@@ -369,12 +382,12 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         actionBar.setCustomView(R.layout.url_app_bar);
         actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
 
-        // Initially disable the sliding drawers.  They will be enabled once the blocklists are loaded.
-        drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
-
         // Create the hamburger icon at the start of the AppBar.
         actionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.open_navigation_drawer, R.string.close_navigation_drawer);
 
+        // Initially disable the sliding drawers.  They will be enabled once the blocklists are loaded.
+        drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
+
         // Initialize the web view pager adapter.
         webViewPagerAdapter = new WebViewPagerAdapter(getSupportFragmentManager());
 
@@ -568,9 +581,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             // Get a handle for the root frame layouts.
             FrameLayout rootFrameLayout = findViewById(R.id.root_framelayout);
 
-            // Remove the translucent status flag.  This is necessary so the root frame layout can fill the entire screen.
-            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
-
             /* Hide the system bars.
              * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
              * SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN makes the root frame layout fill the area that is normally reserved for the status bar.
@@ -619,12 +629,20 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
     @Override
     public void onDestroy() {
-        // Unregister the orbot status broadcast receiver.
-        this.unregisterReceiver(orbotStatusBroadcastReceiver);
+        // Unregister the orbot status broadcast receiver if it exists.
+        if (orbotStatusBroadcastReceiver != null) {
+            this.unregisterReceiver(orbotStatusBroadcastReceiver);
+        }
 
-        // Close the bookmarks cursor and database.
-        bookmarksCursor.close();
-        bookmarksDatabaseHelper.close();
+        // Close the bookmarks cursor if it exists.
+        if (bookmarksCursor != null) {
+            bookmarksCursor.close();
+        }
+
+        // Close the bookmarks database if it exists.
+        if (bookmarksDatabaseHelper != null) {
+            bookmarksDatabaseHelper.close();
+        }
 
         // Run the default commands.
         super.onDestroy();
@@ -668,7 +686,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
         // Get the dark theme and app bar preferences..
         boolean displayAdditionalAppBarIcons = sharedPreferences.getBoolean("display_additional_app_bar_icons", false);
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
 
         // Set the status of the additional app bar icons.  Setting the refresh menu item to `SHOW_AS_ACTION_ALWAYS` makes it appear even on small devices like phones.
         if (displayAdditionalAppBarIcons) {
@@ -686,12 +703,18 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             // Set the title.
             refreshMenuItem.setTitle(R.string.stop);
 
-            // If the icon is displayed in the AppBar, set it according to the theme.
+            // Set the icon if it is displayed in the app bar.
             if (displayAdditionalAppBarIcons) {
-                if (darkTheme) {
-                    refreshMenuItem.setIcon(R.drawable.close_dark);
+                // Get the current theme status.
+                int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
+                // Set the icon according to the current theme status.
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    // Set the dark stop icon.
+                    refreshMenuItem.setIcon(R.drawable.close_night);
                 } else {
-                    refreshMenuItem.setIcon(R.drawable.close_light);
+                    // Set the light stop icon.
+                    refreshMenuItem.setIcon(R.drawable.close_day);
                 }
             }
         }
@@ -2017,18 +2040,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Run the default commands.
         super.onConfigurationChanged(newConfig);
 
-        // Get the status bar pixel size.
-        int statusBarResourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
-        int statusBarPixelSize = getResources().getDimensionPixelSize(statusBarResourceId);
-
-        // Get the resource density.
-        float screenDensity = getResources().getDisplayMetrics().density;
-
-        // Recalculate the drawer header padding.
-        drawerHeaderPaddingLeftAndRight = (int) (15 * screenDensity);
-        drawerHeaderPaddingTop = statusBarPixelSize + (int) (4 * screenDensity);
-        drawerHeaderPaddingBottom = (int) (8 * screenDensity);
-
         // Reload the ad for the free flavor if not in full screen mode.
         if (BuildConfig.FLAVOR.contentEquals("free") && !inFullScreenBrowsingMode) {
             // Reload the ad.  The AdView is destroyed and recreated, which changes the ID, every time it is reloaded to handle possible rotations.
@@ -2457,47 +2468,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         bookmarksListView.setSelection(0);
     }
 
-    @Override
-    public void onSaveBookmark(DialogFragment dialogFragment, int selectedBookmarkDatabaseId, Bitmap favoriteIconBitmap) {
-        // Get the dialog.
-        Dialog dialog = dialogFragment.getDialog();
-
-        // Remove the incorrect lint warning below that the dialog might be null.
-        assert dialog != null;
-
-        // Get handles for the views from the dialog.
-        EditText editBookmarkNameEditText = dialog.findViewById(R.id.edit_bookmark_name_edittext);
-        EditText editBookmarkUrlEditText = dialog.findViewById(R.id.edit_bookmark_url_edittext);
-        RadioButton currentBookmarkIconRadioButton = dialog.findViewById(R.id.edit_bookmark_current_icon_radiobutton);
-
-        // Store the bookmark strings.
-        String bookmarkNameString = editBookmarkNameEditText.getText().toString();
-        String bookmarkUrlString = editBookmarkUrlEditText.getText().toString();
-
-        // Update the bookmark.
-        if (currentBookmarkIconRadioButton.isChecked()) {  // Update the bookmark without changing the favorite icon.
-            bookmarksDatabaseHelper.updateBookmark(selectedBookmarkDatabaseId, bookmarkNameString, bookmarkUrlString);
-        } else {  // Update the bookmark using the `WebView` favorite icon.
-            // Create a favorite icon byte array output stream.
-            ByteArrayOutputStream newFavoriteIconByteArrayOutputStream = new ByteArrayOutputStream();
-
-            // Convert the favorite icon bitmap to a byte array.  `0` is for lossless compression (the only option for a PNG).
-            favoriteIconBitmap.compress(Bitmap.CompressFormat.PNG, 0, newFavoriteIconByteArrayOutputStream);
-
-            // Convert the favorite icon byte array stream to a byte array.
-            byte[] newFavoriteIconByteArray = newFavoriteIconByteArrayOutputStream.toByteArray();
-
-            //  Update the bookmark and the favorite icon.
-            bookmarksDatabaseHelper.updateBookmark(selectedBookmarkDatabaseId, bookmarkNameString, bookmarkUrlString, newFavoriteIconByteArray);
-        }
-
-        // Update the bookmarks cursor with the current contents of this folder.
-        bookmarksCursor = bookmarksDatabaseHelper.getBookmarksByDisplayOrder(currentBookmarksFolder);
-
-        // Update the list view.
-        bookmarksCursorAdapter.changeCursor(bookmarksCursor);
-    }
-
     @Override
     public void onSaveBookmarkFolder(DialogFragment dialogFragment, int selectedFolderDatabaseId, Bitmap favoriteIconBitmap) {
         // Get the dialog.
@@ -2633,30 +2603,11 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
             // Apply the appropriate full screen mode flags.
             if (fullScreenBrowsingModeEnabled && inFullScreenBrowsingMode) {  // Privacy Browser is currently in full screen browsing mode.
-                // Hide the app bar if specified.
-                if (hideAppBar) {
-                    // Get handles for the views.
-                    LinearLayout tabsLinearLayout = findViewById(R.id.tabs_linearlayout);
-                    ActionBar actionBar = getSupportActionBar();
-
-                    // Remove the incorrect lint warning below that the action bar might be null.
-                    assert actionBar != null;
-
-                    // Hide the tab linear layout.
-                    tabsLinearLayout.setVisibility(View.GONE);
-
-                    // Hide the action bar.
-                    actionBar.hide();
-                }
-
                 // Hide the banner ad in the free flavor.
                 if (BuildConfig.FLAVOR.contentEquals("free")) {
                     AdHelper.hideAd(findViewById(R.id.adview));
                 }
 
-                // Remove the translucent status flag.  This is necessary so the root frame layout can fill the entire screen.
-                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
-
                 /* Hide the system bars.
                  * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
                  * SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN makes the root frame layout fill the area that is normally reserved for the status bar.
@@ -2665,12 +2616,15 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                  */
                 rootFrameLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
                         View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
+
+                // Reload the website if the app bar is hidden.  Otherwise, there is some bug in Android that causes the WebView to be entirely black.
+                if (hideAppBar) {
+                    // Reload the WebView.
+                    currentWebView.reload();
+                }
             } else {  // Switch to normal viewing mode.
                 // Remove the `SYSTEM_UI` flags from the root frame layout.
                 rootFrameLayout.setSystemUiVisibility(0);
-
-                // Add the translucent status flag.
-                getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
             }
 
             // Reload the ad for the free flavor if not in full screen mode.
@@ -3205,10 +3159,13 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             searchURL = searchString;
         }
 
+        // Get a handle for the app compat delegate.
+        AppCompatDelegate appCompatDelegate = getDelegate();
+
         // Get handles for the views that need to be modified.
         FrameLayout rootFrameLayout = findViewById(R.id.root_framelayout);
         AppBarLayout appBarLayout = findViewById(R.id.appbar_layout);
-        ActionBar actionBar = getSupportActionBar();
+        ActionBar actionBar = appCompatDelegate.getSupportActionBar();
         Toolbar toolbar = findViewById(R.id.toolbar);
         LinearLayout findOnPageLinearLayout = findViewById(R.id.find_on_page_linearlayout);
         LinearLayout tabsLinearLayout = findViewById(R.id.tabs_linearlayout);
@@ -3297,9 +3254,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 AdHelper.hideAd(findViewById(R.id.adview));
             }
 
-            // Remove the translucent status flag.  This is necessary so the root frame layout can fill the entire screen.
-            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
-
             /* Hide the system bars.
              * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
              * SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN makes the root frame layout fill the area that is normally reserved for the status bar.
@@ -3326,19 +3280,10 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
             // Remove the `SYSTEM_UI` flags from the root frame layout.
             rootFrameLayout.setSystemUiVisibility(0);
-
-            // Add the translucent status flag.
-            getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
         }
     }
 
     private void initializeApp() {
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
-
-        // Get the theme preference.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
         // Get a handle for the input method.
         InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
 
@@ -3528,20 +3473,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             }
         });
 
-        // Set the bookmarks drawer resources according to the theme.  This can't be done in the layout due to compatibility issues with the `DrawerLayout` support widget.
-        // The deprecated `getResources().getDrawable()` must be used until the minimum API >= 21 and and `getResources().getColor()` must be used until the minimum API >= 23.
-        if (darkTheme) {
-            launchBookmarksActivityFab.setImageDrawable(getResources().getDrawable(R.drawable.bookmarks_dark));
-            createBookmarkFolderFab.setImageDrawable(getResources().getDrawable(R.drawable.create_folder_dark));
-            createBookmarkFab.setImageDrawable(getResources().getDrawable(R.drawable.create_bookmark_dark));
-            bookmarksListView.setBackgroundColor(getResources().getColor(R.color.gray_850));
-        } else {
-            launchBookmarksActivityFab.setImageDrawable(getResources().getDrawable(R.drawable.bookmarks_light));
-            createBookmarkFolderFab.setImageDrawable(getResources().getDrawable(R.drawable.create_folder_light));
-            createBookmarkFab.setImageDrawable(getResources().getDrawable(R.drawable.create_bookmark_light));
-            bookmarksListView.setBackgroundColor(getResources().getColor(R.color.white));
-        }
-
         // Set the launch bookmarks activity FAB to launch the bookmarks activity.
         launchBookmarksActivityFab.setOnClickListener(v -> {
             // Get a copy of the favorite icon bitmap.
@@ -3629,15 +3560,29 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         defaultProgressViewStartOffset = swipeRefreshLayout.getProgressViewStartOffset();
         defaultProgressViewEndOffset = swipeRefreshLayout.getProgressViewEndOffset();
 
-        // Set the swipe to refresh color according to the theme.
-        if (darkTheme) {
-            swipeRefreshLayout.setColorSchemeResources(R.color.blue_800);
-            swipeRefreshLayout.setProgressBackgroundColorSchemeResource(R.color.gray_850);
-        } else {
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
+        // Set the refresh color scheme according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
             swipeRefreshLayout.setColorSchemeResources(R.color.blue_500);
+        } else {
+            swipeRefreshLayout.setColorSchemeResources(R.color.blue_700);
         }
 
-        // `DrawerTitle` identifies the `DrawerLayouts` in accessibility mode.
+        // Initialize a color background typed value.
+        TypedValue colorBackgroundTypedValue = new TypedValue();
+
+        // Get the color background from the theme.
+        getTheme().resolveAttribute(android.R.attr.colorBackground, colorBackgroundTypedValue, true);
+
+        // Get the color background int from the typed value.
+        int colorBackgroundInt = colorBackgroundTypedValue.data;
+
+        // Set the swipe refresh background color.
+        swipeRefreshLayout.setProgressBackgroundColorSchemeColor(colorBackgroundInt);
+
+        // The drawer titles identify the drawer layouts in accessibility mode.
         drawerLayout.setDrawerTitle(GravityCompat.START, getString(R.string.navigation_drawer));
         drawerLayout.setDrawerTitle(GravityCompat.END, getString(R.string.bookmarks));
 
@@ -3710,18 +3655,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             return true;
         });
 
-        // Get the status bar pixel size.
-        int statusBarResourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
-        int statusBarPixelSize = getResources().getDimensionPixelSize(statusBarResourceId);
-
-        // Get the resource density.
-        float screenDensity = getResources().getDisplayMetrics().density;
-
-        // Calculate the drawer header padding.  This is used to move the text in the drawer headers below any cutouts.
-        drawerHeaderPaddingLeftAndRight = (int) (15 * screenDensity);
-        drawerHeaderPaddingTop = statusBarPixelSize + (int) (4 * screenDensity);
-        drawerHeaderPaddingBottom = (int) (8 * screenDensity);
-
         // The drawer listener is used to update the navigation menu.
         drawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
             @Override
@@ -3739,20 +3672,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             @Override
             public void onDrawerStateChanged(int newState) {
                 if ((newState == DrawerLayout.STATE_SETTLING) || (newState == DrawerLayout.STATE_DRAGGING)) {  // A drawer is opening or closing.
-                    // Get handles for the drawer headers.
-                    TextView navigationHeaderTextView = findViewById(R.id.navigationText);
-                    TextView bookmarksHeaderTextView = findViewById(R.id.bookmarks_title_textview);
-
-                    // Apply the navigation header paddings if the view is not null (sometimes it is null if another activity has already started).  This moves the text in the header below any cutouts.
-                    if (navigationHeaderTextView != null) {
-                        navigationHeaderTextView.setPadding(drawerHeaderPaddingLeftAndRight, drawerHeaderPaddingTop, drawerHeaderPaddingLeftAndRight, drawerHeaderPaddingBottom);
-                    }
-
-                    // Apply the bookmarks header paddings if the view is not null (sometimes it is null if another activity has already started).  This moves the text in the header below any cutouts.
-                    if (bookmarksHeaderTextView != null) {
-                        bookmarksHeaderTextView.setPadding(drawerHeaderPaddingLeftAndRight, drawerHeaderPaddingTop, drawerHeaderPaddingLeftAndRight, drawerHeaderPaddingBottom);
-                    }
-
                     // Update the navigation menu items if the WebView is not null.
                     if (currentWebView != null) {
                         navigationBackMenuItem.setEnabled(currentWebView.canGoBack());
@@ -3938,7 +3857,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             String defaultFontSizeString = sharedPreferences.getString("font_size", getString(R.string.font_size_default_value));
             String defaultUserAgentName = sharedPreferences.getString("user_agent", getString(R.string.user_agent_default_value));
             boolean defaultSwipeToRefresh = sharedPreferences.getBoolean("swipe_to_refresh", true);
-            boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
             boolean wideViewport = sharedPreferences.getBoolean("wide_viewport", true);
             boolean displayWebpageImages = sharedPreferences.getBoolean("display_webpage_images", true);
 
@@ -4182,8 +4100,11 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                         break;
                 }
 
-                // Set a green background on the URL relative layout to indicate that custom domain settings are being used. The deprecated `.getDrawable()` must be used until the minimum API >= 21.
-                if (darkTheme) {
+                // Get the current theme status.
+                int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
+                // Set a background on the URL relative layout to indicate that custom domain settings are being used. The deprecated `.getDrawable()` must be used until the minimum API >= 21.
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     urlRelativeLayout.setBackground(getResources().getDrawable(R.drawable.url_bar_background_dark_blue));
                 } else {
                     urlRelativeLayout.setBackground(getResources().getDrawable(R.drawable.url_bar_background_light_green));
@@ -4296,12 +4217,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
     }
 
     private void applyProxy(boolean reloadWebViews) {
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
-
-        // Get the theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
         // Get a handle for the app bar layout.
         AppBarLayout appBarLayout = findViewById(R.id.appbar_layout);
 
@@ -4311,20 +4226,28 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Reset the waiting for proxy tracker.
         waitingForProxy = false;
 
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
         // Update the user interface and reload the WebViews if requested.
         switch (proxyMode) {
             case ProxyHelper.NONE:
+                // Initialize a color background typed value.
+                TypedValue colorBackgroundTypedValue = new TypedValue();
+
+                // Get the color background from the theme.
+                getTheme().resolveAttribute(android.R.attr.colorBackground, colorBackgroundTypedValue, true);
+
+                // Get the color background int from the typed value.
+                int colorBackgroundInt = colorBackgroundTypedValue.data;
+
                 // Set the default app bar layout background.
-                if (darkTheme) {
-                    appBarLayout.setBackgroundResource(R.color.gray_900);
-                } else {
-                    appBarLayout.setBackgroundResource(R.color.gray_100);
-                }
+                appBarLayout.setBackgroundColor(colorBackgroundInt);
                 break;
 
             case ProxyHelper.TOR:
                 // Set the app bar background to indicate proxying through Orbot is enabled.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     appBarLayout.setBackgroundResource(R.color.dark_blue_30);
                 } else {
                     appBarLayout.setBackgroundResource(R.color.blue_50);
@@ -4366,7 +4289,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
             case ProxyHelper.I2P:
                 // Set the app bar background to indicate proxying through Orbot is enabled.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     appBarLayout.setBackgroundResource(R.color.dark_blue_30);
                 } else {
                     appBarLayout.setBackgroundResource(R.color.blue_50);
@@ -4393,7 +4316,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
             case ProxyHelper.CUSTOM:
                 // Set the app bar background to indicate proxying through Orbot is enabled.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     appBarLayout.setBackgroundResource(R.color.dark_blue_30);
                 } else {
                     appBarLayout.setBackgroundResource(R.color.blue_50);
@@ -4426,12 +4349,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
     private void updatePrivacyIcons(boolean runInvalidateOptionsMenu) {
         // Only update the privacy icons if the options menu and the current WebView have already been populated.
         if ((optionsMenu != null) && (currentWebView != null)) {
-            // Get a handle for the shared preferences.
-            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
-
-            // Get the theme and screenshot preferences.
-            boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
             // Get handles for the menu items.
             MenuItem privacyMenuItem = optionsMenu.findItem(R.id.toggle_javascript);
             MenuItem firstPartyCookiesMenuItem = optionsMenu.findItem(R.id.toggle_first_party_cookies);
@@ -4447,14 +4364,17 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 privacyMenuItem.setIcon(R.drawable.privacy_mode);
             }
 
+            // Get the current theme status.
+            int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
             // Update the first-party cookies icon.
             if (currentWebView.getAcceptFirstPartyCookies()) {  // First-party cookies are enabled.
                 firstPartyCookiesMenuItem.setIcon(R.drawable.cookies_enabled);
             } else {  // First-party cookies are disabled.
-                if (darkTheme) {
-                    firstPartyCookiesMenuItem.setIcon(R.drawable.cookies_disabled_dark);
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    firstPartyCookiesMenuItem.setIcon(R.drawable.cookies_disabled_night);
                 } else {
-                    firstPartyCookiesMenuItem.setIcon(R.drawable.cookies_disabled_light);
+                    firstPartyCookiesMenuItem.setIcon(R.drawable.cookies_disabled_day);
                 }
             }
 
@@ -4462,27 +4382,27 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             if (currentWebView.getSettings().getJavaScriptEnabled() && currentWebView.getSettings().getDomStorageEnabled()) {  // Both JavaScript and DOM storage are enabled.
                 domStorageMenuItem.setIcon(R.drawable.dom_storage_enabled);
             } else if (currentWebView.getSettings().getJavaScriptEnabled()) {  // JavaScript is enabled but DOM storage is disabled.
-                if (darkTheme) {
-                    domStorageMenuItem.setIcon(R.drawable.dom_storage_disabled_dark);
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    domStorageMenuItem.setIcon(R.drawable.dom_storage_disabled_night);
                 } else {
-                    domStorageMenuItem.setIcon(R.drawable.dom_storage_disabled_light);
+                    domStorageMenuItem.setIcon(R.drawable.dom_storage_disabled_day);
                 }
             } else {  // JavaScript is disabled, so DOM storage is ghosted.
-                if (darkTheme) {
-                    domStorageMenuItem.setIcon(R.drawable.dom_storage_ghosted_dark);
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    domStorageMenuItem.setIcon(R.drawable.dom_storage_ghosted_night);
                 } else {
-                    domStorageMenuItem.setIcon(R.drawable.dom_storage_ghosted_light);
+                    domStorageMenuItem.setIcon(R.drawable.dom_storage_ghosted_day);
                 }
             }
 
             // Update the refresh icon.
-            if (darkTheme) {
-                refreshMenuItem.setIcon(R.drawable.refresh_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                refreshMenuItem.setIcon(R.drawable.refresh_enabled_night);
             } else {
-                refreshMenuItem.setIcon(R.drawable.refresh_enabled_light);
+                refreshMenuItem.setIcon(R.drawable.refresh_enabled_day);
             }
 
-            // `invalidateOptionsMenu` calls `onPrepareOptionsMenu()` and redraws the icons in the `AppBar`.
+            // `invalidateOptionsMenu()` calls `onPrepareOptionsMenu()` and redraws the icons in the app bar.
             if (runInvalidateOptionsMenu) {
                 invalidateOptionsMenu();
             }
@@ -4953,12 +4873,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
     }
 
     private void setCurrentWebView(int pageNumber) {
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
-
-        // Get the theme preference.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
         // Get handles for the URL views.
         RelativeLayout urlRelativeLayout = findViewById(R.id.url_relativelayout);
         EditText urlEditText = findViewById(R.id.url_edittext);
@@ -5036,8 +4950,11 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
             // Set the background to indicate the domain settings status.
             if (currentWebView.getDomainSettingsApplied()) {
+                // Get the current theme status.
+                int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
                 // Set a green background on the URL relative layout to indicate that custom domain settings are being used. The deprecated `.getDrawable()` must be used until the minimum API >= 21.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     urlRelativeLayout.setBackground(getResources().getDrawable(R.drawable.url_bar_background_dark_blue));
                 } else {
                     urlRelativeLayout.setBackground(getResources().getDrawable(R.drawable.url_bar_background_light_green));
@@ -5062,11 +4979,14 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
     @Override
     public void initializeWebView(NestedScrollWebView nestedScrollWebView, int pageNumber, ProgressBar progressBar, String url) {
+        // Get a handle for the app compat delegate.
+        AppCompatDelegate appCompatDelegate = getDelegate();
+
         // Get handles for the activity views.
         FrameLayout rootFrameLayout = findViewById(R.id.root_framelayout);
         DrawerLayout drawerLayout = findViewById(R.id.drawerlayout);
         RelativeLayout mainContentRelativeLayout = findViewById(R.id.main_content_relativelayout);
-        ActionBar actionBar = getSupportActionBar();
+        ActionBar actionBar = appCompatDelegate.getSupportActionBar();
         LinearLayout tabsLinearLayout = findViewById(R.id.tabs_linearlayout);
         EditText urlEditText = findViewById(R.id.url_edittext);
         TabLayout tabLayout = findViewById(R.id.tablayout);
@@ -5124,9 +5044,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
                     // Toggle the full screen browsing mode.
                     if (inFullScreenBrowsingMode) {  // Switch to full screen mode.
-                        // Store the swipe refresh layout top padding.
-                        swipeRefreshLayoutPaddingTop = swipeRefreshLayout.getPaddingTop();
-
                         // Hide the app bar if specified.
                         if (hideAppBar) {
                             // Close the find on page bar if it is visible.
@@ -5138,10 +5055,13 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                             // Hide the action bar.
                             actionBar.hide();
 
-                            // Check to see if app bar scrolling is disabled.
+                            // If the app bar is not being scrolled, the swipe refresh layout needs to be adjusted.
                             if (!scrollAppBar) {
                                 // Remove the padding from the top of the swipe refresh layout.
                                 swipeRefreshLayout.setPadding(0, 0, 0, 0);
+
+                                // The swipe refresh circle must be moved above the now removed status bar location.
+                                swipeRefreshLayout.setProgressViewOffset(false, -200, defaultProgressViewEndOffset);
                             }
                         }
 
@@ -5150,9 +5070,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                             AdHelper.hideAd(findViewById(R.id.adview));
                         }
 
-                        // Remove the translucent status flag.  This is necessary so the root frame layout can fill the entire screen.
-                        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
-
                         /* Hide the system bars.
                          * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
                          * SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN makes the root frame layout fill the area that is normally reserved for the status bar.
@@ -5162,16 +5079,22 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                         rootFrameLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
                                 View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
                     } else {  // Switch to normal viewing mode.
-                        // Show the tab linear layout.
-                        tabsLinearLayout.setVisibility(View.VISIBLE);
+                        // Show the app bar if it was hidden.
+                        if (hideAppBar) {
+                            // Show the tab linear layout.
+                            tabsLinearLayout.setVisibility(View.VISIBLE);
 
-                        // Show the action bar.
-                        actionBar.show();
+                            // Show the action bar.
+                            actionBar.show();
+
+                            // If the app bar is not being scrolled, the swipe refresh layout needs to be adjusted.
+                            if (!scrollAppBar) {
+                                // The swipe refresh layout must be manually moved below the app bar layout.
+                                swipeRefreshLayout.setPadding(0, appBarHeight, 0, 0);
 
-                        // Check to see if app bar scrolling is disabled.
-                        if (!scrollAppBar) {
-                            // Add the padding from the top of the swipe refresh layout.
-                            swipeRefreshLayout.setPadding(0, swipeRefreshLayoutPaddingTop, 0, 0);
+                                // The swipe to refresh circle doesn't always hide itself completely unless it is moved up 10 pixels.
+                                swipeRefreshLayout.setProgressViewOffset(false, defaultProgressViewStartOffset - 10 + appBarHeight, defaultProgressViewEndOffset + appBarHeight);
+                            }
                         }
 
                         // Show the banner ad in the free flavor.
@@ -5182,9 +5105,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
                         // Remove the `SYSTEM_UI` flags from the root frame layout.
                         rootFrameLayout.setSystemUiVisibility(0);
-
-                        // Add the translucent status flag.
-                        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
                     }
 
                     // Consume the double-tap.
@@ -5411,12 +5331,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 // Hide the main content relative layout.
                 mainContentRelativeLayout.setVisibility(View.GONE);
 
-                // Remove the translucent status bar overlay on the `Drawer Layout`, which is special and needs its own command.
-                drawerLayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
-
-                // Remove the translucent status flag.  This is necessary so the root frame layout can fill the entire screen.
-                getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
-
                 /* Hide the system bars.
                  * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
                  * SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN makes the root frame layout fill the area that is normally reserved for the status bar.
@@ -5479,9 +5393,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                         AdHelper.hideAd(findViewById(R.id.adview));
                     }
 
-                    // Remove the translucent status flag.  This is necessary so the root frame layout can fill the entire screen.
-                    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
-
                     /* Hide the system bars.
                      * SYSTEM_UI_FLAG_FULLSCREEN hides the status bar at the top of the screen.
                      * SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN makes the root frame layout fill the area that is normally reserved for the status bar.
@@ -5493,9 +5404,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 } else {  // Switch to normal viewing mode.
                     // Remove the `SYSTEM_UI` flags from the root frame layout.
                     rootFrameLayout.setSystemUiVisibility(0);
-
-                    // Add the translucent status flag.
-                    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
                 }
 
                 // Reload the ad for the free flavor if not in full screen mode.
@@ -5992,21 +5900,20 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             public void onPageStarted(WebView view, String url, Bitmap favicon) {
                 // Get the preferences.
                 boolean scrollAppBar = sharedPreferences.getBoolean("scroll_app_bar", true);
-                boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
 
                 // Get a handler for the app bar layout.
                 AppBarLayout appBarLayout = findViewById(R.id.appbar_layout);
 
-                // Set the top padding of the swipe refresh layout according to the app bar scrolling preference.
-                if (scrollAppBar) {
+                // Set the top padding of the swipe refresh layout according to the app bar scrolling preference.  This can't be done in `appAppSettings()` because the app bar is not yet populated there.
+                if (scrollAppBar || (inFullScreenBrowsingMode && hideAppBar)) {
                     // No padding is needed because it will automatically be placed below the app bar layout due to the scrolling layout behavior.
                     swipeRefreshLayout.setPadding(0, 0, 0, 0);
 
                     // The swipe to refresh circle doesn't always hide itself completely unless it is moved up 10 pixels.
                     swipeRefreshLayout.setProgressViewOffset(false, defaultProgressViewStartOffset - 10, defaultProgressViewEndOffset);
                 } else {
-                    // Get the app bar layout height.  This can't be done in `applyAppSettings()` because the app bar is not yet populated.
-                    int appBarHeight = appBarLayout.getHeight();
+                    // Get the app bar layout height.  This can't be done in `applyAppSettings()` because the app bar is not yet populated there.
+                    appBarHeight = appBarLayout.getHeight();
 
                     // The swipe refresh layout must be manually moved below the app bar layout.
                     swipeRefreshLayout.setPadding(0, appBarHeight, 0, 0);
@@ -6021,6 +5928,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 // Reset the requests counters.
                 nestedScrollWebView.resetRequestsCounters();
 
+                // TODO.  Make the background of a new tab match the theme.
                 // If night mode is enabled, hide `mainWebView` until after the night mode CSS is applied.
                 if (nestedScrollWebView.getNightMode()) {
                     nestedScrollWebView.setVisibility(View.INVISIBLE);
@@ -6068,10 +5976,14 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
                     // If the icon is displayed in the AppBar, set it according to the theme.
                     if (displayAdditionalAppBarIcons) {
-                        if (darkTheme) {
-                            refreshMenuItem.setIcon(R.drawable.close_dark);
+                        // Get the current theme status.
+                        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
+                        // Set the stop icon according to the theme.
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            refreshMenuItem.setIcon(R.drawable.close_night);
                         } else {
-                            refreshMenuItem.setIcon(R.drawable.close_light);
+                            refreshMenuItem.setIcon(R.drawable.close_day);
                         }
                     }
                 }
@@ -6094,14 +6006,17 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
                     // Get the app bar and theme preferences.
                     boolean displayAdditionalAppBarIcons = sharedPreferences.getBoolean("display_additional_app_bar_icons", false);
-                    boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
 
-                    // If the icon is displayed in the AppBar, reset it according to the theme.
+                    // If the icon is displayed in the app bar, reset it according to the theme.
                     if (displayAdditionalAppBarIcons) {
-                        if (darkTheme) {
-                            refreshMenuItem.setIcon(R.drawable.refresh_enabled_dark);
+                        // Get the current theme status.
+                        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
+                        // Set the icon according to the theme.
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            refreshMenuItem.setIcon(R.drawable.refresh_enabled_night);
                         } else {
-                            refreshMenuItem.setIcon(R.drawable.refresh_enabled_light);
+                            refreshMenuItem.setIcon(R.drawable.refresh_enabled_day);
                         }
                     }
                 }
index c7be71c5283b14995bf391c32df1568b8a6008eb..2adeb318a54a7b8410d40a17aa24395969f9dcfe 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2018-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2018-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -60,21 +60,16 @@ public class RequestsActivity extends AppCompatActivity implements ViewRequestDi
         // Get a handle for the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 
-        // Get the screenshot and theme preferences.
+        // Get the screenshot preference.
         boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
 
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
         }
 
-        // Set the activity theme.
-        if (darkTheme) {
-            setTheme(R.style.PrivacyBrowserDark_SecondaryActivity);
-        } else {
-            setTheme(R.style.PrivacyBrowserLight_SecondaryActivity);
-        }
+        // Set the theme.
+        setTheme(R.style.PrivacyBrowser);
 
         // Run the default commands.
         super.onCreate(savedInstanceState);
index 7119b0f7958be10c507b322524388ae265ca3620..b306cc1225411b055a2a93c8e38d55e843a6fedd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -37,19 +37,14 @@ public class SettingsActivity extends AppCompatActivity {
 
         // Get the screenshot and theme preferences.
         boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
 
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
         }
 
-        // Set the activity theme.
-        if (darkTheme) {
-            setTheme(R.style.PrivacyBrowserSettingsDark);
-        } else {
-            setTheme(R.style.PrivacyBrowserSettingsLight);
-        }
+        // Set the theme.
+        setTheme(R.style.PrivacyBrowserSettings);
 
         // Run the default commands.
         super.onCreate(savedInstanceState);
index a0f51d14b7a2853f31fd5df68ab08d151f42079b..51036fbc38bc82cf46b6d87fd97c070b275a6d90 100644 (file)
@@ -23,10 +23,12 @@ import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
 import android.text.Spanned;
 import android.text.style.ForegroundColorSpan;
+import android.util.TypedValue;
 import android.view.KeyEvent;
 import android.view.Menu;
 import android.view.MenuItem;
@@ -61,9 +63,8 @@ public class ViewSourceActivity extends AppCompatActivity {
         // Get a handle for the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
 
-        // Get the screenshot and theme preferences.
+        // Get the screenshot preference.
         boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
 
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
@@ -71,11 +72,7 @@ public class ViewSourceActivity extends AppCompatActivity {
         }
 
         // Set the theme.
-        if (darkTheme) {
-            setTheme(R.style.PrivacyBrowserDark);
-        } else {
-            setTheme(R.style.PrivacyBrowserLight);
-        }
+        setTheme(R.style.PrivacyBrowser);
 
         // Run the default commands.
         super.onCreate(savedInstanceState);
@@ -189,14 +186,28 @@ public class ViewSourceActivity extends AppCompatActivity {
             }
         });
 
-        // Set the swipe to refresh color according to the theme.
-        if (darkTheme) {
-            swipeRefreshLayout.setColorSchemeResources(R.color.blue_600);
-            swipeRefreshLayout.setProgressBackgroundColorSchemeResource(R.color.gray_800);
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
+        // Set the refresh color scheme according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+            swipeRefreshLayout.setColorSchemeResources(R.color.blue_500);
         } else {
             swipeRefreshLayout.setColorSchemeResources(R.color.blue_700);
         }
 
+        // Initialize a color background typed value.
+        TypedValue colorBackgroundTypedValue = new TypedValue();
+
+        // Get the color background from the theme.
+        getTheme().resolveAttribute(android.R.attr.colorBackground, colorBackgroundTypedValue, true);
+
+        // Get the color background int from the typed value.
+        int colorBackgroundInt = colorBackgroundTypedValue.data;
+
+        // Set the swipe refresh background color.
+        swipeRefreshLayout.setProgressBackgroundColorSchemeColor(colorBackgroundInt);
+
         // Get the source using an AsyncTask if the URL begins with `http`.
         if ((currentUrl != null) && currentUrl.startsWith("http")) {
             new GetSource(this, this, userAgent).execute(currentUrl);
index edc64f810678699d612d953d91e31ecb689444af..fcccba4861caf0f0388f084a466ffbdf25015ed0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2018-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2018-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -20,8 +20,7 @@
 package com.stoutner.privacybrowser.adapters;
 
 import android.content.Context;
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
+import android.content.res.Configuration;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -45,12 +44,6 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
     @Override
     @NonNull
     public View getView(int position, View view, @NonNull ViewGroup parent) {
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
         // Get a handle for the context.
         Context context = getContext();
 
@@ -73,6 +66,9 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
         // The ID is one greater than the position because it is 0 based.
         int id = position + 1;
 
+        // Get the current theme status.
+        int currentThemeStatus = context.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
         // Set the action text and the background color.
         switch (entryStringArray[0]) {
             case BlocklistHelper.REQUEST_DEFAULT:
@@ -94,7 +90,7 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
                 dispositionTextView.setText(requestAllowed);
 
                 // Set the background color.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     linearLayout.setBackgroundColor(context.getResources().getColor(R.color.blue_700_50));
                 } else {
                     linearLayout.setBackgroundColor(context.getResources().getColor(R.color.blue_100));
@@ -109,7 +105,7 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
                 dispositionTextView.setText(requestThirdParty);
 
                 // Set the background color.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     linearLayout.setBackgroundColor(context.getResources().getColor(R.color.yellow_700_50));
                 } else {
                     linearLayout.setBackgroundColor(context.getResources().getColor(R.color.yellow_100));
@@ -125,7 +121,7 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
                 dispositionTextView.setText(requestBlocked);
 
                 // Set the background color.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     linearLayout.setBackgroundColor(context.getResources().getColor(R.color.red_700_40));
                 } else {
                     linearLayout.setBackgroundColor(context.getResources().getColor(R.color.red_100));
@@ -137,7 +133,7 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
         urlTextView.setText(entryStringArray[1]);
 
         // Set the text color.  For some unexplained reason, `android:textColor="?android:textColorPrimary"` doesn't work in the layout file.  Probably some bug relating to array adapters.
-        if (darkTheme) {
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
             dispositionTextView.setTextColor(context.getResources().getColor(R.color.gray_200));
             urlTextView.setTextColor(context.getResources().getColor(R.color.gray_200));
         } else {
index 5f0020d0403c9e994e68e448586385207d3465c6..46c3a039f4ad4a578e43fb94a7509f4c819426d6 100644 (file)
 
 package com.stoutner.privacybrowser.asynctasks;
 
-import android.app.AlertDialog;
 import android.content.Context;
 import android.os.AsyncTask;
 import android.webkit.CookieManager;
 import android.widget.TextView;
 
+import androidx.appcompat.app.AlertDialog;
+
 import com.stoutner.privacybrowser.R;
 import com.stoutner.privacybrowser.helpers.ProxyHelper;
 
@@ -164,6 +165,9 @@ public class GetUrlSize extends AsyncTask<String, Void, String> {
         // Get a handle for the file size text view.
         TextView fileSizeTextView = alertDialog.findViewById(R.id.file_size_textview);
 
+        // Remove the incorrect warning below that the file size text view might be null.
+        assert fileSizeTextView != null;
+
         // Update the file size.
         fileSizeTextView.setText(fileSize);
     }
index 30bcf8d0e1d0212d24b1d27db16c948d6fabd520..70247f052bf5e333e34e536da370010472345d9c 100644 (file)
 
 package com.stoutner.privacybrowser.dialogs
 
-import android.app.AlertDialog
 import android.app.Dialog
+import android.content.res.Configuration
 import android.os.Bundle
 import android.view.WindowManager
 
+import androidx.appcompat.app.AlertDialog
 import androidx.fragment.app.DialogFragment
 import androidx.preference.PreferenceManager
 
@@ -31,29 +32,19 @@ import com.stoutner.privacybrowser.R
 
 class AboutViewSourceDialog: DialogFragment() {
     override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
-        // Get a handle for the shared preferences.
-        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
-
-        // Get the screenshot and theme preferences.
-        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
-        val darkTheme = sharedPreferences.getBoolean("dark_theme", false)
-
         // Use a builder to create the alert dialog.
-        val dialogBuilder: AlertDialog.Builder
+        val dialogBuilder: AlertDialog.Builder = AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog)
 
-        // Set the style and the icon according to the theme.
-        if (darkTheme) {
-            // Use a dark style.
-            dialogBuilder = AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogDark)
+        // Get the current theme status.
+        val currentThemeStatus = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
 
+        // Set the style and the icon according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
             // Set a dark icon.
-            dialogBuilder.setIcon(R.drawable.about_dark)
+            dialogBuilder.setIcon(R.drawable.about_night)
         } else {
-            // Use a light style.
-            dialogBuilder = AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogLight)
-
             // Set a light icon.
-            dialogBuilder.setIcon(R.drawable.about_light)
+            dialogBuilder.setIcon(R.drawable.about_day)
         }
 
         // Set the title.
@@ -68,6 +59,12 @@ class AboutViewSourceDialog: DialogFragment() {
         // Create an alert dialog from the alert dialog builder.
         val alertDialog = dialogBuilder.create()
 
+        // Get a handle for the shared preferences.
+        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
+
+        // Get the screenshot preference.
+        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.window!!.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
index 8b56f2d479eb78fec3e89435943478112013aebb..527e0d7d031996f66b9e3a5a7de439158f462368 100644 (file)
 package com.stoutner.privacybrowser.dialogs
 
 import android.annotation.SuppressLint
-import android.app.AlertDialog
 import android.app.Dialog
 import android.content.Context
 import android.content.DialogInterface
+import android.content.res.Configuration
 import android.net.Uri
 import android.os.Bundle
 import android.text.Editable
@@ -34,6 +34,7 @@ import android.view.WindowManager
 import android.widget.EditText
 import android.widget.TextView
 
+import androidx.appcompat.app.AlertDialog
 import androidx.fragment.app.DialogFragment
 import androidx.preference.PreferenceManager
 
@@ -87,27 +88,17 @@ class AddDomainDialog: DialogFragment() {
         // Get the URL from the bundle.
         val urlString = arguments.getString("url_string")
 
-        // Get a handle for the shared preferences.
-        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
-
-        // Get the screenshot and theme preferences.
-        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
-        val darkTheme = sharedPreferences.getBoolean("dark_theme", false)
-
         // Use an alert dialog builder to create the alert dialog.
-        val dialogBuilder: AlertDialog.Builder
+        val dialogBuilder: AlertDialog.Builder = AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog)
 
-        // USet the style and the icon according to the theme.
-        if (darkTheme) {
-            // Set the dark style.
-            dialogBuilder = AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogDark)
+        // Get the current theme status.
+        val currentThemeStatus = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK
 
+        // Set the icon according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
             // Set the dark icon.
-            dialogBuilder.setIcon(R.drawable.domains_dark)
+            dialogBuilder.setIcon(R.drawable.domains_night)
         } else {
-            // Set the light style.
-            dialogBuilder = AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogLight)
-
             // Set the light icon.
             dialogBuilder.setIcon(R.drawable.domains_light)
         }
@@ -130,6 +121,12 @@ class AddDomainDialog: DialogFragment() {
         // Create an alert dialog from the builder.
         val alertDialog = dialogBuilder.create()
 
+        // Get a handle for the shared preferences.
+        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
+
+        // Get the screenshot preference.
+        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.window!!.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
@@ -142,8 +139,8 @@ class AddDomainDialog: DialogFragment() {
         val domainsDatabaseHelper = DomainsDatabaseHelper(context, null, null, 0)
 
         // Get handles for the views in the alert dialog.
-        val addDomainEditText = alertDialog.findViewById<EditText>(R.id.domain_name_edittext)
-        val domainNameAlreadyExistsTextView = alertDialog.findViewById<TextView>(R.id.domain_name_already_exists_textview)
+        val addDomainEditText = alertDialog.findViewById<EditText>(R.id.domain_name_edittext)!!
+        val domainNameAlreadyExistsTextView = alertDialog.findViewById<TextView>(R.id.domain_name_already_exists_textview)!!
         val addButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE)
 
         //  Update the status of the warning text and the add button when the domain name changes.
index 0b1dea00386ccc572f98b4071e26205a55616750..a10e574a5a003ff012849fb6a1ce5e77373e0929 100644 (file)
@@ -20,7 +20,6 @@
 package com.stoutner.privacybrowser.dialogs
 
 import android.annotation.SuppressLint
-import android.app.AlertDialog
 import android.app.Dialog
 import android.content.Context
 import android.content.DialogInterface
@@ -34,6 +33,7 @@ import android.view.View
 import android.view.WindowManager
 import android.widget.EditText
 
+import androidx.appcompat.app.AlertDialog
 import androidx.fragment.app.DialogFragment
 import androidx.preference.PreferenceManager
 
@@ -104,19 +104,8 @@ class CreateBookmarkDialog: DialogFragment() {
         // Convert the favorite icon byte array to a bitmap.
         val favoriteIconBitmap = BitmapFactory.decodeByteArray(favoriteIconByteArray, 0, favoriteIconByteArray.size)
 
-        // Get a handle for the shared preferences.
-        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
-
-        // Get the screenshot and theme preferences.
-        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
-        val darkTheme = sharedPreferences.getBoolean("dark_theme", false)
-
-        // Use an alert dialog builder to create the dialog and set the style according to the theme.
-        val dialogBuilder = if (darkTheme) {
-            AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogDark)
-        } else {
-            AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogLight)
-        }
+        // Use an alert dialog builder to create the dialog.
+        val dialogBuilder = AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog)
 
         // Set the title.
         dialogBuilder.setTitle(R.string.create_bookmark)
@@ -142,6 +131,13 @@ class CreateBookmarkDialog: DialogFragment() {
         // Create an alert dialog from the builder.
         val alertDialog = dialogBuilder.create()
 
+
+        // Get a handle for the shared preferences.
+        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
+
+        // Get the screenshot preference.
+        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.window!!.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
@@ -151,8 +147,8 @@ class CreateBookmarkDialog: DialogFragment() {
         alertDialog.show()
 
         // Get a handle for the edit texts.
-        val createBookmarkNameEditText = alertDialog.findViewById<EditText>(R.id.create_bookmark_name_edittext)
-        val createBookmarkUrlEditText = alertDialog.findViewById<EditText>(R.id.create_bookmark_url_edittext)
+        val createBookmarkNameEditText = alertDialog.findViewById<EditText>(R.id.create_bookmark_name_edittext)!!
+        val createBookmarkUrlEditText = alertDialog.findViewById<EditText>(R.id.create_bookmark_url_edittext)!!
 
         // Set the initial texts for the edit texts.
         createBookmarkNameEditText.setText(titleString)
index d4f12193d153346f13bc4022f9fdf3d9363d8e3d..83670bc8923b66b1ddb5fc0f8244b6efc042287f 100644 (file)
@@ -19,7 +19,6 @@
 package com.stoutner.privacybrowser.dialogs
 
 import android.annotation.SuppressLint
-import android.app.AlertDialog
 import android.app.Dialog
 import android.content.Context
 import android.content.DialogInterface
@@ -33,6 +32,7 @@ import android.view.View
 import android.view.WindowManager
 import android.widget.EditText
 import android.widget.ImageView
+import androidx.appcompat.app.AlertDialog
 
 import androidx.fragment.app.DialogFragment
 import androidx.preference.PreferenceManager
@@ -101,19 +101,8 @@ class CreateBookmarkFolderDialog: DialogFragment() {
         // Convert the favorite icon byte array to a bitmap.
         val favoriteIconBitmap = BitmapFactory.decodeByteArray(favoriteIconByteArray, 0, favoriteIconByteArray.size)
 
-        // Get a handle for the shared preferences.
-        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
-
-        // Get the screenshot and theme preferences.
-        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
-        val darkTheme = sharedPreferences.getBoolean("dark_theme", false)
-
-        // Use an alert dialog builder to create the dialog and set the style according to the theme.
-        val dialogBuilder = if (darkTheme) {
-            AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogDark)
-        } else {
-            AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogLight)
-        }
+        // Use an alert dialog builder to create the dialog.
+        val dialogBuilder = AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog)
 
         // Set the title.
         dialogBuilder.setTitle(R.string.create_folder)
@@ -133,6 +122,12 @@ class CreateBookmarkFolderDialog: DialogFragment() {
         // Create an alert dialog from the builder.
         val alertDialog = dialogBuilder.create()
 
+        // Get a handle for the shared preferences.
+        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
+
+        // Get the screenshot preference.
+        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.window!!.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
@@ -145,8 +140,8 @@ class CreateBookmarkFolderDialog: DialogFragment() {
         alertDialog.show()
 
         // Get handles for the views in the dialog.
-        val webPageIconImageView = alertDialog.findViewById<ImageView>(R.id.create_folder_web_page_icon)
-        val folderNameEditText = alertDialog.findViewById<EditText>(R.id.create_folder_name_edittext)
+        val webPageIconImageView = alertDialog.findViewById<ImageView>(R.id.create_folder_web_page_icon)!!
+        val folderNameEditText = alertDialog.findViewById<EditText>(R.id.create_folder_name_edittext)!!
         val createButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE)
 
         // Display the current favorite icon.
index ddcc72ccd575f37381cfddf9c881c7d8ddaca76a..69be19d27344fe231a9c3944e75c7423b6ce353c 100644 (file)
@@ -104,19 +104,8 @@ class CreateHomeScreenShortcutDialog: DialogFragment() {
         // Convert the favorite icon byte array to a bitmap.
         val favoriteIconBitmap = BitmapFactory.decodeByteArray(favoriteIconByteArray, 0, favoriteIconByteArray.size)
 
-        // Get a handle for the shared preferences.
-        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
-
-        // Get the theme and screenshot preferences.
-        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
-        val darkTheme = sharedPreferences.getBoolean("dark_theme", false)
-
-        // Use an alert dialog builder to create the dialog and set the style according to the theme.
-        val dialogBuilder = if (darkTheme) {
-            AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialogDark)
-        } else {
-            AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialogLight)
-        }
+        // Use an alert dialog builder to create the dialog.
+        val dialogBuilder = AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog)
 
         // Create a drawable version of the favorite icon.
         val favoriteIconDrawable: Drawable = BitmapDrawable(resources, favoriteIconBitmap)
@@ -140,6 +129,12 @@ class CreateHomeScreenShortcutDialog: DialogFragment() {
         // Create an alert dialog from the alert dialog builder.
         val alertDialog = dialogBuilder.create()
 
+        // Get a handle for the shared preferences.
+        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
+
+        // Get the screenshot preference.
+        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.window!!.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
index 57f764be844710cfcf724a9500c808864e51d469..4de3543173402cdd18c9d8fef528c161a9c3a610 100644 (file)
@@ -19,7 +19,6 @@
 package com.stoutner.privacybrowser.dialogs
 
 import android.annotation.SuppressLint
-import android.app.AlertDialog
 import android.app.Dialog
 import android.content.Context
 import android.content.DialogInterface
@@ -37,6 +36,7 @@ import android.view.WindowManager
 import android.widget.*
 import android.widget.AdapterView.OnItemSelectedListener
 
+import androidx.appcompat.app.AlertDialog
 import androidx.core.content.ContextCompat
 import androidx.fragment.app.DialogFragment
 import androidx.preference.PreferenceManager
@@ -127,19 +127,8 @@ class EditBookmarkDatabaseViewDialog: DialogFragment() {
         // Move the cursor to the first position.
         bookmarkCursor.moveToFirst()
 
-        // Get a handle for the shared preferences.
-        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
-
-        // Get the screenshot and theme preferences.
-        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
-        val darkTheme = sharedPreferences.getBoolean("dark_theme", false)
-
         // Use an alert dialog builder to create the dialog and set the style according to the theme.
-        val dialogBuilder = if (darkTheme) {
-            AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogDark)
-        } else {
-            AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialogLight)
-        }
+        val dialogBuilder = AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog)
 
         // Set the title.
         dialogBuilder.setTitle(R.string.edit_bookmark)
@@ -159,6 +148,12 @@ class EditBookmarkDatabaseViewDialog: DialogFragment() {
         // Create an alert dialog from the alert dialog builder.
         val alertDialog = dialogBuilder.create()
 
+        // Get a handle for the shared preferences.
+        val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
+
+        // Get the screenshot preference.
+        val allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false)
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.window!!.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
@@ -168,15 +163,15 @@ class EditBookmarkDatabaseViewDialog: DialogFragment() {
         alertDialog.show()
 
         // Get handles for the layout items.
-        val databaseIdTextView = alertDialog.findViewById<TextView>(R.id.edit_bookmark_database_id_textview)
-        val iconRadioGroup = alertDialog.findViewById<RadioGroup>(R.id.edit_bookmark_icon_radiogroup)
-        val currentIconImageView = alertDialog.findViewById<ImageView>(R.id.edit_bookmark_current_icon)
-        val newFavoriteIconImageView = alertDialog.findViewById<ImageView>(R.id.edit_bookmark_webpage_favorite_icon)
-        newIconRadioButton = alertDialog.findViewById(R.id.edit_bookmark_webpage_favorite_icon_radiobutton)
-        nameEditText = alertDialog.findViewById(R.id.edit_bookmark_name_edittext)
-        urlEditText = alertDialog.findViewById(R.id.edit_bookmark_url_edittext)
-        folderSpinner = alertDialog.findViewById(R.id.edit_bookmark_folder_spinner)
-        displayOrderEditText = alertDialog.findViewById(R.id.edit_bookmark_display_order_edittext)
+        val databaseIdTextView = alertDialog.findViewById<TextView>(R.id.edit_bookmark_database_id_textview)!!
+        val iconRadioGroup = alertDialog.findViewById<RadioGroup>(R.id.edit_bookmark_icon_radiogroup)!!
+        val currentIconImageView = alertDialog.findViewById<ImageView>(R.id.edit_bookmark_current_icon)!!
+        val newFavoriteIconImageView = alertDialog.findViewById<ImageView>(R.id.edit_bookmark_webpage_favorite_icon)!!
+        newIconRadioButton = alertDialog.findViewById(R.id.edit_bookmark_webpage_favorite_icon_radiobutton)!!
+        nameEditText = alertDialog.findViewById(R.id.edit_bookmark_name_edittext)!!
+        urlEditText = alertDialog.findViewById(R.id.edit_bookmark_url_edittext)!!
+        folderSpinner = alertDialog.findViewById(R.id.edit_bookmark_folder_spinner)!!
+        displayOrderEditText = alertDialog.findViewById(R.id.edit_bookmark_display_order_edittext)!!
         editButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE)
 
         // Store the current bookmark values.
index adf6d44e39946801f741f205436f889efd1b49f5..df4a1a14e2e175fceeeaf6f9690bb1711692824c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -20,7 +20,6 @@
 package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -42,7 +41,8 @@ import android.widget.RadioButton;
 import android.widget.RadioGroup;
 
 import androidx.annotation.NonNull;
-import androidx.fragment.app.DialogFragment;  // The AndroidX dialog fragment must be used or an error is produced on API <=22.
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
 
 import com.stoutner.privacybrowser.R;
 import com.stoutner.privacybrowser.helpers.BookmarksDatabaseHelper;
@@ -125,21 +125,7 @@ public class EditBookmarkDialog extends DialogFragment {
         bookmarkCursor.moveToFirst();
 
         // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
-
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
-        // Set the style according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
-        } else {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
-        }
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog);
 
         // Set the title.
         dialogBuilder.setTitle(R.string.edit_bookmark);
@@ -167,6 +153,12 @@ public class EditBookmarkDialog extends DialogFragment {
         // remove the incorrect lint warning below that `getWindow().addFlags()` might be null.
         assert alertDialog.getWindow() != null;
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
@@ -183,6 +175,13 @@ public class EditBookmarkDialog extends DialogFragment {
         EditText urlEditText = alertDialog.findViewById(R.id.edit_bookmark_url_edittext);
         Button editButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
 
+        // Remove the incorrect lint warnings below that the views might be null.
+        assert iconRadioGroup != null;
+        assert currentIconImageView != null;
+        assert newFavoriteIconImageView != null;
+        assert nameEditText != null;
+        assert urlEditText != null;
+
         // Get the current favorite icon byte array from the cursor.
         byte[] currentIconByteArray = bookmarkCursor.getBlob(bookmarkCursor.getColumnIndex(BookmarksDatabaseHelper.FAVORITE_ICON));
 
@@ -295,6 +294,11 @@ public class EditBookmarkDialog extends DialogFragment {
         RadioButton newIconRadioButton = alertdialog.findViewById(R.id.edit_bookmark_webpage_favorite_icon_radiobutton);
         Button editButton = alertdialog.getButton(AlertDialog.BUTTON_POSITIVE);
 
+        // Remove the incorrect lint warnings below that the views might be null.
+        assert nameEditText != null;
+        assert urlEditText != null;
+        assert newIconRadioButton != null;
+
         // Get the text from the edit texts.
         String newName = nameEditText.getText().toString();
         String newUrl = urlEditText.getText().toString();
index 0f7eff1a7ee12ba00e092b6a525f1c5123cb7e74..7960c68a73620f1e56e811ab268777833572d999 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -20,7 +20,6 @@
 package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -50,6 +49,7 @@ import android.widget.Spinner;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.core.content.ContextCompat;
 import androidx.fragment.app.DialogFragment;  // The AndroidX dialog fragment must be used or an error is produced on API <=22.
 
@@ -136,21 +136,7 @@ public class EditBookmarkFolderDatabaseViewDialog extends DialogFragment {
         folderCursor.moveToFirst();
 
         // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
-
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
-        // Set the style according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
-        } else {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
-        }
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog);
 
         // Set the title.
         dialogBuilder.setTitle(R.string.edit_folder);
@@ -178,6 +164,12 @@ public class EditBookmarkFolderDatabaseViewDialog extends DialogFragment {
         // Remove the warning below that `getWindow()` might be null.
         assert alertDialog.getWindow() != null;
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
@@ -196,6 +188,15 @@ public class EditBookmarkFolderDatabaseViewDialog extends DialogFragment {
         EditText displayOrderEditText = alertDialog.findViewById(R.id.edit_folder_display_order_edittext);
         Button editButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
 
+        // Remove the incorrect lint warnings below that the views might be null.
+        assert databaseIdTextView != null;
+        assert iconRadioGroup != null;
+        assert currentIconImageView != null;
+        assert newFavoriteIconImageView != null;
+        assert nameEditText != null;
+        assert folderSpinner != null;
+        assert displayOrderEditText != null;
+
         // Store the current folder values.
         String currentFolderName = folderCursor.getString(folderCursor.getColumnIndex(BookmarksDatabaseHelper.BOOKMARK_NAME));
         int currentDisplayOrder = folderCursor.getInt(folderCursor.getColumnIndex(BookmarksDatabaseHelper.DISPLAY_ORDER));
@@ -410,6 +411,12 @@ public class EditBookmarkFolderDatabaseViewDialog extends DialogFragment {
         RadioButton currentIconRadioButton = alertDialog.findViewById(R.id.edit_folder_current_icon_radiobutton);
         Button editButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
 
+        // Remove the incorrect lint warning below that the views might be null.
+        assert nameEditText != null;
+        assert folderSpinner != null;
+        assert displayOrderEditText != null;
+        assert currentIconRadioButton != null;
+
         // Get the values from the dialog.
         String newFolderName = nameEditText.getText().toString();
         int newParentFolderDatabaseId = (int) folderSpinner.getSelectedItemId();
index 230abd3491614d4e6395d60615370f5eb28bfb51..216f0d3833d256a00442086e09e10aab2c1224a2 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -20,7 +20,6 @@
 package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -42,6 +41,7 @@ import android.widget.RadioButton;
 import android.widget.RadioGroup;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;  // The AndroidX dialog fragment must be used or an error is produced on API <=22.
 
 import com.stoutner.privacybrowser.R;
@@ -125,21 +125,7 @@ public class EditBookmarkFolderDialog extends DialogFragment {
         folderCursor.moveToFirst();
 
         // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
-
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
-        // Set the style according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
-        } else {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
-        }
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog);
 
         // Set the title.
         dialogBuilder.setTitle(R.string.edit_folder);
@@ -167,6 +153,12 @@ public class EditBookmarkFolderDialog extends DialogFragment {
         // Remove the warning below that `getWindow()` might be null.
         assert alertDialog.getWindow() != null;
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
@@ -183,6 +175,13 @@ public class EditBookmarkFolderDialog extends DialogFragment {
         EditText folderNameEditText = alertDialog.findViewById(R.id.edit_folder_name_edittext);
         Button editButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
 
+        // Remove the incorrect lint warnings below that the views might be null.
+        assert iconRadioGroup != null;
+        assert currentIconRadioButton != null;
+        assert currentIconImageView != null;
+        assert webPageFavoriteIconImageView != null;
+        assert folderNameEditText != null;
+
         // Initially disable the edit button.
         editButton.setEnabled(false);
 
index 2349189c2909118d120fedb484c28990d524a8fd..7a0e07ebf91647af0a27e1f8e68ccb096a36451c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2019-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -21,11 +21,11 @@ package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
 import android.app.Activity;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.os.Bundle;
 import android.view.KeyEvent;
 import android.view.View;
@@ -34,6 +34,7 @@ import android.view.WindowManager;
 import android.widget.EditText;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;
 import androidx.preference.PreferenceManager;
 
@@ -87,9 +88,6 @@ public class FontSizeDialog extends DialogFragment {
         assert activity != null;
         assert context != null;
 
-        // Use a builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
-
         // Get the arguments.
         Bundle arguments = getArguments();
 
@@ -99,20 +97,17 @@ public class FontSizeDialog extends DialogFragment {
         // Get the current font size.
         int currentFontSize = arguments.getInt("font_size");
 
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+        // Use a builder to create the alert dialog.
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialog);
 
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
-        // Set the style and icon according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogDark);
-            dialogBuilder.setIcon(R.drawable.font_size_dark);
+        // Set the icon according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+            dialogBuilder.setIcon(R.drawable.font_size_night);
         } else {
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogLight);
-            dialogBuilder.setIcon(R.drawable.font_size_light);
+            dialogBuilder.setIcon(R.drawable.font_size_day);
         }
 
         // Set the title.
@@ -139,6 +134,12 @@ public class FontSizeDialog extends DialogFragment {
         // Remove the incorrect lint warning below that the dialog window might be null.
         assert dialogWindow != null;
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+
+        // Get the screenshot preferences.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             dialogWindow.addFlags(WindowManager.LayoutParams.FLAG_SECURE);
@@ -153,6 +154,9 @@ public class FontSizeDialog extends DialogFragment {
         // Get a handle for the font size edit text.
         EditText fontSizeEditText = alertDialog.findViewById(R.id.font_size_edittext);
 
+        // Remove the incorrect lint warning below that the edit text might be null.
+        assert fontSizeEditText != null;
+
         // Display the current font size.
         fontSizeEditText.setText(String.valueOf(currentFontSize));
 
index 4b68108987b22d62484d5ac0627c882c4832869a..20e04a4b5d41b5f288d3ed37ed5642e23dbe5bad 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
 package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.DialogInterface;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
 import android.text.SpannableStringBuilder;
@@ -39,7 +39,8 @@ import android.widget.EditText;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
-import androidx.fragment.app.DialogFragment;  // The AndroidX dialog fragment must be used or an error is produced on API <=22.
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
 
 import com.stoutner.privacybrowser.R;
 import com.stoutner.privacybrowser.activities.MainWebViewActivity;
@@ -111,28 +112,16 @@ public class HttpAuthenticationDialog extends DialogFragment{
         LayoutInflater layoutInflater = getActivity().getLayoutInflater();
 
         // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialog);
 
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
-        // Set the style according to the theme.
-        if (darkTheme) {
-            // Set the dialog theme.
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
-            // Set the icon.
-            dialogBuilder.setIcon(R.drawable.lock_dark);
+        // Set the icon according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+            dialogBuilder.setIcon(R.drawable.lock_night);
         } else {
-            // Set the dialog theme.
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
-
-            // Set the icon.
-            dialogBuilder.setIcon(R.drawable.lock_light);
+            dialogBuilder.setIcon(R.drawable.lock_day);
         }
 
         // Set the title.
@@ -168,6 +157,12 @@ public class HttpAuthenticationDialog extends DialogFragment{
         // Remove the incorrect lint warning below that the dialog window might be null.
         assert dialogWindow != null;
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
@@ -185,11 +180,15 @@ public class HttpAuthenticationDialog extends DialogFragment{
         usernameEditText = alertDialog.findViewById(R.id.http_authentication_username);
         passwordEditText = alertDialog.findViewById(R.id.http_authentication_password);
 
+        // Remove the incorrect lint warnings below that the views might be null.
+        assert realmTextView != null;
+        assert hostTextView != null;
+
         // Set the realm text.
         realmTextView.setText(httpAuthRealm);
 
-        // Set the realm text color according to the theme.  The deprecated `.getColor()` must be used until API >= 23.
-        if (darkTheme) {
+        // Set the realm text color according to the theme.  The deprecated `getResources()` must be used until API >= 23.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
             realmTextView.setTextColor(getResources().getColor(R.color.gray_300));
         } else {
             realmTextView.setTextColor(getResources().getColor(R.color.black));
@@ -202,8 +201,8 @@ public class HttpAuthenticationDialog extends DialogFragment{
         // Create a blue `ForegroundColorSpan`.
         ForegroundColorSpan blueColorSpan;
 
-        // Set `blueColorSpan` according to the theme.  The deprecated `getColor()` must be used until API >= 23.
-        if (darkTheme) {
+        // Set `blueColorSpan` according to the theme.  The deprecated `getResources()` must be used until API >= 23.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
             blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_400));
         } else {
             blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_700));
index cf944c04a8ce381f85542f17e6186c1576fb2974..2406e95af31d69582f8fe7606cbe1d9e543c88f8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -20,7 +20,6 @@
 package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -46,8 +45,9 @@ import android.widget.ListView;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.core.content.ContextCompat;
-import androidx.fragment.app.DialogFragment;  // The AndroidX dialog fragment must be used or an error is produced on API <= 22.
+import androidx.fragment.app.DialogFragment;
 
 import com.stoutner.privacybrowser.R;
 import com.stoutner.privacybrowser.activities.BookmarksActivity;
@@ -83,21 +83,7 @@ public class MoveToFolderDialog extends DialogFragment {
         bookmarksDatabaseHelper = new BookmarksDatabaseHelper(getContext(), null, null, 0);
 
         // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
-
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
-        // Set the style according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
-        } else {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
-        }
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog);
 
         // Set the title.
         dialogBuilder.setTitle(R.string.move_to_folder);
@@ -122,6 +108,12 @@ public class MoveToFolderDialog extends DialogFragment {
         // Create an alert dialog from the alert dialog builder.
         final AlertDialog alertDialog = dialogBuilder.create();
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             // Remove the warning below that `getWindow()` might be null.
@@ -278,8 +270,13 @@ public class MoveToFolderDialog extends DialogFragment {
             };
         }
 
-        // Display the ListView
+        // Get a handle for the folders list view.
         ListView foldersListView = alertDialog.findViewById(R.id.move_to_folder_listview);
+
+        // Remove the incorrect lint warning below that the view might be null.
+        assert foldersListView != null;
+
+        // Set the folder list view adapter.
         foldersListView.setAdapter(foldersCursorAdapter);
 
         // Enable the move button when a folder is selected.
index 59aa177ba945c1fa58288357987a22c69570bfa9..43594860a3d16508e4f0fe2b98035b44c3de8c74 100644 (file)
@@ -22,13 +22,13 @@ package com.stoutner.privacybrowser.dialogs;
 import android.Manifest;
 import android.annotation.SuppressLint;
 import android.app.Activity;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
+import android.content.res.Configuration;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Environment;
@@ -42,6 +42,7 @@ import android.widget.EditText;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.core.content.ContextCompat;
 import androidx.fragment.app.DialogFragment;
 import androidx.preference.PreferenceManager;
@@ -76,36 +77,20 @@ public class OpenDialog extends DialogFragment {
     @NonNull
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         // Get a handle for the activity and the context.
-        Activity activity = getActivity();
-        Context context = getContext();
-
-        // Remove the incorrect lint warnings below that the activity and the context might be null.
-        assert activity != null;
-        assert context != null;
-
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+        Activity activity = requireActivity();
+        Context context = requireContext();
 
         // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialog);
 
-        // Set the style and icon according to the theme.
-        if (darkTheme) {
-            // Set the style.
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogDark);
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
-            // Set the icon.
-            dialogBuilder.setIcon(R.drawable.proxy_enabled_dark);
+        // Set the icon according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+            dialogBuilder.setIcon(R.drawable.proxy_enabled_night);
         } else {
-            // Set the style.
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogLight);
-
-            // Set the icon.
-            dialogBuilder.setIcon(R.drawable.proxy_enabled_light);
+            dialogBuilder.setIcon(R.drawable.proxy_enabled_day);
         }
 
         // Set the title.
@@ -129,6 +114,12 @@ public class OpenDialog extends DialogFragment {
         // Remove the incorrect lint warning below that the window might be null.
         assert alertDialog.getWindow() != null;
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
@@ -144,6 +135,12 @@ public class OpenDialog extends DialogFragment {
         TextView storagePermissionTextView = alertDialog.findViewById(R.id.storage_permission_textview);
         Button openButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
 
+        // Remove the incorrect lint warnings below that the views might be null.
+        assert fileNameEditText != null;
+        assert browseButton != null;
+        assert fileDoesNotExistTextView != null;
+        assert storagePermissionTextView != null;
+
         // Update the status of the open button when the file name changes.
         fileNameEditText.addTextChangedListener(new TextWatcher() {
             @Override
index 675f1e8a95712ca8029d02ec356b71545ac105f7..0ab49b4ce315dd444f8bdca45584348782ab5765 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
 package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.graphics.Bitmap;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
@@ -54,6 +54,7 @@ import java.util.ArrayList;
 import java.util.Date;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.core.content.ContextCompat;
 import androidx.fragment.app.DialogFragment;  // The AndroidX dialog fragment must be used or an error is produced on API <=22.
 import androidx.viewpager.widget.PagerAdapter;
@@ -129,23 +130,7 @@ public class PinnedMismatchDialog extends DialogFragment {
         nestedScrollWebView = fragmentView.findViewById(R.id.nestedscroll_webview);
 
         // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
-
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
-        // Set the style according to the theme.
-        if (darkTheme) {
-            // Set the dialog theme.
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
-        } else {
-            // Set the dialog theme.
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
-        }
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog);
 
         // Get the context.
         Context context = getContext();
@@ -170,11 +155,14 @@ public class PinnedMismatchDialog extends DialogFragment {
 
         // Set the favorite icon as the dialog icon if it exists.
         if (favoriteIconBitmap.sameAs(defaultFavoriteIconBitmap)) {  // There is no website favorite icon.
+            // Get the current theme status.
+            int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
             // Set the icon according to the theme.
-            if (darkTheme) {
-                dialogBuilder.setIcon(R.drawable.ssl_certificate_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                dialogBuilder.setIcon(R.drawable.ssl_certificate_enabled_night);
             } else {
-                dialogBuilder.setIcon(R.drawable.ssl_certificate_enabled_light);
+                dialogBuilder.setIcon(R.drawable.ssl_certificate_enabled_day);
             }
         } else {  // There is a favorite icon.
             // Create a drawable version of the favorite icon.
@@ -253,6 +241,12 @@ public class PinnedMismatchDialog extends DialogFragment {
         // Create an alert dialog from the alert dialog builder.
         final AlertDialog alertDialog = dialogBuilder.create();
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             // Remove the warning below that `getWindow()` might be null.
@@ -265,15 +259,21 @@ public class PinnedMismatchDialog extends DialogFragment {
         // Show the alert dialog so the items in the layout can be modified.
         alertDialog.show();
 
-        //  Setup the view pager.
+        //  Get a handle for the views.
         WrapVerticalContentViewPager wrapVerticalContentViewPager = alertDialog.findViewById(R.id.pinned_ssl_certificate_mismatch_viewpager);
+        TabLayout tabLayout = alertDialog.findViewById(R.id.pinned_ssl_certificate_mismatch_tablayout);
+
+        // Remove the incorrect lint warning below that the views might be null.
+        assert wrapVerticalContentViewPager != null;
+        assert tabLayout != null;
+
+        // Set the view pager adapter.
         wrapVerticalContentViewPager.setAdapter(new pagerAdapter());
 
-        // Setup the tab layout and connect it to the view pager.
-        TabLayout tabLayout = alertDialog.findViewById(R.id.pinned_ssl_certificate_mismatch_tablayout);
+        // Connect the tab layout to the view pager.
         tabLayout.setupWithViewPager(wrapVerticalContentViewPager);
 
-        // `onCreateDialog()` requires the return of an `AlertDialog`.
+        // Return the alert dialog.
         return alertDialog;
     }
 
@@ -424,23 +424,20 @@ public class PinnedMismatchDialog extends DialogFragment {
                 }
             }
 
-            // Get a handle for the shared preferences.
-            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-            // Get the screenshot and theme preferences.
-            boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
-            // Create a red foreground color span.  The deprecated `getResources().getColor` must be used until the minimum API >= 23.
-            ForegroundColorSpan redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_a700));
-
-            // Create a blue foreground color span.
+            // Define the color spans.
             ForegroundColorSpan blueColorSpan;
+            ForegroundColorSpan redColorSpan;
+
+            // Get the current theme status.
+            int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
-            // Set the blue color span according to the theme.  The deprecated `getResources().getColor` must be used until the minimum API >= 23.
-            if (darkTheme) {
+            // Set the color spans according to the theme.  The deprecated `getResources()` must be used until the minimum API >= 23.
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_400));
+                redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_900));
             } else {
                 blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_700));
+                redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_a700));
             }
 
             // Set the domain name to be blue.
index fa17c43909797d750070acd0dcdb317c0e633b4d..9b70e0d27338946916473f803f6195e0df25f723 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2019-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
 
 package com.stoutner.privacybrowser.dialogs;
 
-import android.app.Activity;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.os.Bundle;
 import android.view.WindowManager;
 
@@ -57,13 +57,8 @@ public class ProxyNotInstalledDialog extends DialogFragment {
     @Override
     @NonNull
     public Dialog onCreateDialog(Bundle savedInstanceState) {
-        // Get the context and the activity.
-        Context context = getContext();
-        Activity activity = getActivity();
-
-        // Remove the incorrect lint warnings below that the context or the activity might be null.
-        assert context != null;
-        assert activity != null;
+        // Get the context.
+        Context context = requireContext();
 
         // Get the arguments.
         Bundle arguments = getArguments();
@@ -74,32 +69,20 @@ public class ProxyNotInstalledDialog extends DialogFragment {
         // Get the proxy mode from the arguments.
         String proxyMode = arguments.getString("proxy_mode");
 
-        // Remove the incorrect lint warning below tha tth eproxy mode migth be null.
+        // Remove the incorrect lint warning below that the proxy mode might be null.
         assert proxyMode != null;
 
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
-
-        // Get the screenshot and the theme preferences.
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
         // Use a builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialog);
 
-        // Set the style and the icon according to the theme.
-        if (darkTheme) {
-            // Set the style.
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogDark);
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
-            // Set the icon.
-            dialogBuilder.setIcon(R.drawable.proxy_enabled_dark);
+        // Set the icon according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+            dialogBuilder.setIcon(R.drawable.proxy_enabled_night);
         } else {
-            // Set the style.
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogLight);
-
-            // Set the icon.
-            dialogBuilder.setIcon(R.drawable.proxy_enabled_light);
+            dialogBuilder.setIcon(R.drawable.proxy_enabled_day);
         }
 
         // Set the title and the message according to the proxy mode.
@@ -129,6 +112,12 @@ public class ProxyNotInstalledDialog extends DialogFragment {
         // Create an alert dialog from the alert dialog builder.
         AlertDialog alertDialog = dialogBuilder.create();
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             // Remove the warning below that `getWindows()` might be null.
index 71eecb15350248199faadaf6daab3ab3222f6654..0730717cabbec14a2933ec5e1fac55cf3570215b 100644 (file)
@@ -22,13 +22,13 @@ package com.stoutner.privacybrowser.dialogs;
 import android.Manifest;
 import android.annotation.SuppressLint;
 import android.app.Activity;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
+import android.content.res.Configuration;
 import android.os.AsyncTask;
 import android.os.Build;
 import android.os.Bundle;
@@ -43,6 +43,7 @@ import android.widget.EditText;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.core.content.ContextCompat;
 import androidx.fragment.app.DialogFragment;
 import androidx.preference.PreferenceManager;
@@ -117,58 +118,44 @@ public class SaveDialog extends DialogFragment {
         boolean cookiesEnabled = arguments.getBoolean("cookies_enabled");
 
         // Get a handle for the activity and the context.
-        Activity activity = getActivity();
-        Context context = getContext();
-
-        // Remove the incorrect lint warnings below that the activity and context might be null.
-        assert activity != null;
-        assert context != null;
-
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+        Activity activity = requireActivity();
+        Context context = requireContext();
 
         // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialog);
 
-        // Set the style and icon according to the theme.
-        if (darkTheme) {
-            // Set the style.
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogDark);
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
+        // Set the icon according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {  // The night theme is enabled.
             // Set the icon according to the save type.
             switch (saveType) {
                 case StoragePermissionDialog.SAVE_URL:
-                    dialogBuilder.setIcon(R.drawable.copy_enabled_dark);
+                    dialogBuilder.setIcon(R.drawable.copy_enabled_night);
                     break;
 
                 case StoragePermissionDialog.SAVE_AS_ARCHIVE:
-                    dialogBuilder.setIcon(R.drawable.dom_storage_cleared_dark);
+                    dialogBuilder.setIcon(R.drawable.dom_storage_cleared_night);
                     break;
 
                 case StoragePermissionDialog.SAVE_AS_IMAGE:
-                    dialogBuilder.setIcon(R.drawable.images_enabled_dark);
+                    dialogBuilder.setIcon(R.drawable.images_enabled_night);
                     break;
             }
-        } else {
-            // Set the style.
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogLight);
-
+        } else {  // The day theme is enabled.
             // Set the icon according to the save type.
             switch (saveType) {
                 case StoragePermissionDialog.SAVE_URL:
-                    dialogBuilder.setIcon(R.drawable.copy_enabled_light);
+                    dialogBuilder.setIcon(R.drawable.copy_enabled_day);
                     break;
 
                 case StoragePermissionDialog.SAVE_AS_ARCHIVE:
-                    dialogBuilder.setIcon(R.drawable.dom_storage_cleared_light);
+                    dialogBuilder.setIcon(R.drawable.dom_storage_cleared_day);
                     break;
 
                 case StoragePermissionDialog.SAVE_AS_IMAGE:
-                    dialogBuilder.setIcon(R.drawable.images_enabled_light);
+                    dialogBuilder.setIcon(R.drawable.images_enabled_day);
                     break;
             }
         }
@@ -206,6 +193,12 @@ public class SaveDialog extends DialogFragment {
         // Remove the incorrect lint warning below that the window might be null.
         assert alertDialog.getWindow() != null;
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
@@ -223,6 +216,14 @@ public class SaveDialog extends DialogFragment {
         TextView storagePermissionTextView = alertDialog.findViewById(R.id.storage_permission_textview);
         Button saveButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
 
+        // Remove the incorrect warnings that the views might be null.
+        assert urlEditText != null;
+        assert fileNameEditText != null;
+        assert browseButton != null;
+        assert fileSizeTextView != null;
+        assert fileExistsWarningTextView != null;
+        assert storagePermissionTextView != null;
+
         // Set the file size text view.
         fileSizeTextView.setText(fileSizeString);
 
index 624e45532e98e81c6239c46ec745832ada65fe25..c73cfdc6ecd6fe897bc71401d573bdb051769f72 100644 (file)
@@ -22,13 +22,13 @@ package com.stoutner.privacybrowser.dialogs;
 import android.Manifest;
 import android.annotation.SuppressLint;
 import android.app.Activity;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
+import android.content.res.Configuration;
 import android.os.Build;
 import android.os.Bundle;
 import android.os.Environment;
@@ -43,8 +43,9 @@ import android.widget.EditText;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.core.content.ContextCompat;
-import androidx.fragment.app.DialogFragment;  // The AndroidX dialog fragment is required or an error is produced on API <=22.  It is also required for the browse button to work correctly.
+import androidx.fragment.app.DialogFragment;
 
 import com.stoutner.privacybrowser.R;
 import com.stoutner.privacybrowser.helpers.DownloadLocationHelper;
@@ -74,39 +75,23 @@ public class SaveLogcatDialog extends DialogFragment {
     @Override
     @NonNull
     public Dialog onCreateDialog(Bundle savedInstanceState) {
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
-        // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
-
         // Get a handle for the activity and the context.
-        Activity activity = getActivity();
-        Context context = getContext();
-
-        // Remove the incorrect lint warnings.
-        assert activity != null;
-        assert context != null;
-
-        // Set the style according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogDark);
-        } else {
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogLight);
-        }
+        Activity activity = requireActivity();
+        Context context = requireContext();
 
+        // Use an alert dialog builder to create the alert dialog.
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialog);
         // Set the title.
         dialogBuilder.setTitle(R.string.save_logcat);
 
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
         // Set the icon according to the theme.
-        if (darkTheme) {
-            dialogBuilder.setIcon(R.drawable.save_dialog_dark);
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+            dialogBuilder.setIcon(R.drawable.save_dialog_night);
         } else {
-            dialogBuilder.setIcon(R.drawable.save_dialog_light);
+            dialogBuilder.setIcon(R.drawable.save_dialog_day);
         }
 
         // Set the view.  The parent view is null because it will be assigned by the alert dialog.
@@ -129,6 +114,12 @@ public class SaveLogcatDialog extends DialogFragment {
         // Remove the incorrect lint warning below that `getWindow()` might be null.
         assert alertDialog.getWindow() != null;
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             alertDialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
@@ -144,6 +135,12 @@ public class SaveLogcatDialog extends DialogFragment {
         TextView storagePermissionTextView = alertDialog.findViewById(R.id.storage_permission_textview);
         Button saveButton = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
 
+        // Remove the incorrect lint warnings below that the views might be null.
+        assert fileNameEditText != null;
+        assert browseButton != null;
+        assert fileExistsWarningTextView != null;
+        assert storagePermissionTextView != null;
+
         // Update the status of the save button when the file name changes.
         fileNameEditText.addTextChangedListener(new TextWatcher() {
             @Override
index 7d8e0b6384b103b95976d940bc72f5695037a5e6..9e329434c002609cacb9d47ff8b535f80ea3f73a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -21,10 +21,10 @@ package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
 import android.app.Activity;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.DialogInterface;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.net.Uri;
 import android.net.http.SslCertificate;
 import android.net.http.SslError;
@@ -41,7 +41,8 @@ import android.webkit.SslErrorHandler;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
-import androidx.fragment.app.DialogFragment;  // The AndroidX dialog fragment must be used or an error is produced on API <=22.
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
 
 import com.stoutner.privacybrowser.R;
 import com.stoutner.privacybrowser.activities.MainWebViewActivity;
@@ -137,35 +138,20 @@ public class SslCertificateErrorDialog extends DialogFragment {
         // Get a handle for the SSL error handler.
         SslErrorHandler sslErrorHandler = nestedScrollWebView.getSslErrorHandler();
 
-        // Remove the incorrect lint warning that `getActivity()` might be null.
-        assert getActivity() != null;
-
         // Get the activity's layout inflater.
-        LayoutInflater layoutInflater = getActivity().getLayoutInflater();
+        LayoutInflater layoutInflater = requireActivity().getLayoutInflater();
 
         // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
-
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog);
 
-        // Set the style and icon according to the theme.
-        if (darkTheme) {
-            // Set the style.
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
-            // Set the icon.
-            dialogBuilder.setIcon(R.drawable.ssl_certificate_enabled_dark);
+        // Set the icon according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+            dialogBuilder.setIcon(R.drawable.ssl_certificate_enabled_night);
         } else {
-            // Set the style.
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
-
-            // Set the icon.
-            dialogBuilder.setIcon(R.drawable.ssl_certificate_enabled_light);
+            dialogBuilder.setIcon(R.drawable.ssl_certificate_enabled_day);
         }
 
         // Set the title.
@@ -202,6 +188,12 @@ public class SslCertificateErrorDialog extends DialogFragment {
         // Create an alert dialog from the alert dialog builder.
         AlertDialog alertDialog = dialogBuilder.create();
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             // Remove the warning below that `getWindow()` might be null.
@@ -234,6 +226,20 @@ public class SslCertificateErrorDialog extends DialogFragment {
         TextView startDateTextView = alertDialog.findViewById(R.id.start_date);
         TextView endDateTextView = alertDialog.findViewById(R.id.end_date);
 
+        // Remove the incorrect lint warnings below that the views might be null.
+        assert primaryErrorTextView != null;
+        assert urlTextView != null;
+        assert issuedToCNameTextView != null;
+        assert issuedToONameTextView != null;
+        assert issuedToUNameTextView != null;
+        assert issuedByTextView != null;
+        assert issuedByCNameTextView != null;
+        assert issuedByONameTextView != null;
+        assert issuedByUNameTextView != null;
+        assert validDatesTextView != null;
+        assert startDateTextView != null;
+        assert endDateTextView != null;
+
         // Setup the common strings.
         String urlLabel = getString(R.string.url_label) + "  ";
         String cNameLabel = getString(R.string.common_name) + "  ";
@@ -253,17 +259,17 @@ public class SslCertificateErrorDialog extends DialogFragment {
         SpannableStringBuilder startDateStringBuilder = new SpannableStringBuilder(startDateLabel + startDate);
         SpannableStringBuilder endDateStringBuilder = new SpannableStringBuilder((endDateLabel + endDate));
 
-        // Create a red foreground color span.  The deprecated `getResources().getColor` must be used until the minimum API >= 23.
-        ForegroundColorSpan redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_a700));
-
-        // Create a blue `ForegroundColorSpan`.
+        // Define the color spans.
         ForegroundColorSpan blueColorSpan;
+        ForegroundColorSpan redColorSpan;
 
-        // Set a blue color span according to the theme.  The deprecated `getResources().getColor` must be used until the minimum API >= 23.
-        if (darkTheme) {
+        // Set the color spans according to the theme.  The deprecated `getResources()` must be used until the minimum API >= 23.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
             blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_400));
+            redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_900));
         } else {
             blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_700));
+            redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_a700));
         }
 
         // Setup the spans to display the certificate information in blue.  `SPAN_INCLUSIVE_INCLUSIVE` allows the span to grow in either direction.
@@ -293,7 +299,11 @@ public class SslCertificateErrorDialog extends DialogFragment {
 
             case SslError.SSL_UNTRUSTED:
                 // Change the issued by text view text to red.  The deprecated `getResources().getColor` must be used until the minimum API >= 23.
-                issuedByTextView.setTextColor(getResources().getColor(R.color.red_a700));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    issuedByTextView.setTextColor(getResources().getColor(R.color.red_900));
+                } else {
+                    issuedByTextView.setTextColor(getResources().getColor(R.color.red_a700));
+                }
 
                 // Change the issued by span color to red.
                 issuedByCNameStringBuilder.setSpan(redColorSpan, cNameLabel.length(), issuedByCNameStringBuilder.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE);
@@ -306,7 +316,11 @@ public class SslCertificateErrorDialog extends DialogFragment {
 
             case SslError.SSL_DATE_INVALID:
                 // Change the valid dates text view text to red.  The deprecated `getResources().getColor` must be used until the minimum API >= 23.
-                validDatesTextView.setTextColor(getResources().getColor(R.color.red_a700));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    validDatesTextView.setTextColor(getResources().getColor(R.color.red_900));
+                } else {
+                    validDatesTextView.setTextColor(getResources().getColor(R.color.red_a700));
+                }
 
                 // Change the date span colors to red.
                 startDateStringBuilder.setSpan(redColorSpan, startDateLabel.length(), startDateStringBuilder.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE);
@@ -410,17 +424,14 @@ public class SslCertificateErrorDialog extends DialogFragment {
             // Create a spannable string builder.
             SpannableStringBuilder ipAddressesStringBuilder = new SpannableStringBuilder(ipAddressesLabel + ipAddresses);
 
-            // Get a handle for the shared preferences.
-            SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(activity.getApplicationContext());
-
-            // Get the screenshot and theme preferences.
-            boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
             // Create a blue foreground color span.
             ForegroundColorSpan blueColorSpan;
 
+            // Get the current theme status.
+            int currentThemeStatus = activity.getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
             // Set the blue color span according to the theme.  The deprecated `getColor()` must be used until the minimum API >= 23.
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 blueColorSpan = new ForegroundColorSpan(activity.getResources().getColor(R.color.blue_400));
             } else {
                 blueColorSpan = new ForegroundColorSpan(activity.getResources().getColor(R.color.blue_700));
@@ -448,6 +459,9 @@ public class SslCertificateErrorDialog extends DialogFragment {
             // Get a handle for the IP addresses text view.
             TextView ipAddressesTextView = alertDialog.findViewById(R.id.ip_addresses);
 
+            // Remove the incorrect lint warning below that the view might be null.
+            assert ipAddressesTextView != null;
+
             // Populate the IP addresses text view.
             ipAddressesTextView.setText(ipAddresses);
         }
index 4743f9be21ce88ea0b5c5ec9d9cbe207623b0c9e..472a518481e20fcfffa0e3a8481de932ba27dc11 100644 (file)
 
 package com.stoutner.privacybrowser.dialogs;
 
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
 import android.view.WindowManager;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;
 
 import com.stoutner.privacybrowser.R;
@@ -86,23 +87,17 @@ public class StoragePermissionDialog extends DialogFragment {
         // Get the save type.
         int requestType = arguments.getInt("request_type");
 
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
         // Use a builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog);
+
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
-        // Set the style and the icon according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
-            dialogBuilder.setIcon(R.drawable.import_export_dark);
+        // Set the icon according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+            dialogBuilder.setIcon(R.drawable.import_export_night);
         } else {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
-            dialogBuilder.setIcon(R.drawable.import_export_light);
+            dialogBuilder.setIcon(R.drawable.import_export_day);
         }
 
         // Set the title.
@@ -120,6 +115,12 @@ public class StoragePermissionDialog extends DialogFragment {
         // Create an alert dialog from the builder.
         final AlertDialog alertDialog = dialogBuilder.create();
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             // Remove the warning below that `getWindow()` might be null.
index 298da3b956c2ad95b650cdffe312bcba7e53b8c2..661df9a20714a2b8a6822ca532d8c1d259156fea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -20,7 +20,6 @@
 package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -39,6 +38,7 @@ import android.widget.ListView;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.core.content.ContextCompat;
 import androidx.fragment.app.DialogFragment;  // The AndroidX dialog fragment must be used or an error is produced on API <=22.
 
@@ -91,11 +91,8 @@ public class UrlHistoryDialog extends DialogFragment{
     // `@SuppressLing("InflateParams")` removes the warning about using `null` as the parent view group when inflating the `AlertDialog`.
     @SuppressLint("InflateParams")
     public Dialog onCreateDialog(Bundle savedInstanceState) {
-        // Remove the incorrect lint warning that `getActivity()` might be null.
-        assert getActivity() != null;
-
         // Get the activity's layout inflater.
-        LayoutInflater layoutInflater = getActivity().getLayoutInflater();
+        LayoutInflater layoutInflater = requireActivity().getLayoutInflater();
 
         // Get the arguments.
         Bundle arguments = getArguments();
@@ -169,21 +166,7 @@ public class UrlHistoryDialog extends DialogFragment{
         int currentPageId = webBackForwardList.getSize() - 1 - currentPageIndex;
 
         // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
-
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
-        // Set the style according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
-        } else {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
-        }
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog);
 
         // Set the title.
         dialogBuilder.setTitle(R.string.history);
@@ -205,6 +188,12 @@ public class UrlHistoryDialog extends DialogFragment{
         // Create an alert dialog from the alert dialog builder.
         final AlertDialog alertDialog = dialogBuilder.create();
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             // Remove the warning below that `getWindow()` might be null.
@@ -223,6 +212,9 @@ public class UrlHistoryDialog extends DialogFragment{
         // Get a handle for the list view.
         ListView listView = alertDialog.findViewById(R.id.history_listview);
 
+        // Remove the incorrect lint warning below that the view might be null.
+        assert listView != null;
+
         // Set the list view adapter.
         listView.setAdapter(historyArrayAdapter);
 
index 5b7566f6bd7d9b14eea706e361cb3af45442f0c5..0ff75520ce7f70c6962d1de9cb9b380e63de0f05 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2018-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2018-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
 package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.os.Bundle;
 import android.preference.PreferenceManager;
 import android.view.View;
@@ -33,6 +33,7 @@ import android.widget.Button;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;
 
 import com.stoutner.privacybrowser.R;
@@ -79,13 +80,6 @@ public class ViewRequestDialog extends DialogFragment {
     // `@SuppressLing("InflateParams")` removes the warning about using `null` as the parent view group when inflating the `AlertDialog`.
     @SuppressLint("InflateParams")
     public Dialog onCreateDialog(Bundle savedInstanceState) {
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the theme and screenshot preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
         // Remove the incorrect lint warning that `getInt()` might be null.
         assert getArguments() != null;
 
@@ -95,15 +89,16 @@ public class ViewRequestDialog extends DialogFragment {
         String[] requestDetails = getArguments().getStringArray("request_details");
 
         // Use an alert dialog builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(requireContext(), R.style.PrivacyBrowserAlertDialog);
+
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
-        // Set the style and icon according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogDark);
-            dialogBuilder.setIcon(R.drawable.block_ads_enabled_dark);
+        // Set the icon according to the theme.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+            dialogBuilder.setIcon(R.drawable.block_ads_enabled_night);
         } else {
-            dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.PrivacyBrowserAlertDialogLight);
-            dialogBuilder.setIcon(R.drawable.block_ads_enabled_light);
+            dialogBuilder.setIcon(R.drawable.block_ads_enabled_day);
         }
 
         // Create the dialog title.
@@ -139,6 +134,12 @@ public class ViewRequestDialog extends DialogFragment {
         // Create an alert dialog from the alert dialog builder.
         final AlertDialog alertDialog = dialogBuilder.create();
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             // Remove the warning below that `getWindow()` might be null.
@@ -165,6 +166,18 @@ public class ViewRequestDialog extends DialogFragment {
         Button previousButton = alertDialog.getButton(DialogInterface.BUTTON_NEGATIVE);
         Button nextButton = alertDialog.getButton(DialogInterface.BUTTON_POSITIVE);
 
+        // Remove the incorrect lint warnings below that the views might be null.
+        assert requestDisposition != null;
+        assert requestUrl != null;
+        assert requestBlockListLabel != null;
+        assert requestBlockList != null;
+        assert requestSubListLabel != null;
+        assert requestSubList != null;
+        assert requestBlockListEntriesLabel != null;
+        assert requestBlockListEntries != null;
+        assert requestBlockListOriginalEntryLabel != null;
+        assert requestBlockListOriginalEntry != null;
+
         // Disable the previous button if the first resource request is displayed.
         previousButton.setEnabled(!(id == 1));
 
@@ -186,7 +199,7 @@ public class ViewRequestDialog extends DialogFragment {
                 requestDisposition.setText(R.string.allowed);
 
                 // Set the background color.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     requestDisposition.setBackgroundColor(getResources().getColor(R.color.blue_700_50));
                 } else {
                     requestDisposition.setBackgroundColor(getResources().getColor(R.color.blue_100));
@@ -198,7 +211,7 @@ public class ViewRequestDialog extends DialogFragment {
                 requestDisposition.setText(R.string.third_party_blocked);
 
                 // Set the background color.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     requestDisposition.setBackgroundColor(getResources().getColor(R.color.yellow_700_50));
                 } else {
                     requestDisposition.setBackgroundColor(getResources().getColor(R.color.yellow_100));
@@ -210,7 +223,7 @@ public class ViewRequestDialog extends DialogFragment {
                 requestDisposition.setText(R.string.blocked);
 
                 // Set the background color.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     requestDisposition.setBackgroundColor(getResources().getColor(R.color.red_700_40));
                 } else {
                     requestDisposition.setBackgroundColor(getResources().getColor(R.color.red_100));
index b7f0b487246e05bb601efad0346c71eb9381de44..90ea83202bfcd1a32d8313f94536ed0317c402e1 100644 (file)
@@ -21,10 +21,10 @@ package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
 import android.app.Activity;
-import android.app.AlertDialog;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
@@ -39,7 +39,8 @@ import android.view.WindowManager;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
-import androidx.fragment.app.DialogFragment;  // The AndroidX dialog fragment must be used or an error is produced on API <=22.
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
 import androidx.preference.PreferenceManager;
 
 import com.stoutner.privacybrowser.activities.MainWebViewActivity;
@@ -75,12 +76,8 @@ public class ViewSslCertificateDialog extends DialogFragment {
     @NonNull
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         // Get a handle for the activity and the context.
-        Activity activity = getActivity();
-        Context context = getContext();
-
-        // Remove the incorrect lint warnings below that the activity and context might be null.
-        assert activity != null;
-        assert context != null;
+        Activity activity = requireActivity();
+        Context context = requireContext();
 
         // Get the activity's layout inflater.
         LayoutInflater layoutInflater = activity.getLayoutInflater();
@@ -108,21 +105,7 @@ public class ViewSslCertificateDialog extends DialogFragment {
 
 
         // Use a builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
-
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
-
-        // Get the screenshot and theme preferences.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-
-        // Set the style according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogDark);
-        } else {
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogLight);
-        }
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialog);
 
         // Create a drawable version of the favorite icon.
         Drawable favoriteIconDrawable = new BitmapDrawable(getResources(), nestedScrollWebView.getFavoriteOrDefaultIcon());
@@ -136,6 +119,12 @@ public class ViewSslCertificateDialog extends DialogFragment {
         // Get the SSL certificate.
         SslCertificate sslCertificate = nestedScrollWebView.getCertificate();
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Check to see if the website is encrypted.
         if (sslCertificate == null) {  // The website is not encrypted.
             // Set the title.
@@ -192,6 +181,18 @@ public class ViewSslCertificateDialog extends DialogFragment {
             TextView startDateTextView = alertDialog.findViewById(R.id.start_date);
             TextView endDateTextView = alertDialog.findViewById(R.id.end_date);
 
+            // Remove the incorrect warning that the views might be null.
+            assert domainTextView != null;
+            assert ipAddressesTextView != null;
+            assert issuedToCNameTextView != null;
+            assert issuedToONameTextView != null;
+            assert issuedToUNameTextView != null;
+            assert issuedByCNameTextView != null;
+            assert issuedByONameTextView != null;
+            assert issuedByUNameTextView != null;
+            assert startDateTextView != null;
+            assert endDateTextView != null;
+
             // Setup the labels.
             String domainLabel = getString(R.string.domain_label) + "  ";
             String ipAddressesLabel = getString(R.string.ip_addresses) + "  ";
@@ -229,17 +230,20 @@ public class ViewSslCertificateDialog extends DialogFragment {
             SpannableStringBuilder startDateStringBuilder = new SpannableStringBuilder(startDateLabel + DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.LONG).format(startDate));
             SpannableStringBuilder endDateStringBuilder = new SpannableStringBuilder(endDateLabel + DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.LONG).format(endDate));
 
-            // Create a red foreground color span.  The deprecated `getColor` must be used until the minimum API >= 23.
-            ForegroundColorSpan redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_a700));
-
-            // Create a blue foreground color span.
+            // Define the color spans.
             ForegroundColorSpan blueColorSpan;
+            ForegroundColorSpan redColorSpan;
+
+            // Get the current theme status.
+            int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
-            // Set the blue color span according to the theme.  The deprecated `getColor()` must be used until the minimum API >= 23.
-            if (darkTheme) {
+            // Set the color spans according to the theme.  The deprecated `getResources()` must be used until the minimum API >= 23.
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_400));
+                redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_900));
             } else {
                 blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_700));
+                redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_a700));
             }
 
             // Remove the incorrect lint error that `.equals` might produce a NullPointerException.
index 08e39212a6418bda7526c3f5a32bdc583dd69887..b413584e5786bbe2e1e2bed797cdb64febe94ba9 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2019-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -20,7 +20,6 @@
 package com.stoutner.privacybrowser.dialogs;
 
 import android.annotation.SuppressLint;
-import android.app.Activity;
 import android.app.Dialog;
 import android.content.Context;
 import android.content.SharedPreferences;
@@ -41,33 +40,14 @@ public class WaitingForProxyDialog extends DialogFragment {
     @Override
     @NonNull
     public Dialog onCreateDialog(Bundle savedInstanceState) {
-        // Get the context and the activity.
-        Context context = getContext();
-        Activity activity = getActivity();
-
-        // Remove the incorrect lint warnings below that the context or the activity might be null.
-        assert context != null;
-        assert activity != null;
+        // Get a handle for the context.
+        Context context = requireContext();
 
         // Get the activity's layout inflater.
-        LayoutInflater layoutInflater = activity.getLayoutInflater();
-
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
-
-        // Get the screenshot and theme preferences.
-        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+        LayoutInflater layoutInflater = requireActivity().getLayoutInflater();
 
         // Use a builder to create the alert dialog.
-        AlertDialog.Builder dialogBuilder;
-
-        // Set the style according to the theme.
-        if (darkTheme) {
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogDark);
-        } else {
-            dialogBuilder = new AlertDialog.Builder(activity, R.style.PrivacyBrowserAlertDialogLight);
-        }
+        AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(context, R.style.PrivacyBrowserAlertDialog);
 
         // Set the layout.  The parent view is `null` because it will be assigned by the alert dialog.
         dialogBuilder.setView(layoutInflater.inflate(R.layout.waiting_for_proxy_dialog, null));
@@ -75,6 +55,12 @@ public class WaitingForProxyDialog extends DialogFragment {
         // Create an alert dialog from the alert dialog builder.
         AlertDialog alertDialog = dialogBuilder.create();
 
+        // Get a handle for the shared preferences.
+        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
+
+        // Get the screenshot preference.
+        boolean allowScreenshots = sharedPreferences.getBoolean("allow_screenshots", false);
+
         // Disable screenshots if not allowed.
         if (!allowScreenshots) {
             // Remove the warning below that `getWindow()` might be null.
index 486f593ceee79706cf0e160d8eed7c8c2a2cdbad..8f148a4bcf05890154d3ae6ec63a458ee8c430e8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -21,13 +21,12 @@ package com.stoutner.privacybrowser.fragments;
 
 import android.annotation.SuppressLint;
 import android.content.Context;
-import android.content.SharedPreferences;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.Signature;
+import android.content.res.Configuration;
 import android.os.Build;
 import android.os.Bundle;
-import android.preference.PreferenceManager;
 import android.text.SpannableStringBuilder;
 import android.text.Spanned;
 import android.text.style.ForegroundColorSpan;
@@ -39,6 +38,7 @@ import android.widget.TextView;
 
 import androidx.annotation.NonNull;
 import androidx.fragment.app.Fragment;
+import androidx.webkit.WebViewCompat;
 
 import com.stoutner.privacybrowser.BuildConfig;
 import com.stoutner.privacybrowser.R;
@@ -101,11 +101,8 @@ public class AboutTabFragment extends Fragment {
         Context context = getContext();
         assert context != null;
 
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
-
-        // Get the theme preference.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
         // Load the tabs.  Tab numbers start at 0.
         if (tabNumber == 0) {  // Load the about tab.
@@ -230,8 +227,8 @@ public class AboutTabFragment extends Fragment {
             // Create the `blueColorSpan` variable.
             ForegroundColorSpan blueColorSpan;
 
-            // Set `blueColorSpan` according to the theme.  We have to use the deprecated `getColor()` until API >= 23.
-            if (darkTheme) {
+            // Set the blue color span according to the theme.  The deprecated `getResources()` must be used until the minimum API >= 23.
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_400));
             } else {
                 blueColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.blue_700));
@@ -292,13 +289,13 @@ public class AboutTabFragment extends Fragment {
                 securityPatchTextView.setVisibility(View.GONE);
             }
 
-            // Only populate the WebView provider if the SDK >= 26.
-            if (Build.VERSION.SDK_INT >= 26) {
+            // Only populate the WebView provider if the SDK >= 21.
+            if (Build.VERSION.SDK_INT >= 21) {
                 // Create the WebView provider label.
                 String webViewProviderLabel = getString(R.string.webview_provider) + "  ";
 
                 // Get the current WebView package info.
-                PackageInfo webViewPackageInfo = WebView.getCurrentWebViewPackage();
+                PackageInfo webViewPackageInfo = WebViewCompat.getCurrentWebViewPackage(context);
 
                 // Remove the warning below that the package info might be null.
                 assert webViewPackageInfo != null;
@@ -314,7 +311,7 @@ public class AboutTabFragment extends Fragment {
 
                 // Display the WebView provider.
                 webViewProviderTextView.setText(webViewProviderStringBuilder);
-            } else {  // The API < 26.
+            } else {  // The API < 21.
                 // Hide the WebView provider text view.
                 webViewProviderTextView.setVisibility(View.GONE);
             }
@@ -415,7 +412,7 @@ public class AboutTabFragment extends Fragment {
             WebView tabWebView = (WebView) tabLayout;
 
             // Load the tabs according to the theme.
-            if (darkTheme) {  // The dark theme is applied.
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {  // The dark theme is applied.
                 // Set the background color.  The deprecated `.getColor()` must be used until the minimum API >= 23.
                 tabWebView.setBackgroundColor(getResources().getColor(R.color.gray_850));
 
index 8517b6f6256a9ee23e1f3f3c37ec697d14797ce0..1af803a55c8b3803ec136cd5e3c0f4b47ca2ba88 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -22,6 +22,7 @@ package com.stoutner.privacybrowser.fragments;
 import android.annotation.SuppressLint;
 import android.content.Context;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.database.Cursor;
 import android.os.Build;
@@ -92,6 +93,9 @@ public class DomainSettingsFragment extends Fragment {
         // Remove the error below that the context might be null.
         assert context != null;
 
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
         // Get a handle for the shared preference.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
 
@@ -100,7 +104,6 @@ public class DomainSettingsFragment extends Fragment {
         String defaultCustomUserAgentString = sharedPreferences.getString("custom_user_agent", getString(R.string.custom_user_agent_default_value));
         String defaultFontSizeString = sharedPreferences.getString("font_size", getString(R.string.font_size_default_value));
         boolean defaultSwipeToRefresh = sharedPreferences.getBoolean("swipe_to_refresh", true);
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
         boolean defaultNightMode = sharedPreferences.getBoolean("night_mode", false);
         boolean defaultWideViewport = sharedPreferences.getBoolean("wide_viewport", true);
         boolean defaultDisplayWebpageImages = sharedPreferences.getBoolean("display_webpage_images", true);
@@ -298,8 +301,8 @@ public class DomainSettingsFragment extends Fragment {
         // Create a blue foreground color span.
         final ForegroundColorSpan blueColorSpan;
 
-        // Set the blue color span according to the theme.  The deprecated `resources.getColor` must be used until the minimum API >= 23.
-        if (darkTheme) {
+        // Set the blue color span according to the theme.  The deprecated `resources` must be used until the minimum API >= 23.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
             blueColorSpan = new ForegroundColorSpan(resources.getColor(R.color.blue_400));
         } else {
             blueColorSpan = new ForegroundColorSpan(resources.getColor(R.color.blue_700));
@@ -394,10 +397,10 @@ public class DomainSettingsFragment extends Fragment {
             firstPartyCookiesSwitch.setChecked(false);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                firstPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                firstPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_night));
             } else {
-                firstPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_light));
+                firstPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_day));
             }
         }
 
@@ -413,10 +416,10 @@ public class DomainSettingsFragment extends Fragment {
                     thirdPartyCookiesSwitch.setChecked(false);
 
                     // Set the icon according to the theme.
-                    if (darkTheme) {
-                        thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_night));
                     } else {
-                        thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_light));
+                        thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_day));
                     }
                 }
             } else {  // First-party cookies are disabled.
@@ -431,10 +434,10 @@ public class DomainSettingsFragment extends Fragment {
                 thirdPartyCookiesSwitch.setEnabled(false);
 
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_ghosted_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_ghosted_night));
                 } else {
-                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_ghosted_light));
+                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_ghosted_day));
                 }
             }
         } else {  // Third-party cookies cannot be configured for API <= 21.
@@ -456,10 +459,10 @@ public class DomainSettingsFragment extends Fragment {
                 domStorageSwitch.setChecked(false);
 
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_night));
                 } else {
-                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_light));
+                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_day));
                 }
             }
         } else {  // JavaScript is disabled.
@@ -474,10 +477,10 @@ public class DomainSettingsFragment extends Fragment {
             }
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_night));
             } else {
-                domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_light));
+                domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_day));
             }
         }
 
@@ -494,10 +497,10 @@ public class DomainSettingsFragment extends Fragment {
                 formDataSwitch.setChecked(false);
 
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    formDataImageView.setImageDrawable(resources.getDrawable(R.drawable.form_data_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    formDataImageView.setImageDrawable(resources.getDrawable(R.drawable.form_data_disabled_night));
                 } else {
-                    formDataImageView.setImageDrawable(resources.getDrawable(R.drawable.form_data_disabled_light));
+                    formDataImageView.setImageDrawable(resources.getDrawable(R.drawable.form_data_disabled_day));
                 }
             }
         }
@@ -508,20 +511,20 @@ public class DomainSettingsFragment extends Fragment {
             easyListSwitch.setChecked(true);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_night));
             } else {
-                easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_light));
+                easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_day));
             }
         } else {  // EasyList is off.
             // Turn the switch off.
             easyListSwitch.setChecked(false);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_night));
             } else {
-                easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_light));
+                easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_day));
             }
         }
 
@@ -531,20 +534,20 @@ public class DomainSettingsFragment extends Fragment {
             easyPrivacySwitch.setChecked(true);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_night));
             } else {
-                easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_light));
+                easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_day));
             }
         } else {  // EasyPrivacy is off.
             // Turn the switch off.
             easyPrivacySwitch.setChecked(false);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_night));
             } else {
-                easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_light));
+                easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_day));
             }
         }
 
@@ -554,20 +557,20 @@ public class DomainSettingsFragment extends Fragment {
             fanboysAnnoyanceListSwitch.setChecked(true);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_night));
             } else {
-                fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_light));
+                fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_day));
             }
         } else {  // Fanboy's Annoyance List is off.
             // Turn the switch off.
             fanboysAnnoyanceListSwitch.setChecked(false);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_night));
             } else {
-                fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_light));
+                fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_day));
             }
         }
 
@@ -580,10 +583,10 @@ public class DomainSettingsFragment extends Fragment {
                 fanboysSocialBlockingListSwitch.setChecked(true);
 
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_night));
                 } else {
-                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_light));
+                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_day));
                 }
             } else {  // Fanboy's Social Blocking List is off.
                 // Enable the switch but turn it off.
@@ -591,10 +594,10 @@ public class DomainSettingsFragment extends Fragment {
                 fanboysSocialBlockingListSwitch.setChecked(false);
 
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_night));
                 } else {
-                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_light));
+                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_day));
                 }
             }
         } else {  // Fanboy's Annoyance List is on.
@@ -610,10 +613,10 @@ public class DomainSettingsFragment extends Fragment {
             }
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_ghosted_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_ghosted_night));
             } else {
-                fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_ghosted_light));
+                fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_ghosted_day));
             }
         }
 
@@ -623,20 +626,20 @@ public class DomainSettingsFragment extends Fragment {
             ultraListSwitch.setChecked(true);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_night));
             } else {
-                ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_light));
+                ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_day));
             }
         } else {  // UltraList is off.
             // Turn the switch off.
             ultraListSwitch.setChecked(false);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_night));
             } else {
-                ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_light));
+                ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_day));
             }
         }
 
@@ -646,20 +649,20 @@ public class DomainSettingsFragment extends Fragment {
             ultraPrivacySwitch.setChecked(true);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_night));
             } else {
-                ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_light));
+                ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_day));
             }
         } else {  // EasyPrivacy is off.
             // Turn the switch off.
             ultraPrivacySwitch.setChecked(false);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_night));
             } else {
-                ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_light));
+                ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_day));
             }
         }
 
@@ -669,20 +672,20 @@ public class DomainSettingsFragment extends Fragment {
             blockAllThirdPartyRequestsSwitch.setChecked(true);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_enabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_enabled_night));
             } else {
-                blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_enabled_light));
+                blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_enabled_day));
             }
         } else {  // Blocking all third-party requests is off.
             // Turn the switch off.
             blockAllThirdPartyRequestsSwitch.setChecked(false);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_disabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_disabled_night));
             } else {
-                blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_disabled_light));
+                blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_disabled_day));
             }
         }
 
@@ -815,17 +818,17 @@ public class DomainSettingsFragment extends Fragment {
             case DomainsDatabaseHelper.SYSTEM_DEFAULT:
                 if (defaultSwipeToRefresh) {  // Swipe to refresh is enabled by default.
                     // Set the icon according to the theme.
-                    if (darkTheme) {
-                        swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_night));
                     } else {
-                        swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_light));
+                        swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_day));
                     }
                 } else {  // Swipe to refresh is disabled by default
                     // Set the icon according to the theme.
-                    if (darkTheme) {
-                        swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_night));
                     } else {
-                        swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_light));
+                        swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_day));
                     }
                 }
 
@@ -835,10 +838,10 @@ public class DomainSettingsFragment extends Fragment {
 
             case DomainsDatabaseHelper.ENABLED:
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_night));
                 } else {
-                    swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_light));
+                    swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_day));
                 }
 
                 // Hide the swipe to refresh TextView.`
@@ -847,10 +850,10 @@ public class DomainSettingsFragment extends Fragment {
 
             case DomainsDatabaseHelper.DISABLED:
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_night));
                 } else {
-                    swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_light));
+                    swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_day));
                 }
 
                 // Hide the swipe to refresh TextView.
@@ -878,17 +881,17 @@ public class DomainSettingsFragment extends Fragment {
             case DomainsDatabaseHelper.SYSTEM_DEFAULT:
                 if (defaultNightMode) {  // Night mode enabled by default.
                     // Set the icon according to the theme.
-                    if (darkTheme) {
-                        nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_night));
                     } else {
-                        nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_light));
+                        nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_day));
                     }
                 } else {  // Night mode disabled by default.
                     // Set the icon according to the theme.
-                    if (darkTheme) {
-                        nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_night));
                     } else {
-                        nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_light));
+                        nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_day));
                     }
                 }
 
@@ -898,10 +901,10 @@ public class DomainSettingsFragment extends Fragment {
 
             case DomainsDatabaseHelper.ENABLED:
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_night));
                 } else {
-                    nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_light));
+                    nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_day));
                 }
 
                 // Hide the night mode TextView.
@@ -910,10 +913,10 @@ public class DomainSettingsFragment extends Fragment {
 
             case DomainsDatabaseHelper.DISABLED:
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_night));
                 } else {
-                    nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_light));
+                    nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_day));
                 }
 
                 // Hide the night mode TextView.
@@ -942,16 +945,16 @@ public class DomainSettingsFragment extends Fragment {
             case DomainsDatabaseHelper.SYSTEM_DEFAULT:
                 if (defaultWideViewport) {  // Wide viewport enabled by default.
                     // Set the icon according to the theme.
-                    if (darkTheme) {
-                        wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_night));
                     } else {
-                        wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_light));
+                        wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_day));
                     }
                 } else {  // Wide viewport disabled by default.
-                    if (darkTheme) {
-                        wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_night));
                     } else {
-                        wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_light));
+                        wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_day));
                     }
                 }
 
@@ -961,10 +964,10 @@ public class DomainSettingsFragment extends Fragment {
 
             case DomainsDatabaseHelper.ENABLED:
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_night));
                 } else {
-                    wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_light));
+                    wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_day));
                 }
 
                 // Hide the wide viewport text view.
@@ -973,10 +976,10 @@ public class DomainSettingsFragment extends Fragment {
 
             case DomainsDatabaseHelper.DISABLED:
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_night));
                 } else {
-                    wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_light));
+                    wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_day));
                 }
 
                 // Hide the wide viewport text view.
@@ -1005,17 +1008,17 @@ public class DomainSettingsFragment extends Fragment {
             case DomainsDatabaseHelper.SYSTEM_DEFAULT:
                 if (defaultDisplayWebpageImages) {  // Display webpage images enabled by default.
                     // Set the icon according to the theme.
-                    if (darkTheme) {
-                        displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_night));
                     } else {
-                        displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_light));
+                        displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_day));
                     }
                 } else {  // Display webpage images disabled by default.
                     // Set the icon according to the theme.
-                    if (darkTheme) {
-                        displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_night));
                     } else {
-                        displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_light));
+                        displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_day));
                     }
                 }
 
@@ -1025,10 +1028,10 @@ public class DomainSettingsFragment extends Fragment {
 
             case DomainsDatabaseHelper.ENABLED:
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_night));
                 } else {
-                    displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_light));
+                    displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_day));
                 }
 
                 // Hide the display images text view.
@@ -1037,10 +1040,10 @@ public class DomainSettingsFragment extends Fragment {
 
             case DomainsDatabaseHelper.DISABLED:
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_night));
                 } else {
-                    displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_light));
+                    displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_day));
                 }
 
                 // Hide the display images text view.
@@ -1060,20 +1063,20 @@ public class DomainSettingsFragment extends Fragment {
             pinnedSslCertificateSwitch.setChecked(true);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_night));
             } else {
-                pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_light));
+                pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_day));
             }
         } else {  // Pinned SSL certificate is disabled.
             // Uncheck the switch.
             pinnedSslCertificateSwitch.setChecked(false);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_night));
             } else {
-                pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_light));
+                pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_day));
             }
         }
 
@@ -1214,7 +1217,7 @@ public class DomainSettingsFragment extends Fragment {
                 currentWebsiteCertificateRadioButton.setChecked(false);
 
                 // Darken the background of the current website SSL certificate linear layout according to the theme.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     currentWebsiteCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_33);
                 } else {
                     currentWebsiteCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -1247,20 +1250,20 @@ public class DomainSettingsFragment extends Fragment {
             pinnedIpAddressesSwitch.setChecked(true);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_night));
             } else {
-                pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_light));
+                pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_day));
             }
         } else {  // Pinned IP Addresses is disabled.
             // Uncheck the switch.
             pinnedIpAddressesSwitch.setChecked(false);
 
             // Set the icon according to the theme.
-            if (darkTheme) {
-                pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_dark));
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_night));
             } else {
-                pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_light));
+                pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_day));
             }
         }
 
@@ -1289,7 +1292,7 @@ public class DomainSettingsFragment extends Fragment {
                 currentIpAddressesRadioButton.setChecked(false);
 
                 // Darken the background of the current IP addresses linear layout according to the theme.
-                if (darkTheme) {
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                     currentIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_33);
                 } else {
                     currentIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -1326,10 +1329,10 @@ public class DomainSettingsFragment extends Fragment {
                     domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_enabled));
                 } else {  // DOM storage is disabled.
                     // Set the icon according to the theme.
-                    if (darkTheme) {
-                        domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_night));
                     } else {
-                        domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_light));
+                        domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_day));
                     }
                 }
             } else {  // JavaScript is disabled.
@@ -1340,10 +1343,10 @@ public class DomainSettingsFragment extends Fragment {
                 domStorageSwitch.setEnabled(false);
 
                 // Set the DOM storage icon according to the theme.
-                if (darkTheme) {
-                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_night));
                 } else {
-                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_light));
+                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_day));
                 }
             }
         });
@@ -1362,28 +1365,28 @@ public class DomainSettingsFragment extends Fragment {
                     thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_warning));
                 } else {  // Third-party cookies are disabled.
                     // Set the third-party cookies icon according to the theme.
-                    if (darkTheme) {
-                        thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_night));
                     } else {
-                        thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_light));
+                        thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_day));
                     }
                 }
             } else {  // First-party cookies are disabled.
                 // Update the first-party cookies icon according to the theme.
-                if (darkTheme) {
-                    firstPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    firstPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_night));
                 } else {
-                    firstPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_light));
+                    firstPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_day));
                 }
 
                 // Disable the third-party cookies switch.
                 thirdPartyCookiesSwitch.setEnabled(false);
 
                 // Set the third-party cookies icon according to the theme.
-                if (darkTheme) {
-                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_ghosted_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_ghosted_night));
                 } else {
-                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_ghosted_light));
+                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_ghosted_day));
                 }
             }
         });
@@ -1395,10 +1398,10 @@ public class DomainSettingsFragment extends Fragment {
                 thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_warning));
             } else {
                 // Update the third-party cookies icon according to the theme.
-                if (darkTheme) {
-                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_night));
                 } else {
-                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_light));
+                    thirdPartyCookiesImageView.setImageDrawable(resources.getDrawable(R.drawable.cookies_disabled_day));
                 }
             }
         });
@@ -1410,10 +1413,10 @@ public class DomainSettingsFragment extends Fragment {
                 domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_enabled));
             } else {
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_night));
                 } else {
-                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_light));
+                    domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_day));
                 }
             }
         });
@@ -1426,10 +1429,10 @@ public class DomainSettingsFragment extends Fragment {
                     formDataImageView.setImageDrawable(resources.getDrawable(R.drawable.form_data_enabled));
                 } else {
                     // Set the icon according to the theme.
-                    if (darkTheme) {
-                        formDataImageView.setImageDrawable(resources.getDrawable(R.drawable.form_data_disabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        formDataImageView.setImageDrawable(resources.getDrawable(R.drawable.form_data_disabled_night));
                     } else {
-                        formDataImageView.setImageDrawable(resources.getDrawable(R.drawable.form_data_disabled_light));
+                        formDataImageView.setImageDrawable(resources.getDrawable(R.drawable.form_data_disabled_day));
                     }
                 }
             });
@@ -1440,17 +1443,17 @@ public class DomainSettingsFragment extends Fragment {
             // Update the icon.
             if (isChecked) {  // EasyList is on.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_night));
                 } else {
-                    easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_light));
+                    easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_day));
                 }
             } else {  // EasyList is off.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_night));
                 } else {
-                    easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_light));
+                    easyListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_day));
                 }
             }
         });
@@ -1460,17 +1463,17 @@ public class DomainSettingsFragment extends Fragment {
             // Update the icon.
             if (isChecked) {  // EasyPrivacy is on.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_night));
                 } else {
-                    easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_light));
+                    easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_day));
                 }
             } else {  // EasyPrivacy is off.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_night));
                 } else {
-                    easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_light));
+                    easyPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_day));
                 }
             }
         });
@@ -1480,27 +1483,27 @@ public class DomainSettingsFragment extends Fragment {
             // Update the icon and Fanboy's Social Blocking List.
             if (isChecked) {  // Fanboy's Annoyance List is on.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_night));
                 } else {
-                    fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_light));
+                    fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_day));
                 }
 
                 // Disable the Fanboy's Social Blocking List switch.
                 fanboysSocialBlockingListSwitch.setEnabled(false);
 
                 // Update the Fanboy's Social Blocking List icon according to the theme.
-                if (darkTheme) {
-                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_ghosted_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_ghosted_night));
                 } else {
-                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_ghosted_light));
+                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_ghosted_day));
                 }
             } else {  // Fanboy's Annoyance List is off.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_night));
                 } else {
-                    fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_light));
+                    fanboysAnnoyanceListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_day));
                 }
 
                 // Enable the Fanboy's Social Blocking List switch.
@@ -1509,17 +1512,17 @@ public class DomainSettingsFragment extends Fragment {
                 // Update the Fanboy's Social Blocking List icon.
                 if (fanboysSocialBlockingListSwitch.isChecked()) {  // Fanboy's Social Blocking List is on.
                     // Update the icon according to the theme.
-                    if (darkTheme) {
-                        fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_night));
                     } else {
-                        fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_light));
+                        fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_day));
                     }
                 } else {  // Fanboy's Social Blocking List is off.
                     // Update the icon according to the theme.
-                    if (darkTheme) {
-                        fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_night));
                     } else {
-                        fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_light));
+                        fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_day));
                     }
                 }
             }
@@ -1531,17 +1534,17 @@ public class DomainSettingsFragment extends Fragment {
             // Update the icon.
             if (isChecked) {  // Fanboy's Social Blocking List is on.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_night));
                 } else {
-                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_light));
+                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_enabled_day));
                 }
             } else {  // Fanboy's Social Blocking List is off.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_night));
                 } else {
-                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_light));
+                    fanboysSocialBlockingListImageView.setImageDrawable(resources.getDrawable(R.drawable.social_media_disabled_day));
                 }
             }
         });
@@ -1551,17 +1554,17 @@ public class DomainSettingsFragment extends Fragment {
             // Update the icon.
             if (isChecked) {  // UltraList is on.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_night));
                 } else {
-                    ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_light));
+                    ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_enabled_day));
                 }
             } else {  // UltraList is off.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_night));
                 } else {
-                    ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_light));
+                    ultraListImageView.setImageDrawable(resources.getDrawable(R.drawable.block_ads_disabled_day));
                 }
             }
         });
@@ -1571,17 +1574,17 @@ public class DomainSettingsFragment extends Fragment {
             // Update the icon.
             if (isChecked) {  // UltraPrivacy is on.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_night));
                 } else {
-                    ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_light));
+                    ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_enabled_day));
                 }
             } else {  // UltraPrivacy is off.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_night));
                 } else {
-                    ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_light));
+                    ultraPrivacyImageView.setImageDrawable(resources.getDrawable(R.drawable.block_tracking_disabled_day));
                 }
             }
         });
@@ -1591,17 +1594,17 @@ public class DomainSettingsFragment extends Fragment {
             // Update the icon.
             if (isChecked) {  // Blocking all third-party requests is on.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_enabled_night));
                 } else {
-                    blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_enabled_light));
+                    blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_enabled_day));
                 }
             } else {  // Blocking all third-party requests is off.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_disabled_night));
                 } else {
-                    blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_disabled_light));
+                    blockAllThirdPartyRequestsImageView.setImageDrawable(resources.getDrawable(R.drawable.block_all_third_party_requests_disabled_day));
                 }
             }
         });
@@ -1711,17 +1714,17 @@ public class DomainSettingsFragment extends Fragment {
                     case DomainsDatabaseHelper.SYSTEM_DEFAULT:
                         if (defaultSwipeToRefresh) {  // Swipe to refresh enabled by default.
                             // Set the icon according to the theme.
-                            if (darkTheme) {
-                                swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_dark));
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_night));
                             } else {
-                                swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_light));
+                                swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_day));
                             }
                         } else {  // Swipe to refresh disabled by default.
                             // Set the icon according to the theme.
-                            if (darkTheme) {
-                                swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_dark));
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_night));
                             } else {
-                                swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_light));
+                                swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_day));
                             }
                         }
 
@@ -1731,10 +1734,10 @@ public class DomainSettingsFragment extends Fragment {
 
                     case DomainsDatabaseHelper.ENABLED:
                         // Set the icon according to the theme.
-                        if (darkTheme) {
-                            swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_dark));
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_night));
                         } else {
-                            swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_light));
+                            swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_enabled_day));
                         }
 
                         // Hide the swipe to refresh TextView.
@@ -1743,10 +1746,10 @@ public class DomainSettingsFragment extends Fragment {
 
                     case DomainsDatabaseHelper.DISABLED:
                         // Set the icon according to the theme.
-                        if (darkTheme) {
-                            swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_dark));
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_night));
                         } else {
-                            swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_light));
+                            swipeToRefreshImageView.setImageDrawable(resources.getDrawable(R.drawable.refresh_disabled_day));
                         }
 
                         // Hide the swipe to refresh TextView.
@@ -1769,17 +1772,17 @@ public class DomainSettingsFragment extends Fragment {
                     case DomainsDatabaseHelper.SYSTEM_DEFAULT:
                         if (defaultNightMode) {  // Night mode enabled by default.
                             // Set the icon according to the theme.
-                            if (darkTheme) {
-                                nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_dark));
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_night));
                             } else {
-                                nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_light));
+                                nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_day));
                             }
                         } else {  // Night mode disabled by default.
                             // Set the icon according to the theme.
-                            if (darkTheme) {
-                                nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_dark));
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_night));
                             } else {
-                                nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_light));
+                                nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_day));
                             }
                         }
 
@@ -1789,10 +1792,10 @@ public class DomainSettingsFragment extends Fragment {
 
                     case DomainsDatabaseHelper.ENABLED:
                         // Set the icon according to the theme.
-                        if (darkTheme) {
-                            nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_dark));
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_night));
                         } else {
-                            nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_light));
+                            nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_enabled_day));
                         }
 
                         // Hide `nightModeTextView`.
@@ -1801,10 +1804,10 @@ public class DomainSettingsFragment extends Fragment {
 
                     case DomainsDatabaseHelper.DISABLED:
                         // Set the icon according to the theme.
-                        if (darkTheme) {
-                            nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_dark));
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_night));
                         } else {
-                            nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_light));
+                            nightModeImageView.setImageDrawable(resources.getDrawable(R.drawable.night_mode_disabled_day));
                         }
 
                         // Hide `nightModeTextView`.
@@ -1843,10 +1846,10 @@ public class DomainSettingsFragment extends Fragment {
                         domStorageSwitch.setChecked(false);
 
                         // Set the icon according to the theme.
-                        if (darkTheme) {
-                            domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_dark));
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_night));
                         } else {
-                            domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_light));
+                            domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_disabled_day));
                         }
                     }
                 } else {  // JavaScript is disabled.
@@ -1861,10 +1864,10 @@ public class DomainSettingsFragment extends Fragment {
                     }
 
                     // Set the icon according to the theme.
-                    if (darkTheme) {
-                        domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_dark));
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_night));
                     } else {
-                        domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_light));
+                        domStorageImageView.setImageDrawable(resources.getDrawable(R.drawable.dom_storage_ghosted_day));
                     }
                 }
             }
@@ -1884,16 +1887,16 @@ public class DomainSettingsFragment extends Fragment {
                     case DomainsDatabaseHelper.SYSTEM_DEFAULT:
                         if (defaultWideViewport) {  // Wide viewport is enabled by default.
                             // Set the icon according to the theme.
-                            if (darkTheme) {
-                                wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_dark));
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_night));
                             } else {
-                                wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_light));
+                                wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_day));
                             }
                         } else {  // Wide viewport is disabled by default.
-                            if (darkTheme) {
-                                wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_dark));
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_night));
                             } else {
-                                wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_light));
+                                wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_day));
                             }
                         }
 
@@ -1903,10 +1906,10 @@ public class DomainSettingsFragment extends Fragment {
 
                     case DomainsDatabaseHelper.ENABLED:
                         // Set the icon according to the theme.
-                        if (darkTheme) {
-                            wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_dark));
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_night));
                         } else {
-                            wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_light));
+                            wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_enabled_day));
                         }
 
                         // Hide the wide viewport text view.
@@ -1915,10 +1918,10 @@ public class DomainSettingsFragment extends Fragment {
 
                     case DomainsDatabaseHelper.DISABLED:
                         // Set the icon according to the theme.
-                        if (darkTheme) {
-                            wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_dark));
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_night));
                         } else {
-                            wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_light));
+                            wideViewportImageView.setImageDrawable(resources.getDrawable(R.drawable.wide_viewport_disabled_day));
                         }
 
                         // Hid ethe wide viewport text view.
@@ -1942,17 +1945,17 @@ public class DomainSettingsFragment extends Fragment {
                     case DomainsDatabaseHelper.SYSTEM_DEFAULT:
                         if (defaultDisplayWebpageImages) {  // Display webpage images is enabled by default.
                             // Set the icon according to the theme.
-                            if (darkTheme) {
-                                displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_dark));
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_night));
                             } else {
-                                displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_light));
+                                displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_day));
                             }
                         } else {  // Display webpage images is disabled by default.
                             // Set the icon according to the theme.
-                            if (darkTheme) {
-                                displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_dark));
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_night));
                             } else {
-                                displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_light));
+                                displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_day));
                             }
                         }
 
@@ -1962,10 +1965,10 @@ public class DomainSettingsFragment extends Fragment {
 
                     case DomainsDatabaseHelper.ENABLED:
                         // Set the icon according to the theme.
-                        if (darkTheme) {
-                            displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_dark));
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_night));
                         } else {
-                            displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_light));
+                            displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_enabled_day));
                         }
 
                         // Hide the display images text view.
@@ -1974,10 +1977,10 @@ public class DomainSettingsFragment extends Fragment {
 
                     case DomainsDatabaseHelper.DISABLED:
                         // Set the icon according to the theme.
-                        if (darkTheme) {
-                            displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_dark));
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_night));
                         } else {
-                            displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_light));
+                            displayWebpageImagesImageView.setImageDrawable(resources.getDrawable(R.drawable.images_disabled_day));
                         }
 
                         // Hide the display images text view.
@@ -1997,10 +2000,10 @@ public class DomainSettingsFragment extends Fragment {
             // Update the icon.
             if (isChecked) {  // SSL certificate pinning is enabled.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_night));
                 } else {
-                    pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_light));
+                    pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_day));
                 }
 
                 // Update the visibility of the saved SSL certificate.
@@ -2037,7 +2040,7 @@ public class DomainSettingsFragment extends Fragment {
                     savedSslCertificateLinearLayout.setBackgroundResource(R.color.transparent);
 
                     // Darken the background of the current website SSL certificate linear layout according to the theme.
-                    if (darkTheme) {
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                         currentWebsiteCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_33);
                     } else {
                         currentWebsiteCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -2056,7 +2059,7 @@ public class DomainSettingsFragment extends Fragment {
                     currentWebsiteCertificateLinearLayout.setBackgroundResource(R.color.transparent);
 
                     // Darken the background of the saved SSL certificate linear layout according to the theme.
-                    if (darkTheme) {
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                         savedSslCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_33);
                     } else {
                         savedSslCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -2074,10 +2077,10 @@ public class DomainSettingsFragment extends Fragment {
                 }
             } else {  // SSL certificate pinning is disabled.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_night));
                 } else {
-                    pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_light));
+                    pinnedSslCertificateImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_day));
                 }
 
                 // Hide the SSl certificates and instructions.
@@ -2102,7 +2105,7 @@ public class DomainSettingsFragment extends Fragment {
             savedSslCertificateLinearLayout.setBackgroundResource(R.color.transparent);
 
             // Darken the background of the current website SSL certificate linear layout according to the theme.
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 currentWebsiteCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_33);
             } else {
                 currentWebsiteCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -2120,7 +2123,7 @@ public class DomainSettingsFragment extends Fragment {
             savedSslCertificateLinearLayout.setBackgroundResource(R.color.transparent);
 
             // Darken the background of the current website SSL certificate linear layout according to the theme.
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 currentWebsiteCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_33);
             } else {
                 currentWebsiteCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -2138,7 +2141,7 @@ public class DomainSettingsFragment extends Fragment {
             currentWebsiteCertificateLinearLayout.setBackgroundResource(R.color.transparent);
 
             // Darken the background of the saved SSL certificate linear layout according to the theme.
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 savedSslCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_33);
             } else {
                 savedSslCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -2156,7 +2159,7 @@ public class DomainSettingsFragment extends Fragment {
             currentWebsiteCertificateLinearLayout.setBackgroundResource(R.color.transparent);
 
             // Darken the background of the saved SSL certificate linear layout according to the theme.
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 savedSslCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_33);
             } else {
                 savedSslCertificateLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -2168,10 +2171,10 @@ public class DomainSettingsFragment extends Fragment {
             // Update the icon.
             if (isChecked) {  // IP addresses pinning is enabled.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_night));
                 } else {
-                    pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_light));
+                    pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_enabled_day));
                 }
 
                 // Update the visibility of the saved IP addresses card view.
@@ -2196,7 +2199,7 @@ public class DomainSettingsFragment extends Fragment {
                     savedSslCertificateLinearLayout.setBackgroundResource(R.color.transparent);
 
                     // Darken the background of the current IP addresses linear layout according to the theme.
-                    if (darkTheme) {
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                         currentIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_33);
                     } else {
                         currentIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -2212,7 +2215,7 @@ public class DomainSettingsFragment extends Fragment {
                     currentIpAddressesLinearLayout.setBackgroundResource(R.color.transparent);
 
                     // Darken the background of the saved IP addresses linear layout according to the theme.
-                    if (darkTheme) {
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                         savedIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_33);
                     } else {
                         savedIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -2223,10 +2226,10 @@ public class DomainSettingsFragment extends Fragment {
                 currentIpAddressesCardView.getParent().requestChildFocus(currentIpAddressesCardView, currentIpAddressesCardView);
             } else {  // IP addresses pinning is disabled.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_dark));
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_night));
                 } else {
-                    pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_light));
+                    pinnedIpAddressesImageView.setImageDrawable(resources.getDrawable(R.drawable.ssl_certificate_disabled_day));
                 }
 
                 // Hide the IP addresses card views.
@@ -2250,7 +2253,7 @@ public class DomainSettingsFragment extends Fragment {
             savedIpAddressesLinearLayout.setBackgroundResource(R.color.transparent);
 
             // Darken the background of the current IP addresses linear layout according to the theme.
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 currentIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_33);
             } else {
                 currentIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -2268,7 +2271,7 @@ public class DomainSettingsFragment extends Fragment {
             savedIpAddressesLinearLayout.setBackgroundResource(R.color.transparent);
 
             // Darken the background of the current IP addresses linear layout according to the theme.
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 currentIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_33);
             } else {
                 currentIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -2286,7 +2289,7 @@ public class DomainSettingsFragment extends Fragment {
             currentIpAddressesLinearLayout.setBackgroundResource(R.color.transparent);
 
             // Darken the background of the saved IP addresses linear layout according to the theme.
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 savedIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_33);
             } else {
                 savedIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_11);
@@ -2304,7 +2307,7 @@ public class DomainSettingsFragment extends Fragment {
             currentIpAddressesLinearLayout.setBackgroundResource(R.color.transparent);
 
             // Darken the background of the saved IP addresses linear layout according to the theme.
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 savedIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_33);
             } else {
                 savedIpAddressesLinearLayout.setBackgroundResource(R.color.black_translucent_11);
index 2bf499e4d21ffb28d91d0bb92c92668031713da8..2aa974b9f2a9576d6b037ad6e17986495da51a84 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -20,9 +20,8 @@
 package com.stoutner.privacybrowser.fragments;
 
 import android.content.Context;
-import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.os.Bundle;
-import android.preference.PreferenceManager;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -30,7 +29,7 @@ import android.widget.AdapterView;
 import android.widget.ListView;
 
 import androidx.annotation.NonNull;
-import androidx.fragment.app.Fragment;  // The AndroidX fragment must be used until minimum API >= 23.  Otherwise `getContext()` does not work.
+import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 
 import com.google.android.material.floatingactionbutton.FloatingActionButton;
@@ -47,7 +46,7 @@ public class DomainsListFragment extends Fragment {
         void dismissSnackbar();
     }
 
-    public void onAttach(Context context) {
+    public void onAttach(@NonNull Context context) {
         // Run the default commands.
         super.onAttach(context);
 
@@ -77,12 +76,15 @@ public class DomainsListFragment extends Fragment {
                 // Get a handle for the domain settings fragment.
                 Fragment domainSettingsFragment = supportFragmentManager.findFragmentById(R.id.domain_settings_fragment_container);
 
-                // Remove the incorrect lint error below that the domain settings fragment might be null.
+                // Remove the incorrect lint warning below that the domain settings fragment might be null.
                 assert domainSettingsFragment != null;
 
                 // Get a handle for the domain settings fragment view.
                 View domainSettingsFragmentView = domainSettingsFragment.getView();
 
+                // Remove the incorrect lint warning below that the domain settings fragment view might be null.
+                assert domainSettingsFragmentView != null;
+
                 // Get a handle for the domains activity.
                 DomainsActivity domainsActivity = new DomainsActivity();
 
@@ -108,17 +110,14 @@ public class DomainsListFragment extends Fragment {
                     // Enable the delete menu item.
                     DomainsActivity.deleteMenuItem.setEnabled(true);
 
-                    // Get a handle for the shared preferences.
-                    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-                    // Get the theme preferences.
-                    boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
+                    // Get the current theme status.
+                    int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
                     // Set the delete icon according to the theme.
-                    if (darkTheme) {
-                        DomainsActivity.deleteMenuItem.setIcon(R.drawable.delete_dark);
+                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                        DomainsActivity.deleteMenuItem.setIcon(R.drawable.delete_night);
                     } else {
-                        DomainsActivity.deleteMenuItem.setIcon(R.drawable.delete_light);
+                        DomainsActivity.deleteMenuItem.setIcon(R.drawable.delete_day);
                     }
                 }
 
index e40f06619cd8e8523d11e995b795f69176387014..6a2e82f113621e106d86e6a5c04471845843913e 100644 (file)
@@ -20,9 +20,8 @@
 package com.stoutner.privacybrowser.fragments;
 
 import android.annotation.SuppressLint;
-import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.os.Bundle;
-import android.preference.PreferenceManager;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -68,20 +67,17 @@ public class GuideTabFragment extends Fragment {
     @SuppressLint("SetJavaScriptEnabled")
     @Override
     public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
-        // Get a handle for the shared preferences.
-        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
-
-        // Get the theme preference.
-        boolean darkTheme = sharedPreferences.getBoolean("dark_theme", false);
-
         // Setting false at the end of inflater.inflate does not attach the inflated layout as a child of container.  The fragment will take care of attaching the root automatically.
         View tabLayout = inflater.inflate(R.layout.bare_webview, container, false);
 
-        // Get a handle for `tabWebView`.
+        // Get a handle for the tab WebView.
         WebView tabWebView = (WebView) tabLayout;
 
+        // Get the current theme status.
+        int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
         // Load the tabs according to the theme.
-        if (darkTheme) {  // The dark theme is applied.
+        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {  // The dark theme is applied.
             tabWebView.setBackgroundColor(getResources().getColor(R.color.gray_850));
 
             // Tab numbers start at 0.
index 8e533363a92892b0a67fa149fa2a5e20e0c31f58..0c8d39b9be48ccfcd7e230eaa86750bf71fafca7 100644 (file)
@@ -24,6 +24,7 @@ import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
+import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.os.Build;
 import android.os.Bundle;
@@ -33,6 +34,7 @@ import android.view.View;
 import android.webkit.WebView;
 import android.widget.ArrayAdapter;
 
+import androidx.appcompat.app.AppCompatDelegate;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceFragmentCompat;
@@ -46,6 +48,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
     // Define the class variables.
     private SharedPreferences.OnSharedPreferenceChangeListener preferencesListener;
     private SharedPreferences savedPreferences;
+    private int currentThemeStatus;
 
     @Override
     public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
@@ -62,6 +65,9 @@ public class SettingsFragment extends PreferenceFragmentCompat {
         Context context = activity.getApplicationContext();
         Resources resources = getResources();
 
+        // Get the current theme status.
+        currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
+
         // Initialize savedPreferences.
         savedPreferences = getPreferenceScreen().getSharedPreferences();
 
@@ -105,7 +111,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
         Preference swipeToRefreshPreference = findPreference("swipe_to_refresh");
         Preference scrollAppBarPreference = findPreference("scroll_app_bar");
         Preference displayAdditionalAppBarIconsPreference = findPreference("display_additional_app_bar_icons");
-        Preference darkThemePreference = findPreference("dark_theme");
+        Preference appThemePreference = findPreference("app_theme");
         Preference nightModePreference = findPreference("night_mode");
         Preference wideViewportPreference = findPreference("wide_viewport");
         Preference displayWebpageImagesPreference = findPreference("display_webpage_images");
@@ -150,7 +156,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
         assert swipeToRefreshPreference != null;
         assert scrollAppBarPreference != null;
         assert displayAdditionalAppBarIconsPreference != null;
-        assert darkThemePreference != null;
+        assert appThemePreference != null;
         assert nightModePreference != null;
         assert wideViewportPreference != null;
         assert displayWebpageImagesPreference != null;
@@ -172,7 +178,6 @@ public class SettingsFragment extends PreferenceFragmentCompat {
         boolean fanboySocialBlockingEnabled = savedPreferences.getBoolean("fanboys_social_blocking_list", true);
         boolean fullScreenBrowsingMode = savedPreferences.getBoolean("full_screen_browsing_mode", false);
         boolean clearEverything = savedPreferences.getBoolean("clear_everything", true);
-        boolean darkTheme = savedPreferences.getBoolean("dark_theme", false);
         boolean nightMode = savedPreferences.getBoolean("night_mode", false);
 
         // Only enable the third-party cookies preference if first-party cookies are enabled and API >= 21.
@@ -330,6 +335,29 @@ public class SettingsFragment extends PreferenceFragmentCompat {
         fontSizePreference.setSummary(savedPreferences.getString("font_size", getString(R.string.font_size_default_value)) + "%");
 
 
+        // Get the theme string arrays.
+        String[] appThemeEntriesStringArray = resources.getStringArray(R.array.app_theme_entries);
+        String[] appThemeEntryValuesStringArray = resources.getStringArray(R.array.app_theme_entry_values);
+
+        // Get the current theme.
+        String currentAppTheme = savedPreferences.getString("app_theme", getString(R.string.app_theme_default_value));
+
+        // Define a theme entry number.
+        int appThemeEntryNumber;
+
+        // Get the theme entry number that matches the current theme.  A switch statement cannot be used because the theme entry values string array is not a compile time constant.
+        if (currentAppTheme.equals(appThemeEntryValuesStringArray[1])) {  // The light theme is selected.
+            appThemeEntryNumber = 1;
+        } else if (currentAppTheme.equals(appThemeEntryValuesStringArray[2])) {  // The dark theme is selected.
+            appThemeEntryNumber = 2;
+        } else {  // The system default theme is selected.
+            appThemeEntryNumber = 0;
+        }
+
+        // Set the current theme as the summary text for the preference.
+        appThemePreference.setSummary(appThemeEntriesStringArray[appThemeEntryNumber]);
+
+
         // Disable the JavaScript preference if Night Mode is enabled.  JavaScript will be enabled for all web pages.
         javaScriptPreference.setEnabled(!nightMode);
 
@@ -344,10 +372,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
         if (firstPartyCookiesEnabled) {
             firstPartyCookiesPreference.setIcon(R.drawable.cookies_enabled);
         } else {
-            if (darkTheme) {
-                firstPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                firstPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_night);
             } else {
-                firstPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_light);
+                firstPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_day);
             }
         }
 
@@ -356,17 +384,17 @@ public class SettingsFragment extends PreferenceFragmentCompat {
             if (thirdPartyCookiesEnabled) {
                 thirdPartyCookiesPreference.setIcon(R.drawable.cookies_warning);
             } else {
-                if (darkTheme) {
-                    thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_dark);
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_night);
                 } else {
-                    thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_light);
+                    thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_day);
                 }
             }
         } else {
-            if (darkTheme) {
-                thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_night);
             } else {
-                thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_light);
+                thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_day);
             }
         }
 
@@ -375,17 +403,17 @@ public class SettingsFragment extends PreferenceFragmentCompat {
             if (savedPreferences.getBoolean("dom_storage", false)) {  // DOM storage is enabled.
                 domStoragePreference.setIcon(R.drawable.dom_storage_enabled);
             } else {  // DOM storage is disabled.
-                if (darkTheme) {
-                    domStoragePreference.setIcon(R.drawable.dom_storage_disabled_dark);
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    domStoragePreference.setIcon(R.drawable.dom_storage_disabled_night);
                 } else {
-                    domStoragePreference.setIcon(R.drawable.dom_storage_disabled_light);
+                    domStoragePreference.setIcon(R.drawable.dom_storage_disabled_day);
                 }
             }
         } else {  // The preference is disabled.  The icon should be ghosted.
-            if (darkTheme) {
-                domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_night);
             } else {
-                domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_light);
+                domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_day);
             }
         }
 
@@ -394,283 +422,283 @@ public class SettingsFragment extends PreferenceFragmentCompat {
             if (savedPreferences.getBoolean("save_form_data", false)) {
                 formDataPreference.setIcon(R.drawable.form_data_enabled);
             } else {
-                if (darkTheme) {
-                    formDataPreference.setIcon(R.drawable.form_data_disabled_dark);
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    formDataPreference.setIcon(R.drawable.form_data_disabled_night);
                 } else {
-                    formDataPreference.setIcon(R.drawable.form_data_disabled_light);
+                    formDataPreference.setIcon(R.drawable.form_data_disabled_day);
                 }
             }
         }
 
         // Set the custom user agent icon.
         if (customUserAgentPreference.isEnabled()) {
-            if (darkTheme) {
-                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_enabled_night);
             } else {
-                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_enabled_light);
+                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_night);
             } else {
-                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_light);
+                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_day);
             }
         }
 
         // Set the incognito mode icon.
         if (savedPreferences.getBoolean("incognito_mode", false)) {
-            if (darkTheme) {
-                incognitoModePreference.setIcon(R.drawable.incognito_mode_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                incognitoModePreference.setIcon(R.drawable.incognito_mode_enabled_night);
             } else {
-                incognitoModePreference.setIcon(R.drawable.incognito_mode_enabled_light);
+                incognitoModePreference.setIcon(R.drawable.incognito_mode_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                incognitoModePreference.setIcon(R.drawable.incognito_mode_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                incognitoModePreference.setIcon(R.drawable.incognito_mode_disabled_night);
             } else {
-                incognitoModePreference.setIcon(R.drawable.incognito_mode_disabled_light);
+                incognitoModePreference.setIcon(R.drawable.incognito_mode_disabled_day);
             }
         }
 
         // Set the Do Not Track icon.
         if (savedPreferences.getBoolean("do_not_track", false)) {
-            if (darkTheme) {
-                doNotTrackPreference.setIcon(R.drawable.block_tracking_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                doNotTrackPreference.setIcon(R.drawable.block_tracking_enabled_night);
             } else {
-                doNotTrackPreference.setIcon(R.drawable.block_tracking_enabled_light);
+                doNotTrackPreference.setIcon(R.drawable.block_tracking_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                doNotTrackPreference.setIcon(R.drawable.block_tracking_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                doNotTrackPreference.setIcon(R.drawable.block_tracking_disabled_night);
             } else {
-                doNotTrackPreference.setIcon(R.drawable.block_tracking_disabled_light);
+                doNotTrackPreference.setIcon(R.drawable.block_tracking_disabled_day);
             }
         }
 
         // Set the allow screenshots icon.
         if (savedPreferences.getBoolean("allow_screenshots", false)) {
-            if (darkTheme) {
-                allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_night);
             } else {
-                allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_light);
+                allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_night);
             } else {
-                allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_light);
+                allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_day);
             }
         }
 
         // Set the EasyList icon.
         if (savedPreferences.getBoolean("easylist", true)) {
-            if (darkTheme) {
-                easyListPreference.setIcon(R.drawable.block_ads_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                easyListPreference.setIcon(R.drawable.block_ads_enabled_night);
             } else {
-                easyListPreference.setIcon(R.drawable.block_ads_enabled_light);
+                easyListPreference.setIcon(R.drawable.block_ads_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                easyListPreference.setIcon(R.drawable.block_ads_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                easyListPreference.setIcon(R.drawable.block_ads_disabled_night);
             } else {
-                easyListPreference.setIcon(R.drawable.block_ads_disabled_light);
+                easyListPreference.setIcon(R.drawable.block_ads_disabled_day);
             }
         }
 
         // Set the EasyPrivacy icon.
         if (savedPreferences.getBoolean("easyprivacy", true)) {
-            if (darkTheme) {
-                easyPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                easyPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_night);
             } else {
-                easyPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_light);
+                easyPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                easyPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                easyPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_night);
             } else {
-                easyPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_light);
+                easyPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_day);
             }
         }
 
         // Set the Fanboy lists icons.
         if (fanboyAnnoyanceListEnabled) {
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 // Set the Fanboy annoyance list icon.
-                fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_enabled_dark);
+                fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_enabled_night);
 
                 // Set the Fanboy social blocking list icon.
-                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_ghosted_dark);
+                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_ghosted_night);
             } else {
                 // Set the Fanboy annoyance list icon.
-                fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_enabled_light);
+                fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_enabled_day);
 
                 // Set the Fanboy social blocking list icon.
-                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_ghosted_light);
+                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_ghosted_day);
             }
         } else {
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 // Set the Fanboy annoyance list icon.
-                fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_disabled_dark);
+                fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_disabled_night);
 
                 // Set the Fanboy social blocking list icon.
                 if (fanboySocialBlockingEnabled) {
-                    fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_dark);
+                    fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_night);
                 } else {
-                    fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_dark);
+                    fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_night);
                 }
             } else {
                 // Set the Fanboy annoyance list icon.
-                fanboyAnnoyanceListPreference.setIcon(R.drawable.block_ads_disabled_light);
+                fanboyAnnoyanceListPreference.setIcon(R.drawable.block_ads_disabled_day);
 
                 // Set the Fanboy social blocking list icon.
                 if (fanboySocialBlockingEnabled) {
-                    fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_light);
+                    fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_day);
                 } else {
-                    fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_light);
+                    fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_day);
                 }
             }
         }
 
         // Set the UltraList icon.
         if (savedPreferences.getBoolean("ultralist", true)){
-            if (darkTheme) {
-                ultraListPreference.setIcon(R.drawable.block_ads_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                ultraListPreference.setIcon(R.drawable.block_ads_enabled_night);
             } else {
-                ultraListPreference.setIcon(R.drawable.block_ads_enabled_light);
+                ultraListPreference.setIcon(R.drawable.block_ads_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                ultraListPreference.setIcon(R.drawable.block_ads_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                ultraListPreference.setIcon(R.drawable.block_ads_disabled_night);
             } else {
-                ultraListPreference.setIcon(R.drawable.block_ads_disabled_light);
+                ultraListPreference.setIcon(R.drawable.block_ads_disabled_day);
             }
         }
 
         // Set the UltraPrivacy icon.
         if (savedPreferences.getBoolean("ultraprivacy", true)) {
-            if (darkTheme) {
-                ultraPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                ultraPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_night);
             } else {
-                ultraPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_light);
+                ultraPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                ultraPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                ultraPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_night);
             } else {
-                ultraPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_light);
+                ultraPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_day);
             }
         }
 
         // Set the block all third-party requests icon.
         if (savedPreferences.getBoolean("block_all_third_party_requests", false)) {
-            if (darkTheme) {
-                blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_enabled_night);
             } else {
-                blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_enabled_light);
+                blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_disabled_night);
             } else {
-                blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_disabled_light);
+                blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_disabled_day);
             }
         }
 
         // Set the Google Analytics icon according to the theme.
         if (savedPreferences.getBoolean("google_analytics", true)) {
-            if (darkTheme) {
-                googleAnalyticsPreference.setIcon(R.drawable.modify_url_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                googleAnalyticsPreference.setIcon(R.drawable.modify_url_enabled_night);
             } else {
-                googleAnalyticsPreference.setIcon(R.drawable.modify_url_enabled_light);
+                googleAnalyticsPreference.setIcon(R.drawable.modify_url_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                googleAnalyticsPreference.setIcon(R.drawable.modify_url_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                googleAnalyticsPreference.setIcon(R.drawable.modify_url_disabled_night);
             } else {
-                googleAnalyticsPreference.setIcon(R.drawable.modify_url_disabled_light);
+                googleAnalyticsPreference.setIcon(R.drawable.modify_url_disabled_day);
             }
         }
 
         // Set the Facebook Click IDs icon according to the theme.
         if (savedPreferences.getBoolean("facebook_click_ids", true)) {
-            if (darkTheme) {
-                facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_night);
             } else {
-                facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_light);
+                facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_night);
             } else {
-                facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_light);
+                facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_day);
             }
         }
 
         // Set the Twitter AMP redirects icon according to the theme.
         if (savedPreferences.getBoolean("twitter_amp_redirects", true)) {
-            if (darkTheme) {
-                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_night);
             } else {
-                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_light);
+                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_night);
             } else {
-                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_light);
+                twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_day);
             }
         }
 
         // Set the search custom URL icon.
         if (searchCustomURLPreference.isEnabled()) {
-            if (darkTheme) {
-                searchCustomURLPreference.setIcon(R.drawable.search_custom_url_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                searchCustomURLPreference.setIcon(R.drawable.search_custom_url_enabled_night);
             } else {
-                searchCustomURLPreference.setIcon(R.drawable.search_custom_url_enabled_light);
+                searchCustomURLPreference.setIcon(R.drawable.search_custom_url_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                searchCustomURLPreference.setIcon(R.drawable.search_custom_url_ghosted_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                searchCustomURLPreference.setIcon(R.drawable.search_custom_url_ghosted_night);
             } else {
-                searchCustomURLPreference.setIcon(R.drawable.search_custom_url_ghosted_light);
+                searchCustomURLPreference.setIcon(R.drawable.search_custom_url_ghosted_day);
             }
         }
 
         // Set the Proxy icons according to the theme and status.
         if (proxyString.equals("None")) {  // Proxying is disabled.
-            if (darkTheme) {  // Dark theme.
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {  // Dark theme.
                 // Set the main proxy icon to be disabled.
-                proxyPreference.setIcon(R.drawable.proxy_disabled_dark);
+                proxyPreference.setIcon(R.drawable.proxy_disabled_night);
 
                 // Set the custom proxy URL icon to be ghosted.
-                proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_dark);
+                proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_night);
             } else {  // Light theme.
                 // Set the main proxy icon to be disabled.
-                proxyPreference.setIcon(R.drawable.proxy_disabled_light);
+                proxyPreference.setIcon(R.drawable.proxy_disabled_day);
 
                 // Set the custom proxy URL icon to be ghosted.
-                proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_light);
+                proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_day);
             }
         } else {  // Proxying is enabled.
-            if (darkTheme) {  // Dark theme.
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {  // Dark theme.
                 // Set the main proxy icon to be enabled.
-                proxyPreference.setIcon(R.drawable.proxy_enabled_dark);
+                proxyPreference.setIcon(R.drawable.proxy_enabled_night);
 
                 // Set the custom proxy URL icon according to its status.
                 if (proxyCustomUrlPreference.isEnabled()) {  // Custom proxy is enabled.
-                    proxyCustomUrlPreference.setIcon(R.drawable.proxy_enabled_dark);
+                    proxyCustomUrlPreference.setIcon(R.drawable.proxy_enabled_night);
                 } else {  // Custom proxy is disabled.
-                    proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_dark);
+                    proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_night);
                 }
             } else {  // Light theme.
                 // Set the main proxy icon to be enabled.
-                proxyPreference.setIcon(R.drawable.proxy_enabled_light);
+                proxyPreference.setIcon(R.drawable.proxy_enabled_day);
 
                 // Set the custom proxy URL icon according to its status.
                 if (proxyCustomUrlPreference.isEnabled()) {  // Custom proxy is enabled.
-                    proxyCustomUrlPreference.setIcon(R.drawable.proxy_enabled_light);
+                    proxyCustomUrlPreference.setIcon(R.drawable.proxy_enabled_day);
                 } else {  // Custom proxy is disabled.
-                    proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_light);
+                    proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_day);
                 }
             }
         }
@@ -678,45 +706,45 @@ public class SettingsFragment extends PreferenceFragmentCompat {
         // Set the full screen browsing mode icons.
         if (fullScreenBrowsingMode) {  // Full screen browsing mode is enabled.
             // Set the `fullScreenBrowsingModePreference` icon according to the theme.
-            if (darkTheme) {
-                fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_enabled_night);
             } else {
-                fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_enabled_light);
+                fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_enabled_day);
             }
 
             // Set the hide app bar icon.
             if (savedPreferences.getBoolean("hide_app_bar", true)) {  // Hide app bar is enabled.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_dark);
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_night);
                 } else {
-                    hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_light);
+                    hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_day);
                 }
             } else {  // Hide app bar is disabled.
                 // Set the icon according to the theme.
-                if (darkTheme) {
-                    hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_dark);
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_night);
                 } else {
-                    hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_light);
+                    hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_day);
                 }
             }
         } else {  // Full screen browsing mode is disabled.
             // Set the icons according to the theme.
-            if (darkTheme) {
-                fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_disabled_dark);
-                hideAppBarPreference.setIcon(R.drawable.app_bar_ghosted_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_disabled_night);
+                hideAppBarPreference.setIcon(R.drawable.app_bar_ghosted_night);
             } else {
-                fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_disabled_light);
-                hideAppBarPreference.setIcon(R.drawable.app_bar_ghosted_light);
+                fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_disabled_day);
+                hideAppBarPreference.setIcon(R.drawable.app_bar_ghosted_day);
             }
         }
 
         // Set the clear everything preference icon.
         if (clearEverything) {
-            if (darkTheme) {
-                clearEverythingPreference.setIcon(R.drawable.clear_everything_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                clearEverythingPreference.setIcon(R.drawable.clear_everything_enabled_night);
             } else {
-                clearEverythingPreference.setIcon(R.drawable.clear_everything_enabled_light);
+                clearEverythingPreference.setIcon(R.drawable.clear_everything_enabled_day);
             }
         } else {
             clearEverythingPreference.setIcon(R.drawable.clear_everything_disabled);
@@ -724,10 +752,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
         // Set the clear cookies preference icon.
         if (clearEverything || savedPreferences.getBoolean("clear_cookies", true)) {
-            if (darkTheme) {
-                clearCookiesPreference.setIcon(R.drawable.cookies_cleared_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                clearCookiesPreference.setIcon(R.drawable.cookies_cleared_night);
             } else {
-                clearCookiesPreference.setIcon(R.drawable.cookies_cleared_light);
+                clearCookiesPreference.setIcon(R.drawable.cookies_cleared_day);
             }
         } else {
             clearCookiesPreference.setIcon(R.drawable.cookies_warning);
@@ -735,10 +763,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
         // Set the clear DOM storage preference icon.
         if (clearEverything || savedPreferences.getBoolean("clear_dom_storage", true)) {
-            if (darkTheme) {
-                clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_night);
             } else {
-                clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_light);
+                clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_day);
             }
         } else {
             clearDomStoragePreference.setIcon(R.drawable.dom_storage_warning);
@@ -747,10 +775,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
         // Set the clear form data preference icon if the API < 26.  It has no effect on newer versions of Android.
         if (Build.VERSION.SDK_INT < 26) {
             if (clearEverything || savedPreferences.getBoolean("clear_form_data", true)) {
-                if (darkTheme) {
-                    clearFormDataPreference.setIcon(R.drawable.form_data_cleared_dark);
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                    clearFormDataPreference.setIcon(R.drawable.form_data_cleared_night);
                 } else {
-                    clearFormDataPreference.setIcon(R.drawable.form_data_cleared_light);
+                    clearFormDataPreference.setIcon(R.drawable.form_data_cleared_day);
                 }
             } else {
                 clearFormDataPreference.setIcon(R.drawable.form_data_warning);
@@ -759,10 +787,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
         // Set the clear cache preference icon.
         if (clearEverything || savedPreferences.getBoolean("clear_cache", true)) {
-            if (darkTheme) {
-                clearCachePreference.setIcon(R.drawable.cache_cleared_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                clearCachePreference.setIcon(R.drawable.cache_cleared_night);
             } else {
-                clearCachePreference.setIcon(R.drawable.cache_cleared_light);
+                clearCachePreference.setIcon(R.drawable.cache_cleared_day);
             }
         } else {
             clearCachePreference.setIcon(R.drawable.cache_warning);
@@ -770,28 +798,28 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
         // Set the download custom location icon.
         if (downloadCustomLocationPreference.isEnabled()) {
-            if (darkTheme) {
-                downloadCustomLocationPreference.setIcon(R.drawable.downloads_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                downloadCustomLocationPreference.setIcon(R.drawable.downloads_enabled_night);
             } else {
-                downloadCustomLocationPreference.setIcon(R.drawable.downloads_enabled_light);
+                downloadCustomLocationPreference.setIcon(R.drawable.downloads_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                downloadCustomLocationPreference.setIcon(R.drawable.downloads_ghosted_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                downloadCustomLocationPreference.setIcon(R.drawable.downloads_ghosted_night);
             } else {
-                downloadCustomLocationPreference.setIcon(R.drawable.downloads_ghosted_light);
+                downloadCustomLocationPreference.setIcon(R.drawable.downloads_ghosted_day);
             }
         }
 
         // Set the open intents in new tab preference icon.
         if (savedPreferences.getBoolean("open_intents_in_new_tab", true)) {
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 openIntentsInNewTabPreference.setIcon(R.drawable.tab_enabled_dark);
             } else {
                 openIntentsInNewTabPreference.setIcon(R.drawable.tab_enabled_light);
             }
         } else {
-            if (darkTheme) {
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                 openIntentsInNewTabPreference.setIcon(R.drawable.tab_disabled_dark);
             } else {
                 openIntentsInNewTabPreference.setIcon(R.drawable.tab_disabled_light);
@@ -800,98 +828,91 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
         // Set the swipe to refresh preference icon.
         if (savedPreferences.getBoolean("swipe_to_refresh", true)) {
-            if (darkTheme) {
-                swipeToRefreshPreference.setIcon(R.drawable.refresh_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                swipeToRefreshPreference.setIcon(R.drawable.refresh_enabled_night);
             } else {
-                swipeToRefreshPreference.setIcon(R.drawable.refresh_enabled_light);
+                swipeToRefreshPreference.setIcon(R.drawable.refresh_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                swipeToRefreshPreference.setIcon(R.drawable.refresh_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                swipeToRefreshPreference.setIcon(R.drawable.refresh_disabled_night);
             } else {
-                swipeToRefreshPreference.setIcon(R.drawable.refresh_disabled_light);
+                swipeToRefreshPreference.setIcon(R.drawable.refresh_disabled_day);
             }
         }
 
         // Set the scroll app bar preference icon.
         if (savedPreferences.getBoolean("scroll_app_bar", true)) {
-            if (darkTheme) {
-                scrollAppBarPreference.setIcon(R.drawable.app_bar_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                scrollAppBarPreference.setIcon(R.drawable.app_bar_enabled_night);
             } else {
-                scrollAppBarPreference.setIcon(R.drawable.app_bar_enabled_light);
+                scrollAppBarPreference.setIcon(R.drawable.app_bar_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                scrollAppBarPreference.setIcon(R.drawable.app_bar_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                scrollAppBarPreference.setIcon(R.drawable.app_bar_disabled_night);
             } else {
-                scrollAppBarPreference.setIcon(R.drawable.app_bar_disabled_light);
+                scrollAppBarPreference.setIcon(R.drawable.app_bar_disabled_day);
             }
         }
 
         // Set the display additional app bar icons preference icon.
         if (savedPreferences.getBoolean("display_additional_app_bar_icons", false)) {
-            if (darkTheme) {
-                displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_enabled_night);
             } else {
-                displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_enabled_light);
+                displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_disabled_night);
             } else {
-                displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_disabled_light);
+                displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_disabled_day);
             }
         }
 
-        // Set the dark theme preference icon.
-        if (savedPreferences.getBoolean("dark_theme", false)) {
-            darkThemePreference.setIcon(R.drawable.theme_dark);
-        } else {
-            darkThemePreference.setIcon(R.drawable.theme_light);
-        }
-
         // Set the night mode preference icon.
         if (nightMode) {
-            if (darkTheme) {
-                nightModePreference.setIcon(R.drawable.night_mode_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                nightModePreference.setIcon(R.drawable.night_mode_enabled_night);
             } else {
-                nightModePreference.setIcon(R.drawable.night_mode_enabled_light);
+                nightModePreference.setIcon(R.drawable.night_mode_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                nightModePreference.setIcon(R.drawable.night_mode_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                nightModePreference.setIcon(R.drawable.night_mode_disabled_night);
             } else {
-                nightModePreference.setIcon(R.drawable.night_mode_disabled_light);
+                nightModePreference.setIcon(R.drawable.night_mode_disabled_day);
             }
         }
 
         // Set the wide viewport preference icon.
         if (savedPreferences.getBoolean("wide_viewport", true)) {
-            if (darkTheme) {
-                wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_night);
             } else {
-                wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_light);
+                wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_night);
             } else {
-                wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_light);
+                wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_day);
             }
         }
 
         // Set the display webpage images preference icon.
         if (savedPreferences.getBoolean("display_webpage_images", true)) {
-            if (darkTheme) {
-                displayWebpageImagesPreference.setIcon(R.drawable.images_enabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                displayWebpageImagesPreference.setIcon(R.drawable.images_enabled_night);
             } else {
-                displayWebpageImagesPreference.setIcon(R.drawable.images_enabled_light);
+                displayWebpageImagesPreference.setIcon(R.drawable.images_enabled_day);
             }
         } else {
-            if (darkTheme) {
-                displayWebpageImagesPreference.setIcon(R.drawable.images_disabled_dark);
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                displayWebpageImagesPreference.setIcon(R.drawable.images_disabled_night);
             } else {
-                displayWebpageImagesPreference.setIcon(R.drawable.images_disabled_light);
+                displayWebpageImagesPreference.setIcon(R.drawable.images_disabled_day);
             }
         }
 
@@ -912,10 +933,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                         if (sharedPreferences.getBoolean("dom_storage", false)) {
                             domStoragePreference.setIcon(R.drawable.dom_storage_enabled);
                         } else {
-                            if (darkTheme) {
-                                domStoragePreference.setIcon(R.drawable.dom_storage_disabled_dark);
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                domStoragePreference.setIcon(R.drawable.dom_storage_disabled_night);
                             } else {
-                                domStoragePreference.setIcon(R.drawable.dom_storage_disabled_light);
+                                domStoragePreference.setIcon(R.drawable.dom_storage_disabled_day);
                             }
                         }
                     } else {  // The JavaScript preference is disabled.
@@ -926,10 +947,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                         domStoragePreference.setEnabled(false);
 
                         // Set the icon for DOM storage preference to be ghosted.
-                        if (darkTheme) {
-                            domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_night);
                         } else {
-                            domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_light);
+                            domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_day);
                         }
                     }
                     break;
@@ -945,32 +966,32 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                             if (sharedPreferences.getBoolean("third_party_cookies", false)) {
                                 thirdPartyCookiesPreference.setIcon(R.drawable.cookies_warning);
                             } else {
-                                if (darkTheme) {
-                                    thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_dark);
+                                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                    thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_night);
                                 } else {
-                                    thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_light);
+                                    thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_day);
                                 }
                             }
                         } else {
-                            if (darkTheme) {
-                                thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_dark);
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_night);
                             } else {
-                                thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_light);
+                                thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_day);
                             }
                         }
                     } else {  // `first_party_cookies` is `false`.
                         // Update the icon for `first_party_cookies`.
-                        if (darkTheme) {
-                            firstPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            firstPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_night);
                         } else {
-                            firstPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_light);
+                            firstPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_day);
                         }
 
                         // Set the icon for `third_party_cookies` to be ghosted.
-                        if (darkTheme) {
-                            thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_night);
                         } else {
-                            thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_light);
+                            thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_day);
                         }
                     }
 
@@ -983,10 +1004,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                     if (sharedPreferences.getBoolean("third_party_cookies", false)) {
                         thirdPartyCookiesPreference.setIcon(R.drawable.cookies_warning);
                     } else {
-                        if (darkTheme) {
-                            thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_night);
                         } else {
-                            thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_light);
+                            thirdPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_day);
                         }
                     }
                     break;
@@ -996,10 +1017,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                     if (sharedPreferences.getBoolean("dom_storage", false)) {
                         domStoragePreference.setIcon(R.drawable.dom_storage_enabled);
                     } else {
-                        if (darkTheme) {
-                            domStoragePreference.setIcon(R.drawable.dom_storage_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            domStoragePreference.setIcon(R.drawable.dom_storage_disabled_night);
                         } else {
-                            domStoragePreference.setIcon(R.drawable.dom_storage_disabled_light);
+                            domStoragePreference.setIcon(R.drawable.dom_storage_disabled_day);
                         }
                     }
                     break;
@@ -1010,10 +1031,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                     if (sharedPreferences.getBoolean("save_form_data", false)) {
                         formDataPreference.setIcon(R.drawable.form_data_enabled);
                     } else {
-                        if (darkTheme) {
-                            formDataPreference.setIcon(R.drawable.form_data_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            formDataPreference.setIcon(R.drawable.form_data_disabled_night);
                         } else {
-                            formDataPreference.setIcon(R.drawable.form_data_disabled_light);
+                            formDataPreference.setIcon(R.drawable.form_data_disabled_day);
                         }
                     }
                     break;
@@ -1038,10 +1059,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                             customUserAgentPreference.setEnabled(false);
 
                             // Set the custom user agent preference icon according to the theme.
-                            if (darkTheme) {
-                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_dark);
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_night);
                             } else {
-                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_light);
+                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_day);
                             }
                             break;
 
@@ -1053,10 +1074,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                             customUserAgentPreference.setEnabled(true);
 
                             // Set the custom user agent preference icon according to the theme.
-                            if (darkTheme) {
-                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_enabled_dark);
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_enabled_night);
                             } else {
-                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_enabled_light);
+                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_enabled_day);
                             }
                             break;
 
@@ -1068,10 +1089,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                             customUserAgentPreference.setEnabled(false);
 
                             // Set the custom user agent preference icon according to the theme.
-                            if (darkTheme) {
-                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_dark);
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_night);
                             } else {
-                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_light);
+                                customUserAgentPreference.setIcon(R.drawable.custom_user_agent_ghosted_day);
                             }
                     }
                     break;
@@ -1084,16 +1105,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "incognito_mode":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("incognito_mode", false)) {
-                        if (darkTheme) {
-                            incognitoModePreference.setIcon(R.drawable.incognito_mode_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            incognitoModePreference.setIcon(R.drawable.incognito_mode_enabled_night);
                         } else {
-                            incognitoModePreference.setIcon(R.drawable.incognito_mode_enabled_light);
+                            incognitoModePreference.setIcon(R.drawable.incognito_mode_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            incognitoModePreference.setIcon(R.drawable.incognito_mode_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            incognitoModePreference.setIcon(R.drawable.incognito_mode_disabled_night);
                         } else {
-                            incognitoModePreference.setIcon(R.drawable.incognito_mode_disabled_light);
+                            incognitoModePreference.setIcon(R.drawable.incognito_mode_disabled_day);
                         }
                     }
                     break;
@@ -1101,16 +1122,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "do_not_track":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("do_not_track", false)) {
-                        if (darkTheme) {
-                            doNotTrackPreference.setIcon(R.drawable.block_tracking_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            doNotTrackPreference.setIcon(R.drawable.block_tracking_enabled_night);
                         } else {
-                            doNotTrackPreference.setIcon(R.drawable.block_tracking_enabled_light);
+                            doNotTrackPreference.setIcon(R.drawable.block_tracking_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            doNotTrackPreference.setIcon(R.drawable.block_tracking_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            doNotTrackPreference.setIcon(R.drawable.block_tracking_disabled_night);
                         } else {
-                            doNotTrackPreference.setIcon(R.drawable.block_tracking_disabled_light);
+                            doNotTrackPreference.setIcon(R.drawable.block_tracking_disabled_day);
                         }
                     }
 
@@ -1119,16 +1140,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "allow_screenshots":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("allow_screenshots", false)) {
-                        if (darkTheme) {
-                            allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_night);
                         } else {
-                            allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_light);
+                            allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_night);
                         } else {
-                            allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_light);
+                            allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_day);
                         }
                     }
 
@@ -1160,16 +1181,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "easylist":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("easylist", true)) {
-                        if (darkTheme) {
-                            easyListPreference.setIcon(R.drawable.block_ads_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            easyListPreference.setIcon(R.drawable.block_ads_enabled_night);
                         } else {
-                            easyListPreference.setIcon(R.drawable.block_ads_enabled_light);
+                            easyListPreference.setIcon(R.drawable.block_ads_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            easyListPreference.setIcon(R.drawable.block_ads_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            easyListPreference.setIcon(R.drawable.block_ads_disabled_night);
                         } else {
-                            easyListPreference.setIcon(R.drawable.block_ads_disabled_light);
+                            easyListPreference.setIcon(R.drawable.block_ads_disabled_day);
                         }
                     }
                     break;
@@ -1177,16 +1198,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "easyprivacy":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("easyprivacy", true)) {
-                        if (darkTheme) {
-                            easyPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            easyPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_night);
                         } else {
-                            easyPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_light);
+                            easyPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            easyPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            easyPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_night);
                         } else {
-                            easyPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_light);
+                            easyPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_day);
                         }
                     }
                     break;
@@ -1197,39 +1218,39 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
                     // Update the Fanboy icons.
                     if (currentFanboyAnnoyanceList) {  // Fanboy's annoyance list is enabled.
-                        if (darkTheme) {
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                             // Update the Fanboy's annoyance list icon.
-                            fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_enabled_dark);
+                            fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_enabled_night);
 
                             // Update the Fanboy's social blocking list icon.
-                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_ghosted_dark);
+                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_ghosted_night);
                         } else {
                             // Update the Fanboy's annoyance list icon.
-                            fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_enabled_light);
+                            fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_enabled_day);
 
                             // Update the Fanboy's social blocking list icon.
-                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_ghosted_light);
+                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_ghosted_day);
                         }
                     } else {  // Fanboy's annoyance list is disabled.
-                        if (darkTheme) {
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                             // Update the Fanboy's annoyance list icon.
-                            fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_disabled_dark);
+                            fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_disabled_night);
 
                             // Update the Fanboy's social blocking list icon.
                             if (currentFanboySocialBlockingList) {
-                                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_dark);
+                                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_night);
                             } else {
-                                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_dark);
+                                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_night);
                             }
                         } else {
                             // Update the Fanboy's annoyance list icon.
-                            fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_disabled_light);
+                            fanboyAnnoyanceListPreference.setIcon(R.drawable.social_media_disabled_day);
 
                             // Update the Fanboy's social blocking list icon.
                             if (currentFanboySocialBlockingList) {
-                                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_light);
+                                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_day);
                             } else {
-                                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_light);
+                                fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_day);
                             }
                         }
                     }
@@ -1241,16 +1262,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "fanboys_social_blocking_list":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("fanboys_social_blocking_list", true)) {
-                        if (darkTheme) {
-                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_night);
                         } else {
-                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_light);
+                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_night);
                         } else {
-                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_light);
+                            fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_disabled_day);
                         }
                     }
                     break;
@@ -1258,16 +1279,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "ultralist":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("ultralist", true)) {
-                        if (darkTheme) {
-                            ultraListPreference.setIcon(R.drawable.block_ads_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            ultraListPreference.setIcon(R.drawable.block_ads_enabled_night);
                         } else {
-                            ultraListPreference.setIcon(R.drawable.block_ads_enabled_light);
+                            ultraListPreference.setIcon(R.drawable.block_ads_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            ultraListPreference.setIcon(R.drawable.block_ads_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            ultraListPreference.setIcon(R.drawable.block_ads_disabled_night);
                         } else {
-                            ultraListPreference.setIcon(R.drawable.block_ads_disabled_light);
+                            ultraListPreference.setIcon(R.drawable.block_ads_disabled_day);
                         }
                     }
                     break;
@@ -1275,16 +1296,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "ultraprivacy":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("ultraprivacy", true)) {
-                        if (darkTheme) {
-                            ultraPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            ultraPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_night);
                         } else {
-                            ultraPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_light);
+                            ultraPrivacyPreference.setIcon(R.drawable.block_tracking_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            ultraPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            ultraPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_night);
                         } else {
-                            ultraPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_light);
+                            ultraPrivacyPreference.setIcon(R.drawable.block_tracking_disabled_day);
                         }
                     }
                     break;
@@ -1292,16 +1313,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "block_all_third_party_requests":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("block_all_third_party_requests", false)) {
-                        if (darkTheme) {
-                            blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_enabled_night);
                         } else {
-                            blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_enabled_light);
+                            blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_disabled_night);
                         } else {
-                            blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_disabled_light);
+                            blockAllThirdPartyRequestsPreference.setIcon(R.drawable.block_all_third_party_requests_disabled_day);
                         }
                     }
                     break;
@@ -1309,16 +1330,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "google_analytics":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("google_analytics", true)) {
-                        if (darkTheme) {
-                            googleAnalyticsPreference.setIcon(R.drawable.modify_url_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            googleAnalyticsPreference.setIcon(R.drawable.modify_url_enabled_night);
                         } else {
-                            googleAnalyticsPreference.setIcon(R.drawable.modify_url_enabled_light);
+                            googleAnalyticsPreference.setIcon(R.drawable.modify_url_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            googleAnalyticsPreference.setIcon(R.drawable.modify_url_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            googleAnalyticsPreference.setIcon(R.drawable.modify_url_disabled_night);
                         } else {
-                            googleAnalyticsPreference.setIcon(R.drawable.modify_url_disabled_light);
+                            googleAnalyticsPreference.setIcon(R.drawable.modify_url_disabled_day);
                         }
                     }
                     break;
@@ -1326,16 +1347,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "facebook_click_ids":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("facebook_click_ids", true)) {
-                        if (darkTheme) {
-                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_night);
                         } else {
-                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_light);
+                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_night);
                         } else {
-                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_light);
+                            facebookClickIdsPreference.setIcon(R.drawable.modify_url_disabled_day);
                         }
                     }
                     break;
@@ -1343,16 +1364,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "twitter_amp_redirects":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("twitter_amp_redirects", true)) {
-                        if (darkTheme) {
-                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_night);
                         } else {
-                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_light);
+                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_night);
                         } else {
-                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_light);
+                            twitterAmpRedirectsPreference.setIcon(R.drawable.modify_url_disabled_day);
                         }
                     }
                     break;
@@ -1370,10 +1391,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                         searchCustomURLPreference.setEnabled(true);
 
                         // Set the `searchCustomURLPreference` according to the theme.
-                        if (darkTheme) {
-                            searchCustomURLPreference.setIcon(R.drawable.search_custom_url_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            searchCustomURLPreference.setIcon(R.drawable.search_custom_url_enabled_night);
                         } else {
-                            searchCustomURLPreference.setIcon(R.drawable.search_custom_url_enabled_light);
+                            searchCustomURLPreference.setIcon(R.drawable.search_custom_url_enabled_day);
                         }
                     } else {  // `Custom URL` is not selected.
                         // Set the summary text to `newSearchString`.
@@ -1383,10 +1404,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                         searchCustomURLPreference.setEnabled(false);
 
                         // Set the `searchCustomURLPreference` according to the theme.
-                        if (darkTheme) {
-                            searchCustomURLPreference.setIcon(R.drawable.search_custom_url_ghosted_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            searchCustomURLPreference.setIcon(R.drawable.search_custom_url_ghosted_night);
                         } else {
-                            searchCustomURLPreference.setIcon(R.drawable.search_custom_url_ghosted_light);
+                            searchCustomURLPreference.setIcon(R.drawable.search_custom_url_ghosted_day);
                         }
                     }
                     break;
@@ -1428,39 +1449,39 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
                     // Update the icons.
                     if (currentProxyString.equals("None")) {  // Proxying is disabled.
-                        if (darkTheme) {  // Dark theme.
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {  // Dark theme.
                             // Set the main proxy icon to be disabled
-                            proxyPreference.setIcon(R.drawable.proxy_disabled_dark);
+                            proxyPreference.setIcon(R.drawable.proxy_disabled_night);
 
                             // Set the custom proxy URL icon to be ghosted.
-                            proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_dark);
+                            proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_night);
                         } else {  // Light theme.
                             // Set the main proxy icon to be disabled.
-                            proxyPreference.setIcon(R.drawable.proxy_disabled_light);
+                            proxyPreference.setIcon(R.drawable.proxy_disabled_day);
 
                             // Set the custom proxy URL icon to be ghosted.
-                            proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_light);
+                            proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_day);
                         }
                     } else {  // Proxying is enabled.
-                        if (darkTheme) {  // Dark theme.
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {  // Dark theme.
                             // Set the main proxy icon to be enabled.
-                            proxyPreference.setIcon(R.drawable.proxy_enabled_dark);
+                            proxyPreference.setIcon(R.drawable.proxy_enabled_night);
 
                             /// Set the custom proxy URL icon according to its status.
                             if (proxyCustomUrlPreference.isEnabled()) {  // Custom proxy is enabled.
-                                proxyCustomUrlPreference.setIcon(R.drawable.proxy_enabled_dark);
+                                proxyCustomUrlPreference.setIcon(R.drawable.proxy_enabled_night);
                             } else {  // Custom proxy is disabled.
-                                proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_dark);
+                                proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_night);
                             }
                         } else {  // Light theme.
                             // Set the main proxy icon to be enabled.
-                            proxyPreference.setIcon(R.drawable.proxy_enabled_light);
+                            proxyPreference.setIcon(R.drawable.proxy_enabled_day);
 
                             // Set the custom proxy URL icon according to its status.
                             if (proxyCustomUrlPreference.isEnabled()) {  // Custom proxy is enabled.
-                                proxyCustomUrlPreference.setIcon(R.drawable.proxy_enabled_light);
+                                proxyCustomUrlPreference.setIcon(R.drawable.proxy_enabled_day);
                             } else {  // Custom proxy is disabled.
-                                proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_light);
+                                proxyCustomUrlPreference.setIcon(R.drawable.proxy_ghosted_day);
                             }
                         }
                     }
@@ -1474,36 +1495,36 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "full_screen_browsing_mode":
                     if (sharedPreferences.getBoolean("full_screen_browsing_mode", false)) {  // Full screen browsing is enabled.
                         // Set the full screen browsing mode preference icon according to the theme.
-                        if (darkTheme) {
-                            fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_enabled_night);
                         } else {
-                            fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_enabled_light);
+                            fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_enabled_day);
                         }
 
                         // Set the hide app bar preference icon.
                         if (sharedPreferences.getBoolean("hide_app_bar", true)) {  //  Hide app bar is enabled.
                             // Set the icon according to the theme.
-                            if (darkTheme) {
-                                hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_dark);
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_night);
                             } else {
-                                hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_light);
+                                hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_day);
                             }
                         } else {  // Hide app bar is disabled.
                             // Set the icon according to the theme.
-                            if (darkTheme) {
-                                hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_dark);
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_night);
                             } else {
-                                hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_light);
+                                hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_day);
                             }
                         }
                     } else {  // Full screen browsing is disabled.
                         // Update the icons according to the theme.
-                        if (darkTheme) {
-                            fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_disabled_dark);
-                            hideAppBarPreference.setIcon(R.drawable.app_bar_ghosted_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_disabled_night);
+                            hideAppBarPreference.setIcon(R.drawable.app_bar_ghosted_night);
                         } else {
-                            fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_disabled_light);
-                            hideAppBarPreference.setIcon(R.drawable.app_bar_ghosted_light);
+                            fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_disabled_day);
+                            hideAppBarPreference.setIcon(R.drawable.app_bar_ghosted_day);
                         }
                     }
                     break;
@@ -1512,17 +1533,17 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                     // Update the icon.
                     if (sharedPreferences.getBoolean("hide_app_bar", true)) {  // Hide app bar is enabled.
                         // Set the icon according to the theme.
-                        if (darkTheme) {
-                            hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_night);
                         } else {
-                            hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_light);
+                            hideAppBarPreference.setIcon(R.drawable.app_bar_enabled_day);
                         }
                     } else {  // Hide app bar is disabled.
                         // Set the icon according to the theme.
-                        if (darkTheme) {
-                            hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_night);
                         } else {
-                            hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_light);
+                            hideAppBarPreference.setIcon(R.drawable.app_bar_disabled_day);
                         }
                     }
                     break;
@@ -1539,10 +1560,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
                     // Update the `clearEverythingPreference` icon.
                     if (newClearEverythingBoolean) {
-                        if (darkTheme) {
-                            clearEverythingPreference.setIcon(R.drawable.clear_everything_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            clearEverythingPreference.setIcon(R.drawable.clear_everything_enabled_night);
                         } else {
-                            clearEverythingPreference.setIcon(R.drawable.clear_everything_enabled_light);
+                            clearEverythingPreference.setIcon(R.drawable.clear_everything_enabled_day);
                         }
                     } else {
                         clearEverythingPreference.setIcon(R.drawable.clear_everything_disabled);
@@ -1550,10 +1571,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
                     // Update the `clearCookiesPreference` icon.
                     if (newClearEverythingBoolean || sharedPreferences.getBoolean("clear_cookies", true)) {
-                        if (darkTheme) {
-                            clearCookiesPreference.setIcon(R.drawable.cookies_cleared_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            clearCookiesPreference.setIcon(R.drawable.cookies_cleared_night);
                         } else {
-                            clearCookiesPreference.setIcon(R.drawable.cookies_cleared_light);
+                            clearCookiesPreference.setIcon(R.drawable.cookies_cleared_day);
                         }
                     } else {
                         clearCookiesPreference.setIcon(R.drawable.cookies_warning);
@@ -1561,10 +1582,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
                     // Update the `clearDomStoragePreference` icon.
                     if (newClearEverythingBoolean || sharedPreferences.getBoolean("clear_dom_storage", true)) {
-                        if (darkTheme) {
-                            clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_night);
                         } else {
-                            clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_light);
+                            clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_day);
                         }
                     } else {
                         clearDomStoragePreference.setIcon(R.drawable.dom_storage_warning);
@@ -1573,10 +1594,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                     // Update the clear form data preference icon if the API < 26.
                     if (Build.VERSION.SDK_INT < 26) {
                         if (newClearEverythingBoolean || sharedPreferences.getBoolean("clear_form_data", true)) {
-                            if (darkTheme) {
-                                clearFormDataPreference.setIcon(R.drawable.form_data_cleared_dark);
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                clearFormDataPreference.setIcon(R.drawable.form_data_cleared_night);
                             } else {
-                                clearFormDataPreference.setIcon(R.drawable.form_data_cleared_light);
+                                clearFormDataPreference.setIcon(R.drawable.form_data_cleared_day);
                             }
                         } else {
                             clearFormDataPreference.setIcon(R.drawable.form_data_warning);
@@ -1585,10 +1606,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
                     // Update the `clearCachePreference` icon.
                     if (newClearEverythingBoolean || sharedPreferences.getBoolean("clear_cache", true)) {
-                        if (darkTheme) {
-                            clearCachePreference.setIcon(R.drawable.cache_cleared_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            clearCachePreference.setIcon(R.drawable.cache_cleared_night);
                         } else {
-                            clearCachePreference.setIcon(R.drawable.cache_cleared_light);
+                            clearCachePreference.setIcon(R.drawable.cache_cleared_day);
                         }
                     } else {
                         clearCachePreference.setIcon(R.drawable.cache_warning);
@@ -1598,10 +1619,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "clear_cookies":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("clear_cookies", true)) {
-                        if (darkTheme) {
-                            clearCookiesPreference.setIcon(R.drawable.cookies_cleared_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            clearCookiesPreference.setIcon(R.drawable.cookies_cleared_night);
                         } else {
-                            clearCookiesPreference.setIcon(R.drawable.cookies_cleared_light);
+                            clearCookiesPreference.setIcon(R.drawable.cookies_cleared_day);
                         }
                     } else {
                         clearCookiesPreference.setIcon(R.drawable.cookies_warning);
@@ -1611,10 +1632,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "clear_dom_storage":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("clear_dom_storage", true)) {
-                        if (darkTheme) {
-                            clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_night);
                         } else {
-                            clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_light);
+                            clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_day);
                         }
                     } else {
                         clearDomStoragePreference.setIcon(R.drawable.dom_storage_warning);
@@ -1625,10 +1646,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "clear_form_data":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("clear_form_data", true)) {
-                        if (darkTheme) {
-                            clearFormDataPreference.setIcon(R.drawable.form_data_cleared_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            clearFormDataPreference.setIcon(R.drawable.form_data_cleared_night);
                         } else {
-                            clearFormDataPreference.setIcon(R.drawable.form_data_cleared_light);
+                            clearFormDataPreference.setIcon(R.drawable.form_data_cleared_day);
                         }
                     } else {
                         clearFormDataPreference.setIcon(R.drawable.form_data_warning);
@@ -1638,10 +1659,10 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "clear_cache":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("clear_cache", true)) {
-                        if (darkTheme) {
-                            clearCachePreference.setIcon(R.drawable.cache_cleared_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            clearCachePreference.setIcon(R.drawable.cache_cleared_night);
                         } else {
-                            clearCachePreference.setIcon(R.drawable.cache_cleared_light);
+                            clearCachePreference.setIcon(R.drawable.cache_cleared_day);
                         }
                     } else {
                         clearCachePreference.setIcon(R.drawable.cache_warning);
@@ -1674,16 +1695,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
                     // Update the download custom location icon.
                     if (downloadCustomLocationPreference.isEnabled()) {
-                        if (darkTheme) {
-                            downloadCustomLocationPreference.setIcon(R.drawable.downloads_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            downloadCustomLocationPreference.setIcon(R.drawable.downloads_enabled_night);
                         } else {
-                            downloadCustomLocationPreference.setIcon(R.drawable.downloads_enabled_light);
+                            downloadCustomLocationPreference.setIcon(R.drawable.downloads_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            downloadCustomLocationPreference.setIcon(R.drawable.downloads_ghosted_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            downloadCustomLocationPreference.setIcon(R.drawable.downloads_ghosted_night);
                         } else {
-                            downloadCustomLocationPreference.setIcon(R.drawable.downloads_ghosted_light);
+                            downloadCustomLocationPreference.setIcon(R.drawable.downloads_ghosted_day);
                         }
                     }
                     break;
@@ -1701,13 +1722,13 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "open_intents_in_new_tab":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("open_intents_in_new_tab", true)) {
-                        if (darkTheme) {
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                             openIntentsInNewTabPreference.setIcon(R.drawable.tab_enabled_dark);
                         } else {
                             openIntentsInNewTabPreference.setIcon(R.drawable.tab_enabled_light);
                         }
                     } else {
-                        if (darkTheme) {
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
                             openIntentsInNewTabPreference.setIcon(R.drawable.tab_disabled_dark);
                         } else {
                             openIntentsInNewTabPreference.setIcon(R.drawable.tab_disabled_light);
@@ -1718,16 +1739,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "swipe_to_refresh":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("swipe_to_refresh", true)) {
-                        if (darkTheme) {
-                            swipeToRefreshPreference.setIcon(R.drawable.refresh_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            swipeToRefreshPreference.setIcon(R.drawable.refresh_enabled_night);
                         } else {
-                            swipeToRefreshPreference.setIcon(R.drawable.refresh_enabled_light);
+                            swipeToRefreshPreference.setIcon(R.drawable.refresh_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            swipeToRefreshPreference.setIcon(R.drawable.refresh_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            swipeToRefreshPreference.setIcon(R.drawable.refresh_disabled_night);
                         } else {
-                            swipeToRefreshPreference.setIcon(R.drawable.refresh_disabled_light);
+                            swipeToRefreshPreference.setIcon(R.drawable.refresh_disabled_day);
                         }
                     }
                     break;
@@ -1735,16 +1756,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "scroll_app_bar":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("scroll_app_bar", true)) {
-                        if (darkTheme) {
-                            scrollAppBarPreference.setIcon(R.drawable.app_bar_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            scrollAppBarPreference.setIcon(R.drawable.app_bar_enabled_night);
                         } else {
-                            scrollAppBarPreference.setIcon(R.drawable.app_bar_enabled_light);
+                            scrollAppBarPreference.setIcon(R.drawable.app_bar_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            scrollAppBarPreference.setIcon(R.drawable.app_bar_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            scrollAppBarPreference.setIcon(R.drawable.app_bar_disabled_night);
                         } else {
-                            scrollAppBarPreference.setIcon(R.drawable.app_bar_disabled_light);
+                            scrollAppBarPreference.setIcon(R.drawable.app_bar_disabled_day);
                         }
                     }
                     break;
@@ -1752,51 +1773,53 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "display_additional_app_bar_icons":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("display_additional_app_bar_icons", false)) {
-                        if (darkTheme) {
-                            displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_enabled_night);
                         } else {
-                            displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_enabled_light);
+                            displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_disabled_night);
                         } else {
-                            displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_disabled_light);
+                            displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_disabled_day);
                         }
                     }
                     break;
 
-                case "dark_theme":
-                    // Update the icon.
-                    if (sharedPreferences.getBoolean("dark_theme", false)) {
-                        darkThemePreference.setIcon(R.drawable.theme_dark);
-                    } else {
-                        darkThemePreference.setIcon(R.drawable.theme_light);
+                case "app_theme":
+                    // Get the new theme.
+                    String newAppTheme = sharedPreferences.getString("app_theme", getString(R.string.app_theme_default_value));
+
+                    // Update the system according to the new theme.  A switch statement cannot be used because the theme entry values string array is not a compile time constant.
+                    if (newAppTheme.equals(appThemeEntryValuesStringArray[1])) {  // The light theme is selected.
+                        // Update the theme preference summary text.
+                        appThemePreference.setSummary(appThemeEntriesStringArray[1]);
+
+                        // Apply the new theme.
+                        AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
+                    } else if (newAppTheme.equals(appThemeEntryValuesStringArray[2])) {  // The dark theme is selected.
+                        // Update the theme preference summary text.
+                        appThemePreference.setSummary(appThemeEntriesStringArray[2]);
+
+                        // Apply the new theme.
+                        AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
+                    } else {  // The system default theme is selected.
+                        // Update the theme preference summary text.
+                        appThemePreference.setSummary(appThemeEntriesStringArray[0]);
+
+                        // Apply the new theme.
+                        if (Build.VERSION.SDK_INT >= 28) {  // The system default theme is supported.
+                            // Follow the system default theme.
+                            AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
+                        } else {// The system default theme is not supported.
+                            // Follow the battery saver mode.
+                            AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY);
+                        }
                     }
 
-                    // Create an intent to restart Privacy Browser.
-                    Intent changeThemeRestartIntent = getActivity().getParentActivityIntent();
-
-                    // Assert that the intent is not null to remove the lint error below.
-                    assert changeThemeRestartIntent != null;
-
-                    // `Intent.FLAG_ACTIVITY_CLEAR_TASK` removes all activities from the stack.  It requires `Intent.FLAG_ACTIVITY_NEW_TASK`.
-                    changeThemeRestartIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
-
-                    // Create a handler to restart the activity.
-                    Handler changeThemeRestartHandler = new Handler();
-
-                    // Create a runnable to restart the activity.
-                    Runnable changeThemeRestartRunnable = () -> {
-                        // Restart the activity.
-                        startActivity(changeThemeRestartIntent);
-
-                        // Kill this instance of Privacy Browser.  Otherwise, the app exhibits sporadic behavior after the restart.
-                        System.exit(0);
-                    };
-
-                    // Restart the activity after 150 milliseconds, so that the app has enough time to save the change to the preference.
-                    changeThemeRestartHandler.postDelayed(changeThemeRestartRunnable, 150);
+                    // Update the current theme status.
+                    currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
                     break;
 
                 case "night_mode":
@@ -1806,16 +1829,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
 
                     // Update the icon.
                     if (currentNightModeBoolean) {
-                        if (darkTheme) {
-                            nightModePreference.setIcon(R.drawable.night_mode_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            nightModePreference.setIcon(R.drawable.night_mode_enabled_night);
                         } else {
-                            nightModePreference.setIcon(R.drawable.night_mode_enabled_light);
+                            nightModePreference.setIcon(R.drawable.night_mode_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            nightModePreference.setIcon(R.drawable.night_mode_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            nightModePreference.setIcon(R.drawable.night_mode_disabled_night);
                         } else {
-                            nightModePreference.setIcon(R.drawable.night_mode_disabled_light);
+                            nightModePreference.setIcon(R.drawable.night_mode_disabled_day);
                         }
                     }
 
@@ -1835,17 +1858,17 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                         if (sharedPreferences.getBoolean("dom_storage", false)) {  // DOM storage is enabled.
                             domStoragePreference.setIcon(R.drawable.dom_storage_enabled);
                         } else {  // DOM storage is disabled.
-                            if (darkTheme) {
-                                domStoragePreference.setIcon(R.drawable.dom_storage_disabled_dark);
+                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                                domStoragePreference.setIcon(R.drawable.dom_storage_disabled_night);
                             } else {
-                                domStoragePreference.setIcon(R.drawable.dom_storage_disabled_light);
+                                domStoragePreference.setIcon(R.drawable.dom_storage_disabled_day);
                             }
                         }
                     } else {  // The preference is disabled.  The icon should be ghosted.
-                        if (darkTheme) {
-                            domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_night);
                         } else {
-                            domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_light);
+                            domStoragePreference.setIcon(R.drawable.dom_storage_ghosted_day);
                         }
                     }
                     break;
@@ -1853,16 +1876,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "wide_viewport":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("wide_viewport", true)) {
-                        if (darkTheme) {
-                            wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_night);
                         } else {
-                            wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_light);
+                            wideViewportPreference.setIcon(R.drawable.wide_viewport_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_night);
                         } else {
-                            wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_light);
+                            wideViewportPreference.setIcon(R.drawable.wide_viewport_disabled_day);
                         }
                     }
                     break;
@@ -1870,16 +1893,16 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 case "display_webpage_images":
                     // Update the icon.
                     if (sharedPreferences.getBoolean("display_webpage_images", true)) {
-                        if (darkTheme) {
-                            displayWebpageImagesPreference.setIcon(R.drawable.images_enabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            displayWebpageImagesPreference.setIcon(R.drawable.images_enabled_night);
                         } else {
-                            displayWebpageImagesPreference.setIcon(R.drawable.images_enabled_light);
+                            displayWebpageImagesPreference.setIcon(R.drawable.images_enabled_day);
                         }
                     } else {
-                        if (darkTheme) {
-                            displayWebpageImagesPreference.setIcon(R.drawable.images_disabled_dark);
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_YES) {
+                            displayWebpageImagesPreference.setIcon(R.drawable.images_disabled_night);
                         } else {
-                            displayWebpageImagesPreference.setIcon(R.drawable.images_disabled_light);
+                            displayWebpageImagesPreference.setIcon(R.drawable.images_disabled_day);
                         }
                     }
                     break;
index 74b4e510ccb961430cdc1e07edb0f1117e504f22..6815258aab86091f851cc48d09c304da621b5ae8 100644 (file)
@@ -39,7 +39,7 @@ public class ImportExportDatabaseHelper {
     public static final String EXPORT_SUCCESSFUL = "Export Successful";
     public static final String IMPORT_SUCCESSFUL = "Import Successful";
 
-    private static final int SCHEMA_VERSION = 10;
+    private static final int SCHEMA_VERSION = 11;
     private static final String PREFERENCES_TABLE = "preferences";
 
     // The preferences constants.
@@ -83,7 +83,7 @@ public class ImportExportDatabaseHelper {
     private static final String SWIPE_TO_REFRESH = "swipe_to_refresh";
     private static final String SCROLL_APP_BAR = "scroll_app_bar";
     private static final String DISPLAY_ADDITIONAL_APP_BAR_ICONS = "display_additional_app_bar_icons";
-    private static final String DARK_THEME = "dark_theme";
+    private static final String APP_THEME = "app_theme";
     private static final String NIGHT_MODE = "night_mode";
     private static final String WIDE_VIEWPORT = "wide_viewport";
     private static final String DISPLAY_WEBPAGE_IMAGES = "display_webpage_images";
@@ -238,7 +238,7 @@ public class ImportExportDatabaseHelper {
                     SWIPE_TO_REFRESH + " BOOLEAN, " +
                     SCROLL_APP_BAR + " BOOLEAN, " +
                     DISPLAY_ADDITIONAL_APP_BAR_ICONS + " BOOLEAN, " +
-                    DARK_THEME + " BOOLEAN, " +
+                    APP_THEME + " TEXT, " +
                     NIGHT_MODE + " BOOLEAN, " +
                     WIDE_VIEWPORT + " BOOLEAN, " +
                     DISPLAY_WEBPAGE_IMAGES + " BOOLEAN)";
@@ -290,7 +290,7 @@ public class ImportExportDatabaseHelper {
             preferencesContentValues.put(SWIPE_TO_REFRESH, sharedPreferences.getBoolean(SWIPE_TO_REFRESH, true));
             preferencesContentValues.put(SCROLL_APP_BAR, sharedPreferences.getBoolean(SCROLL_APP_BAR, true));
             preferencesContentValues.put(DISPLAY_ADDITIONAL_APP_BAR_ICONS, sharedPreferences.getBoolean(DISPLAY_ADDITIONAL_APP_BAR_ICONS, false));
-            preferencesContentValues.put(DARK_THEME, sharedPreferences.getBoolean(DARK_THEME, false));
+            preferencesContentValues.put(APP_THEME, sharedPreferences.getString(APP_THEME, context.getString(R.string.app_theme_default_value)));
             preferencesContentValues.put(NIGHT_MODE, sharedPreferences.getBoolean(NIGHT_MODE, false));
             preferencesContentValues.put(WIDE_VIEWPORT, sharedPreferences.getBoolean(WIDE_VIEWPORT, true));
             preferencesContentValues.put(DISPLAY_WEBPAGE_IMAGES, sharedPreferences.getBoolean(DISPLAY_WEBPAGE_IMAGES, true));
@@ -540,6 +540,32 @@ public class ImportExportDatabaseHelper {
                         // Populate the preferences table with the current download location values.
                         importDatabase.execSQL("UPDATE " + PREFERENCES_TABLE + " SET " + DOWNLOAD_LOCATION + " = '" + downloadLocation + "'");
                         importDatabase.execSQL("UPDATE " + PREFERENCES_TABLE + " SET " + DOWNLOAD_CUSTOM_LOCATION + " = '" + downloadCustomLocation + "'");
+
+                    // Upgrade from schema version 10.
+                    case 10:
+                        // Add the app theme column to the preferences table.
+                        importDatabase.execSQL("ALTER TABLE " + PREFERENCES_TABLE + " ADD COLUMN " + APP_THEME + " TEXT");
+
+                        // Get a cursor for the dark theme preference.
+                        Cursor darkThemePreferencesCursor = importDatabase.rawQuery("SELECT dark_theme FROM " + PREFERENCES_TABLE, null);
+
+                        // Move to the first preference.
+                        darkThemePreferencesCursor.moveToFirst();
+
+                        // Get the old dark theme value, which is in column 0.
+                        int darkTheme = darkThemePreferencesCursor.getInt(0);
+
+                        // Close the dark theme preference cursor.
+                        darkThemePreferencesCursor.close();
+
+                        // Populate the app theme according to the old dark theme preference.
+                        if (darkTheme == 0) {  // A light theme was selected.
+                            // Set the app theme to be the system default.
+                            importDatabase.execSQL("UPDATE " + PREFERENCES_TABLE + " SET " + APP_THEME + " = 'System default'");
+                        } else {  // A dark theme was selected.
+                            // Set the app theme to be dark.
+                            importDatabase.execSQL("UPDATE " + PREFERENCES_TABLE + " SET " + APP_THEME + " = 'Dark'");
+                        }
                 }
             }
 
@@ -646,7 +672,7 @@ public class ImportExportDatabaseHelper {
             bookmarksDatabaseHelper.close();
 
 
-            // Get a cursor for the bookmarks table.
+            // Get a cursor for the preferences table.
             Cursor importPreferencesCursor = importDatabase.rawQuery("SELECT * FROM " + PREFERENCES_TABLE, null);
 
             // Move to the first preference.
@@ -695,7 +721,7 @@ public class ImportExportDatabaseHelper {
                     .putBoolean(SWIPE_TO_REFRESH, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(SWIPE_TO_REFRESH)) == 1)
                     .putBoolean(SCROLL_APP_BAR, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(SCROLL_APP_BAR)) == 1)
                     .putBoolean(DISPLAY_ADDITIONAL_APP_BAR_ICONS, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(DISPLAY_ADDITIONAL_APP_BAR_ICONS)) == 1)
-                    .putBoolean(DARK_THEME, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(DARK_THEME)) == 1)
+                    .putString(APP_THEME, importPreferencesCursor.getString(importPreferencesCursor.getColumnIndex(APP_THEME)))
                     .putBoolean(NIGHT_MODE, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(NIGHT_MODE)) == 1)
                     .putBoolean(WIDE_VIEWPORT, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(WIDE_VIEWPORT)) == 1)
                     .putBoolean(DISPLAY_WEBPAGE_IMAGES, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(DISPLAY_WEBPAGE_IMAGES)) == 1)
diff --git a/app/src/main/res/color/appbar_spinner_color_selector_dark.xml b/app/src/main/res/color/appbar_spinner_color_selector_dark.xml
deleted file mode 100644 (file)
index f58c783..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2017-2018 Soren Stoutner <soren@stoutner.com>.
-
-  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
-
-  Privacy Browser is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  Privacy Browser is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
-
-<!-- Highlight the selected item when the spinner is open. -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item android:state_checked="true" android:color="@color/gray_300" />
-    <item android:color="@color/blue_300" />
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/appbar_spinner_color_selector_light.xml b/app/src/main/res/color/appbar_spinner_color_selector_light.xml
deleted file mode 100644 (file)
index 03ac9ea..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2017-2018 Soren Stoutner <soren@stoutner.com>.
-
-  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
-
-  Privacy Browser is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  Privacy Browser is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
-
-<!-- Highlight the selected item when the spinner is open. -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item android:state_checked="true" android:color="@color/white" />
-    <item android:color="@color/blue_100" />
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/button_background_color_selector_dark.xml b/app/src/main/res/color/button_background_color_selector_dark.xml
deleted file mode 100644 (file)
index 85b0423..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2017-2018 Soren Stoutner <soren@stoutner.com>.
-
-  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
-
-  Privacy Browser is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  Privacy Browser is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item android:state_enabled="true" android:color="@color/blue_600" />
-    <item android:color="@color/gray_750" />
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/button_background_color_selector_day.xml b/app/src/main/res/color/button_background_color_selector_day.xml
new file mode 100644 (file)
index 0000000..b75a2e0
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2017-2018,2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<!-- Set an background color for a button based on the state. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:state_enabled="true" android:color="@color/blue_600" />
+    <item android:color="@color/gray_300" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/button_background_color_selector_light.xml b/app/src/main/res/color/button_background_color_selector_light.xml
deleted file mode 100644 (file)
index 8049c09..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2017-2018 Soren Stoutner <soren@stoutner.com>.
-
-  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
-
-  Privacy Browser is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  Privacy Browser is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item android:state_enabled="true" android:color="@color/blue_600" />
-    <item android:color="@color/gray_300" />
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/button_background_color_selector_night.xml b/app/src/main/res/color/button_background_color_selector_night.xml
new file mode 100644 (file)
index 0000000..b32fab7
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2017-2018,2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<!-- Set a background color for a button based on the state. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:state_enabled="true" android:color="@color/blue_600" />
+    <item android:color="@color/gray_750" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/button_text_color_selector_dark.xml b/app/src/main/res/color/button_text_color_selector_dark.xml
deleted file mode 100644 (file)
index 090ae06..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2017-2018 Soren Stoutner <soren@stoutner.com>.
-
-  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
-
-  Privacy Browser is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  Privacy Browser is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item android:state_enabled="true" android:color="@color/gray_300" />
-    <item android:color="@color/gray_500" />
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/button_text_color_selector_day.xml b/app/src/main/res/color/button_text_color_selector_day.xml
new file mode 100644 (file)
index 0000000..d71ae2d
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2017-2018,2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<!-- Set the text color for a button based on the state. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:state_enabled="true" android:color="@color/white" />
+    <item android:color="@color/gray_400" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/button_text_color_selector_light.xml b/app/src/main/res/color/button_text_color_selector_light.xml
deleted file mode 100644 (file)
index 74c6c5b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2017-2018 Soren Stoutner <soren@stoutner.com>.
-
-  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
-
-  Privacy Browser is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  Privacy Browser is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android" >
-    <item android:state_enabled="true" android:color="@color/white" />
-    <item android:color="@color/gray_400" />
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/button_text_color_selector_night.xml b/app/src/main/res/color/button_text_color_selector_night.xml
new file mode 100644 (file)
index 0000000..a0a4a27
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2017-2018,2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<!-- Set the text color for a button based on the state. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:state_enabled="true" android:color="?android:attr/textColorPrimary" />
+    <item android:color="@color/gray_500" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/color/checked_text_color_selector.xml b/app/src/main/res/color/checked_text_color_selector.xml
new file mode 100644 (file)
index 0000000..52bbd83
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2017-2018,2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<!-- Sets the color of non-checked items to be gray. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android" >
+    <item android:state_checked="true" android:color="?android:attr/textColorPrimary" />
+    <item android:color="@color/gray_500" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/about_dark.xml b/app/src/main/res/drawable/about_dark.xml
deleted file mode 100644 (file)
index acc4180..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `info_outline`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M11,17h2v-6h-2v6zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM11,9h2L13,7h-2v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/about_day.xml b/app/src/main/res/drawable/about_day.xml
new file mode 100644 (file)
index 0000000..7a62933
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `info_outline`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF000000"
+        android:pathData="M11,17h2v-6h-2v6zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM11,9h2L13,7h-2v2z" />
+</vector>
diff --git a/app/src/main/res/drawable/about_light.xml b/app/src/main/res/drawable/about_light.xml
deleted file mode 100644 (file)
index 401cdcb..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `info_outline`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF000000"
-        android:pathData="M11,17h2v-6h-2v6zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM11,9h2L13,7h-2v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/about_night.xml b/app/src/main/res/drawable/about_night.xml
new file mode 100644 (file)
index 0000000..cdba373
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `info_outline`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M11,17h2v-6h-2v6zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM11,9h2L13,7h-2v2z" />
+</vector>
diff --git a/app/src/main/res/drawable/add_dark.xml b/app/src/main/res/drawable/add_dark.xml
deleted file mode 100644 (file)
index 15485cb..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `add`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
-</vector>
diff --git a/app/src/main/res/drawable/add_day.xml b/app/src/main/res/drawable/add_day.xml
new file mode 100644 (file)
index 0000000..8792101
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `add`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
+</vector>
diff --git a/app/src/main/res/drawable/add_light.xml b/app/src/main/res/drawable/add_light.xml
deleted file mode 100644 (file)
index 5ecf8d3..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `add`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
-</vector>
diff --git a/app/src/main/res/drawable/add_night.xml b/app/src/main/res/drawable/add_night.xml
new file mode 100644 (file)
index 0000000..38b6dda
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `add`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
+</vector>
diff --git a/app/src/main/res/drawable/allow_screenshots_disabled_dark.xml b/app/src/main/res/drawable/allow_screenshots_disabled_dark.xml
deleted file mode 100644 (file)
index b320afb..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `allow_screenshots_enabled_dark.xml` comes from the Android Material icon set, where it is called `camera_enhance`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M9,3L7.17,5L4,5c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2h-3.17L15,3L9,3zM12,18c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,17l1.25,-2.75L16,13l-2.75,-1.25L12,9l-1.25,2.75L8,13l2.75,1.25z"/>
-</vector>
diff --git a/app/src/main/res/drawable/allow_screenshots_disabled_day.xml b/app/src/main/res/drawable/allow_screenshots_disabled_day.xml
new file mode 100644 (file)
index 0000000..838e4ce
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `camera_enhance`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M9,3L7.17,5L4,5c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2h-3.17L15,3L9,3zM12,18c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,17l1.25,-2.75L16,13l-2.75,-1.25L12,9l-1.25,2.75L8,13l2.75,1.25z"/>
+</vector>
diff --git a/app/src/main/res/drawable/allow_screenshots_disabled_light.xml b/app/src/main/res/drawable/allow_screenshots_disabled_light.xml
deleted file mode 100644 (file)
index 67ff615..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `allow_screenshots_enabled_dark.xml` comes from the Android Material icon set, where it is called `camera_enhance`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M9,3L7.17,5L4,5c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2h-3.17L15,3L9,3zM12,18c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,17l1.25,-2.75L16,13l-2.75,-1.25L12,9l-1.25,2.75L8,13l2.75,1.25z"/>
-</vector>
diff --git a/app/src/main/res/drawable/allow_screenshots_disabled_night.xml b/app/src/main/res/drawable/allow_screenshots_disabled_night.xml
new file mode 100644 (file)
index 0000000..fd4d9f1
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `camera_enhance`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M9,3L7.17,5L4,5c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2h-3.17L15,3L9,3zM12,18c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,17l1.25,-2.75L16,13l-2.75,-1.25L12,9l-1.25,2.75L8,13l2.75,1.25z"/>
+</vector>
diff --git a/app/src/main/res/drawable/allow_screenshots_enabled_dark.xml b/app/src/main/res/drawable/allow_screenshots_enabled_dark.xml
deleted file mode 100644 (file)
index d4310c6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `allow_screenshots_enabled_dark.xml` comes from the Android Material icon set, where it is called `camera_enhance`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M9,3L7.17,5L4,5c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2h-3.17L15,3L9,3zM12,18c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,17l1.25,-2.75L16,13l-2.75,-1.25L12,9l-1.25,2.75L8,13l2.75,1.25z"/>
-</vector>
diff --git a/app/src/main/res/drawable/allow_screenshots_enabled_day.xml b/app/src/main/res/drawable/allow_screenshots_enabled_day.xml
new file mode 100644 (file)
index 0000000..9840bb8
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `camera_enhance`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M9,3L7.17,5L4,5c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2h-3.17L15,3L9,3zM12,18c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,17l1.25,-2.75L16,13l-2.75,-1.25L12,9l-1.25,2.75L8,13l2.75,1.25z"/>
+</vector>
diff --git a/app/src/main/res/drawable/allow_screenshots_enabled_light.xml b/app/src/main/res/drawable/allow_screenshots_enabled_light.xml
deleted file mode 100644 (file)
index 4e481be..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `allow_screenshots_enabled_dark.xml` comes from the Android Material icon set, where it is called `camera_enhance`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M9,3L7.17,5L4,5c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2h-3.17L15,3L9,3zM12,18c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,17l1.25,-2.75L16,13l-2.75,-1.25L12,9l-1.25,2.75L8,13l2.75,1.25z"/>
-</vector>
diff --git a/app/src/main/res/drawable/allow_screenshots_enabled_night.xml b/app/src/main/res/drawable/allow_screenshots_enabled_night.xml
new file mode 100644 (file)
index 0000000..de02426
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `camera_enhance`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M9,3L7.17,5L4,5c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2h-3.17L15,3L9,3zM12,18c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5zM12,17l1.25,-2.75L16,13l-2.75,-1.25L12,9l-1.25,2.75L8,13l2.75,1.25z"/>
+</vector>
diff --git a/app/src/main/res/drawable/app_bar_disabled_dark.xml b/app/src/main/res/drawable/app_bar_disabled_dark.xml
deleted file mode 100644 (file)
index 33a6f07..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/app_bar_disabled_day.xml b/app/src/main/res/drawable/app_bar_disabled_day.xml
new file mode 100644 (file)
index 0000000..3de4608
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24.0"
+    android:viewportHeight="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
+</vector>
diff --git a/app/src/main/res/drawable/app_bar_disabled_light.xml b/app/src/main/res/drawable/app_bar_disabled_light.xml
deleted file mode 100644 (file)
index aefbca9..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/app_bar_disabled_night.xml b/app/src/main/res/drawable/app_bar_disabled_night.xml
new file mode 100644 (file)
index 0000000..cfd29e1
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24.0"
+    android:viewportHeight="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
+</vector>
diff --git a/app/src/main/res/drawable/app_bar_enabled_dark.xml b/app/src/main/res/drawable/app_bar_enabled_dark.xml
deleted file mode 100644 (file)
index 6d037b4..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/app_bar_enabled_day.xml b/app/src/main/res/drawable/app_bar_enabled_day.xml
new file mode 100644 (file)
index 0000000..ae11037
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
+</vector>
diff --git a/app/src/main/res/drawable/app_bar_enabled_light.xml b/app/src/main/res/drawable/app_bar_enabled_light.xml
deleted file mode 100644 (file)
index 88b81f8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:width="24dp"
-    android:height="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/app_bar_enabled_night.xml b/app/src/main/res/drawable/app_bar_enabled_night.xml
new file mode 100644 (file)
index 0000000..00b14af
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
+</vector>
diff --git a/app/src/main/res/drawable/app_bar_ghosted_dark.xml b/app/src/main/res/drawable/app_bar_ghosted_dark.xml
deleted file mode 100644 (file)
index dce17b0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF616161"
-        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/app_bar_ghosted_day.xml b/app/src/main/res/drawable/app_bar_ghosted_day.xml
new file mode 100644 (file)
index 0000000..83a9ec7
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FFB7B7B7"
+        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
+</vector>
diff --git a/app/src/main/res/drawable/app_bar_ghosted_light.xml b/app/src/main/res/drawable/app_bar_ghosted_light.xml
deleted file mode 100644 (file)
index 163c9e1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FFB7B7B7"
-        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/app_bar_ghosted_night.xml b/app/src/main/res/drawable/app_bar_ghosted_night.xml
new file mode 100644 (file)
index 0000000..578362a
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `payment`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M20,4L4,4c-1.11,0 -1.99,0.89 -1.99,2L2,18c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,6c0,-1.11 -0.89,-2 -2,-2zM20,18L4,18v-6h16v6zM20,8L4,8L4,6h16v2z" />
+</vector>
index 85c235aae9e04874e18b674670e8effa3a569eba..c4f0873fe497af15a4edd2a55969ef0d765a8621 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `back.xml` comes from the Android Material icon set, where it is called `arrow_back`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `arrow_back`.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
@@ -11,7 +11,7 @@
     android:autoMirrored="true"
     tools:ignore="VectorRaster" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF000000"
         android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
diff --git a/app/src/main/res/drawable/block_ads_disabled_dark.xml b/app/src/main/res/drawable/block_ads_disabled_dark.xml
deleted file mode 100644 (file)
index df5a95b..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<!-- `block_ads_disabled_dark.xml` comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:height="24dp"
-        android:width="24dp"
-        android:viewportHeight="24.0"
-        android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M20,12c0,-1.1 0.9,-2 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -1.99,0.9 -1.99,2v4c1.1,0 1.99,0.9 1.99,2s-0.89,2 -2,2v4c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2v-4c-1.1,0 -2,-0.9 -2,-2zM15.58,16.8L12,14.5l-3.58,2.3 1.08,-4.12 -3.29,-2.69 4.24,-0.25L12,5.8l1.54,3.95 4.24,0.25 -3.29,2.69 1.09,4.11z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_ads_disabled_day.xml b/app/src/main/res/drawable/block_ads_disabled_day.xml
new file mode 100644 (file)
index 0000000..106faa4
--- /dev/null
@@ -0,0 +1,12 @@
+<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:height="24dp"
+        android:width="24dp"
+        android:viewportHeight="24.0"
+        android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M20,12c0,-1.1 0.9,-2 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -1.99,0.9 -1.99,2v4c1.1,0 1.99,0.9 1.99,2s-0.89,2 -2,2v4c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2v-4c-1.1,0 -2,-0.9 -2,-2zM15.58,16.8L12,14.5l-3.58,2.3 1.08,-4.12 -3.29,-2.69 4.24,-0.25L12,5.8l1.54,3.95 4.24,0.25 -3.29,2.69 1.09,4.11z"/>
+</vector>
diff --git a/app/src/main/res/drawable/block_ads_disabled_light.xml b/app/src/main/res/drawable/block_ads_disabled_light.xml
deleted file mode 100644 (file)
index 3d9f61e..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<!-- `block_ads_disabled_light.xml` comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:height="24dp"
-        android:width="24dp"
-        android:viewportHeight="24.0"
-        android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M20,12c0,-1.1 0.9,-2 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -1.99,0.9 -1.99,2v4c1.1,0 1.99,0.9 1.99,2s-0.89,2 -2,2v4c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2v-4c-1.1,0 -2,-0.9 -2,-2zM15.58,16.8L12,14.5l-3.58,2.3 1.08,-4.12 -3.29,-2.69 4.24,-0.25L12,5.8l1.54,3.95 4.24,0.25 -3.29,2.69 1.09,4.11z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_ads_disabled_night.xml b/app/src/main/res/drawable/block_ads_disabled_night.xml
new file mode 100644 (file)
index 0000000..76e679b
--- /dev/null
@@ -0,0 +1,12 @@
+<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:height="24dp"
+        android:width="24dp"
+        android:viewportHeight="24.0"
+        android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M20,12c0,-1.1 0.9,-2 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -1.99,0.9 -1.99,2v4c1.1,0 1.99,0.9 1.99,2s-0.89,2 -2,2v4c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2v-4c-1.1,0 -2,-0.9 -2,-2zM15.58,16.8L12,14.5l-3.58,2.3 1.08,-4.12 -3.29,-2.69 4.24,-0.25L12,5.8l1.54,3.95 4.24,0.25 -3.29,2.69 1.09,4.11z"/>
+</vector>
diff --git a/app/src/main/res/drawable/block_ads_enabled_dark.xml b/app/src/main/res/drawable/block_ads_enabled_dark.xml
deleted file mode 100644 (file)
index e930737..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<!-- `block_ads_enabled_dark.xml` comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:height="24dp"
-        android:width="24dp"
-        android:viewportHeight="24.0"
-        android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M20,12c0,-1.1 0.9,-2 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -1.99,0.9 -1.99,2v4c1.1,0 1.99,0.9 1.99,2s-0.89,2 -2,2v4c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2v-4c-1.1,0 -2,-0.9 -2,-2zM15.58,16.8L12,14.5l-3.58,2.3 1.08,-4.12 -3.29,-2.69 4.24,-0.25L12,5.8l1.54,3.95 4.24,0.25 -3.29,2.69 1.09,4.11z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_ads_enabled_day.xml b/app/src/main/res/drawable/block_ads_enabled_day.xml
new file mode 100644 (file)
index 0000000..4229305
--- /dev/null
@@ -0,0 +1,12 @@
+<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:height="24dp"
+        android:width="24dp"
+        android:viewportHeight="24.0"
+        android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M20,12c0,-1.1 0.9,-2 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -1.99,0.9 -1.99,2v4c1.1,0 1.99,0.9 1.99,2s-0.89,2 -2,2v4c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2v-4c-1.1,0 -2,-0.9 -2,-2zM15.58,16.8L12,14.5l-3.58,2.3 1.08,-4.12 -3.29,-2.69 4.24,-0.25L12,5.8l1.54,3.95 4.24,0.25 -3.29,2.69 1.09,4.11z"/>
+</vector>
diff --git a/app/src/main/res/drawable/block_ads_enabled_light.xml b/app/src/main/res/drawable/block_ads_enabled_light.xml
deleted file mode 100644 (file)
index 81816b9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<!-- `block_ads_enabled_light.xml` comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:height="24dp"
-        android:width="24dp"
-        android:viewportHeight="24.0"
-        android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M20,12c0,-1.1 0.9,-2 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -1.99,0.9 -1.99,2v4c1.1,0 1.99,0.9 1.99,2s-0.89,2 -2,2v4c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2v-4c-1.1,0 -2,-0.9 -2,-2zM15.58,16.8L12,14.5l-3.58,2.3 1.08,-4.12 -3.29,-2.69 4.24,-0.25L12,5.8l1.54,3.95 4.24,0.25 -3.29,2.69 1.09,4.11z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_ads_enabled_night.xml b/app/src/main/res/drawable/block_ads_enabled_night.xml
new file mode 100644 (file)
index 0000000..7fcaca2
--- /dev/null
@@ -0,0 +1,12 @@
+<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:height="24dp"
+        android:width="24dp"
+        android:viewportHeight="24.0"
+        android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M20,12c0,-1.1 0.9,-2 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -1.99,0.9 -1.99,2v4c1.1,0 1.99,0.9 1.99,2s-0.89,2 -2,2v4c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2v-4c-1.1,0 -2,-0.9 -2,-2zM15.58,16.8L12,14.5l-3.58,2.3 1.08,-4.12 -3.29,-2.69 4.24,-0.25L12,5.8l1.54,3.95 4.24,0.25 -3.29,2.69 1.09,4.11z"/>
+</vector>
diff --git a/app/src/main/res/drawable/block_all_third_party_requests_disabled_dark.xml b/app/src/main/res/drawable/block_all_third_party_requests_disabled_dark.xml
deleted file mode 100644 (file)
index 7112e75..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<!-- `block_all_third_party_requests_disabled_dark.xml` comes from the Android Material icon set, where it is called `new_releases`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M23,12l-2.44,-2.78 0.34,-3.68 -3.61,-0.82 -1.89,-3.18L12,3 8.6,1.54 6.71,4.72l-3.61,0.81 0.34,3.68L1,12l2.44,2.78 -0.34,3.69 3.61,0.82 1.89,3.18L12,21l3.4,1.46 1.89,-3.18 3.61,-0.82 -0.34,-3.68L23,12zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_all_third_party_requests_disabled_day.xml b/app/src/main/res/drawable/block_all_third_party_requests_disabled_day.xml
new file mode 100644 (file)
index 0000000..4c681e5
--- /dev/null
@@ -0,0 +1,14 @@
+<!-- This file comes from the Android Material icon set, where it is called `new_releases`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M23,12l-2.44,-2.78 0.34,-3.68 -3.61,-0.82 -1.89,-3.18L12,3 8.6,1.54 6.71,4.72l-3.61,0.81 0.34,3.68L1,12l2.44,2.78 -0.34,3.69 3.61,0.82 1.89,3.18L12,21l3.4,1.46 1.89,-3.18 3.61,-0.82 -0.34,-3.68L23,12zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z"/>
+</vector>
diff --git a/app/src/main/res/drawable/block_all_third_party_requests_disabled_light.xml b/app/src/main/res/drawable/block_all_third_party_requests_disabled_light.xml
deleted file mode 100644 (file)
index 21db2f9..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<!-- `block_all_third_party_requests_disabled_light.xml` comes from the Android Material icon set, where it is called `new_releases`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M23,12l-2.44,-2.78 0.34,-3.68 -3.61,-0.82 -1.89,-3.18L12,3 8.6,1.54 6.71,4.72l-3.61,0.81 0.34,3.68L1,12l2.44,2.78 -0.34,3.69 3.61,0.82 1.89,3.18L12,21l3.4,1.46 1.89,-3.18 3.61,-0.82 -0.34,-3.68L23,12zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_all_third_party_requests_disabled_night.xml b/app/src/main/res/drawable/block_all_third_party_requests_disabled_night.xml
new file mode 100644 (file)
index 0000000..e997495
--- /dev/null
@@ -0,0 +1,14 @@
+<!-- This file comes from the Android Material icon set, where it is called `new_releases`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M23,12l-2.44,-2.78 0.34,-3.68 -3.61,-0.82 -1.89,-3.18L12,3 8.6,1.54 6.71,4.72l-3.61,0.81 0.34,3.68L1,12l2.44,2.78 -0.34,3.69 3.61,0.82 1.89,3.18L12,21l3.4,1.46 1.89,-3.18 3.61,-0.82 -0.34,-3.68L23,12zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z"/>
+</vector>
diff --git a/app/src/main/res/drawable/block_all_third_party_requests_enabled_dark.xml b/app/src/main/res/drawable/block_all_third_party_requests_enabled_dark.xml
deleted file mode 100644 (file)
index c5b6678..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<!-- `block_all_third_party_requests_enabled_dark.xml` comes from the Android Material icon set, where it is called `new_releases`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M23,12l-2.44,-2.78 0.34,-3.68 -3.61,-0.82 -1.89,-3.18L12,3 8.6,1.54 6.71,4.72l-3.61,0.81 0.34,3.68L1,12l2.44,2.78 -0.34,3.69 3.61,0.82 1.89,3.18L12,21l3.4,1.46 1.89,-3.18 3.61,-0.82 -0.34,-3.68L23,12zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_all_third_party_requests_enabled_day.xml b/app/src/main/res/drawable/block_all_third_party_requests_enabled_day.xml
new file mode 100644 (file)
index 0000000..11db060
--- /dev/null
@@ -0,0 +1,14 @@
+<!-- This file comes from the Android Material icon set, where it is called `new_releases`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M23,12l-2.44,-2.78 0.34,-3.68 -3.61,-0.82 -1.89,-3.18L12,3 8.6,1.54 6.71,4.72l-3.61,0.81 0.34,3.68L1,12l2.44,2.78 -0.34,3.69 3.61,0.82 1.89,3.18L12,21l3.4,1.46 1.89,-3.18 3.61,-0.82 -0.34,-3.68L23,12zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z"/>
+</vector>
diff --git a/app/src/main/res/drawable/block_all_third_party_requests_enabled_light.xml b/app/src/main/res/drawable/block_all_third_party_requests_enabled_light.xml
deleted file mode 100644 (file)
index 2dda911..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-<!-- `block_all_third_party_requests_enabled_light.xml` comes from the Android Material icon set, where it is called `new_releases`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M23,12l-2.44,-2.78 0.34,-3.68 -3.61,-0.82 -1.89,-3.18L12,3 8.6,1.54 6.71,4.72l-3.61,0.81 0.34,3.68L1,12l2.44,2.78 -0.34,3.69 3.61,0.82 1.89,3.18L12,21l3.4,1.46 1.89,-3.18 3.61,-0.82 -0.34,-3.68L23,12zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_all_third_party_requests_enabled_night.xml b/app/src/main/res/drawable/block_all_third_party_requests_enabled_night.xml
new file mode 100644 (file)
index 0000000..a2f836f
--- /dev/null
@@ -0,0 +1,14 @@
+<!-- This file comes from the Android Material icon set, where it is called `new_releases`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M23,12l-2.44,-2.78 0.34,-3.68 -3.61,-0.82 -1.89,-3.18L12,3 8.6,1.54 6.71,4.72l-3.61,0.81 0.34,3.68L1,12l2.44,2.78 -0.34,3.69 3.61,0.82 1.89,3.18L12,21l3.4,1.46 1.89,-3.18 3.61,-0.82 -0.34,-3.68L23,12zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z"/>
+</vector>
diff --git a/app/src/main/res/drawable/block_tracking_disabled_dark.xml b/app/src/main/res/drawable/block_tracking_disabled_dark.xml
deleted file mode 100644 (file)
index eca2e06..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `block_tracking_disabled_dark.xml` comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M12,6.5c1.38,0 2.5,1.12 2.5,2.5 0,0.74 -0.33,1.39 -0.83,1.85l3.63,3.63c0.98,-1.86 1.7,-3.8 1.7,-5.48 0,-3.87 -3.13,-7 -7,-7 -1.98,0 -3.76,0.83 -5.04,2.15l3.19,3.19c0.46,-0.52 1.11,-0.84 1.85,-0.84zM16.37,16.1l-4.63,-4.63 -0.11,-0.11L3.27,3 2,4.27l3.18,3.18C5.07,7.95 5,8.47 5,9c0,5.25 7,13 7,13s1.67,-1.85 3.38,-4.35L18.73,21 20,19.73l-3.63,-3.63z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_tracking_disabled_day.xml b/app/src/main/res/drawable/block_tracking_disabled_day.xml
new file mode 100644 (file)
index 0000000..dcaaac4
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M12,6.5c1.38,0 2.5,1.12 2.5,2.5 0,0.74 -0.33,1.39 -0.83,1.85l3.63,3.63c0.98,-1.86 1.7,-3.8 1.7,-5.48 0,-3.87 -3.13,-7 -7,-7 -1.98,0 -3.76,0.83 -5.04,2.15l3.19,3.19c0.46,-0.52 1.11,-0.84 1.85,-0.84zM16.37,16.1l-4.63,-4.63 -0.11,-0.11L3.27,3 2,4.27l3.18,3.18C5.07,7.95 5,8.47 5,9c0,5.25 7,13 7,13s1.67,-1.85 3.38,-4.35L18.73,21 20,19.73l-3.63,-3.63z"/>
+</vector>
diff --git a/app/src/main/res/drawable/block_tracking_disabled_light.xml b/app/src/main/res/drawable/block_tracking_disabled_light.xml
deleted file mode 100644 (file)
index 3a363b3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `block_tracking_disabled_light.xml` comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M12,6.5c1.38,0 2.5,1.12 2.5,2.5 0,0.74 -0.33,1.39 -0.83,1.85l3.63,3.63c0.98,-1.86 1.7,-3.8 1.7,-5.48 0,-3.87 -3.13,-7 -7,-7 -1.98,0 -3.76,0.83 -5.04,2.15l3.19,3.19c0.46,-0.52 1.11,-0.84 1.85,-0.84zM16.37,16.1l-4.63,-4.63 -0.11,-0.11L3.27,3 2,4.27l3.18,3.18C5.07,7.95 5,8.47 5,9c0,5.25 7,13 7,13s1.67,-1.85 3.38,-4.35L18.73,21 20,19.73l-3.63,-3.63z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_tracking_disabled_night.xml b/app/src/main/res/drawable/block_tracking_disabled_night.xml
new file mode 100644 (file)
index 0000000..7cbe739
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M12,6.5c1.38,0 2.5,1.12 2.5,2.5 0,0.74 -0.33,1.39 -0.83,1.85l3.63,3.63c0.98,-1.86 1.7,-3.8 1.7,-5.48 0,-3.87 -3.13,-7 -7,-7 -1.98,0 -3.76,0.83 -5.04,2.15l3.19,3.19c0.46,-0.52 1.11,-0.84 1.85,-0.84zM16.37,16.1l-4.63,-4.63 -0.11,-0.11L3.27,3 2,4.27l3.18,3.18C5.07,7.95 5,8.47 5,9c0,5.25 7,13 7,13s1.67,-1.85 3.38,-4.35L18.73,21 20,19.73l-3.63,-3.63z"/>
+</vector>
diff --git a/app/src/main/res/drawable/block_tracking_enabled_dark.xml b/app/src/main/res/drawable/block_tracking_enabled_dark.xml
deleted file mode 100644 (file)
index 7079243..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `block_tracking_enabled_dark.xml` comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M12,6.5c1.38,0 2.5,1.12 2.5,2.5 0,0.74 -0.33,1.39 -0.83,1.85l3.63,3.63c0.98,-1.86 1.7,-3.8 1.7,-5.48 0,-3.87 -3.13,-7 -7,-7 -1.98,0 -3.76,0.83 -5.04,2.15l3.19,3.19c0.46,-0.52 1.11,-0.84 1.85,-0.84zM16.37,16.1l-4.63,-4.63 -0.11,-0.11L3.27,3 2,4.27l3.18,3.18C5.07,7.95 5,8.47 5,9c0,5.25 7,13 7,13s1.67,-1.85 3.38,-4.35L18.73,21 20,19.73l-3.63,-3.63z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_tracking_enabled_day.xml b/app/src/main/res/drawable/block_tracking_enabled_day.xml
new file mode 100644 (file)
index 0000000..26969ba
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M12,6.5c1.38,0 2.5,1.12 2.5,2.5 0,0.74 -0.33,1.39 -0.83,1.85l3.63,3.63c0.98,-1.86 1.7,-3.8 1.7,-5.48 0,-3.87 -3.13,-7 -7,-7 -1.98,0 -3.76,0.83 -5.04,2.15l3.19,3.19c0.46,-0.52 1.11,-0.84 1.85,-0.84zM16.37,16.1l-4.63,-4.63 -0.11,-0.11L3.27,3 2,4.27l3.18,3.18C5.07,7.95 5,8.47 5,9c0,5.25 7,13 7,13s1.67,-1.85 3.38,-4.35L18.73,21 20,19.73l-3.63,-3.63z"/>
+</vector>
diff --git a/app/src/main/res/drawable/block_tracking_enabled_light.xml b/app/src/main/res/drawable/block_tracking_enabled_light.xml
deleted file mode 100644 (file)
index 8468104..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `block_tracking_enabled_light.xml` comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M12,6.5c1.38,0 2.5,1.12 2.5,2.5 0,0.74 -0.33,1.39 -0.83,1.85l3.63,3.63c0.98,-1.86 1.7,-3.8 1.7,-5.48 0,-3.87 -3.13,-7 -7,-7 -1.98,0 -3.76,0.83 -5.04,2.15l3.19,3.19c0.46,-0.52 1.11,-0.84 1.85,-0.84zM16.37,16.1l-4.63,-4.63 -0.11,-0.11L3.27,3 2,4.27l3.18,3.18C5.07,7.95 5,8.47 5,9c0,5.25 7,13 7,13s1.67,-1.85 3.38,-4.35L18.73,21 20,19.73l-3.63,-3.63z"/>
-</vector>
diff --git a/app/src/main/res/drawable/block_tracking_enabled_night.xml b/app/src/main/res/drawable/block_tracking_enabled_night.xml
new file mode 100644 (file)
index 0000000..ed8d710
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M12,6.5c1.38,0 2.5,1.12 2.5,2.5 0,0.74 -0.33,1.39 -0.83,1.85l3.63,3.63c0.98,-1.86 1.7,-3.8 1.7,-5.48 0,-3.87 -3.13,-7 -7,-7 -1.98,0 -3.76,0.83 -5.04,2.15l3.19,3.19c0.46,-0.52 1.11,-0.84 1.85,-0.84zM16.37,16.1l-4.63,-4.63 -0.11,-0.11L3.27,3 2,4.27l3.18,3.18C5.07,7.95 5,8.47 5,9c0,5.25 7,13 7,13s1.67,-1.85 3.38,-4.35L18.73,21 20,19.73l-3.63,-3.63z"/>
+</vector>
diff --git a/app/src/main/res/drawable/bookmarks_dark.xml b/app/src/main/res/drawable/bookmarks_dark.xml
deleted file mode 100644 (file)
index 8b19118..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `bookmarks_light.xml` comes from the Android Material icon set, where it is called `bookmarks`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster"
-    android:autoMirrored="true" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M19,18l2,1V3c0,-1.1 -0.9,-2 -2,-2H8.99C7.89,1 7,1.9 7,3h10c1.1,0 2,0.9 2,2v13zM15,5H5c-1.1,0 -2,0.9 -2,2v16l7,-3 7,3V7c0,-1.1 -0.9,-2 -2,-2z"/>
-</vector>
diff --git a/app/src/main/res/drawable/bookmarks_day.xml b/app/src/main/res/drawable/bookmarks_day.xml
new file mode 100644 (file)
index 0000000..000555d
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `bookmarks`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    tools:ignore="VectorRaster"
+    android:autoMirrored="true" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M19,18l2,1V3c0,-1.1 -0.9,-2 -2,-2H8.99C7.89,1 7,1.9 7,3h10c1.1,0 2,0.9 2,2v13zM15,5H5c-1.1,0 -2,0.9 -2,2v16l7,-3 7,3V7c0,-1.1 -0.9,-2 -2,-2z"/>
+</vector>
diff --git a/app/src/main/res/drawable/bookmarks_light.xml b/app/src/main/res/drawable/bookmarks_light.xml
deleted file mode 100644 (file)
index 732df25..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `bookmarks_light.xml` comes from the Android Material icon set, where it is called `bookmarks`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster"
-    android:autoMirrored="true" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M19,18l2,1V3c0,-1.1 -0.9,-2 -2,-2H8.99C7.89,1 7,1.9 7,3h10c1.1,0 2,0.9 2,2v13zM15,5H5c-1.1,0 -2,0.9 -2,2v16l7,-3 7,3V7c0,-1.1 -0.9,-2 -2,-2z"/>
-</vector>
diff --git a/app/src/main/res/drawable/bookmarks_night.xml b/app/src/main/res/drawable/bookmarks_night.xml
new file mode 100644 (file)
index 0000000..3608e8d
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `bookmarks`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    tools:ignore="VectorRaster"
+    android:autoMirrored="true" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M19,18l2,1V3c0,-1.1 -0.9,-2 -2,-2H8.99C7.89,1 7,1.9 7,3h10c1.1,0 2,0.9 2,2v13zM15,5H5c-1.1,0 -2,0.9 -2,2v16l7,-3 7,3V7c0,-1.1 -0.9,-2 -2,-2z"/>
+</vector>
index c21c2eb6f12cc79518c8bea88e080a84014253b5..c2270aa2a0dc25bf024640196b2db94049cd9d67 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `bug.xml` comes from the Android Material icon set, where it is called `bug_report`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `bug_report`.  It is released under the Apache License 2.0. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="24dp"
@@ -6,7 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF000000"
         android:pathData="M20,8h-2.81c-0.45,-0.78 -1.07,-1.45 -1.82,-1.96L17,4.41 15.59,3l-2.17,2.17C12.96,5.06 12.49,5 12,5c-0.49,0 -0.96,0.06 -1.41,0.17L8.41,3 7,4.41l1.62,1.63C7.88,6.55 7.26,7.22 6.81,8L4,8v2h2.09c-0.05,0.33 -0.09,0.66 -0.09,1v1L4,12v2h2v1c0,0.34 0.04,0.67 0.09,1L4,16v2h2.81c1.04,1.79 2.97,3 5.19,3s4.15,-1.21 5.19,-3L20,18v-2h-2.09c0.05,-0.33 0.09,-0.66 0.09,-1v-1h2v-2h-2v-1c0,-0.34 -0.04,-0.67 -0.09,-1L20,10L20,8zM14,16h-4v-2h4v2zM14,12h-4v-2h4v2z"/>
diff --git a/app/src/main/res/drawable/cache_cleared_dark.xml b/app/src/main/res/drawable/cache_cleared_dark.xml
deleted file mode 100644 (file)
index 5bf6706..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `cache_cleared_dark.xml` comes from the Android Material icon set, where it is called `donut_small`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M11,9.16V2c-5,0.5 -9,4.79 -9,10s4,9.5 9,10v-7.16c-1,-0.41 -2,-1.52 -2,-2.84s1,-2.43 2,-2.84zM14.86,11H22c-0.48,-4.75 -4,-8.53 -9,-9v7.16c1,0.3 1.52,0.98 1.86,1.84zM13,14.84V22c5,-0.47 8.52,-4.25 9,-9h-7.14c-0.34,0.86 -0.86,1.54 -1.86,1.84z"/>
-</vector>
diff --git a/app/src/main/res/drawable/cache_cleared_day.xml b/app/src/main/res/drawable/cache_cleared_day.xml
new file mode 100644 (file)
index 0000000..3b8c9a7
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `donut_small`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M11,9.16V2c-5,0.5 -9,4.79 -9,10s4,9.5 9,10v-7.16c-1,-0.41 -2,-1.52 -2,-2.84s1,-2.43 2,-2.84zM14.86,11H22c-0.48,-4.75 -4,-8.53 -9,-9v7.16c1,0.3 1.52,0.98 1.86,1.84zM13,14.84V22c5,-0.47 8.52,-4.25 9,-9h-7.14c-0.34,0.86 -0.86,1.54 -1.86,1.84z"/>
+</vector>
diff --git a/app/src/main/res/drawable/cache_cleared_light.xml b/app/src/main/res/drawable/cache_cleared_light.xml
deleted file mode 100644 (file)
index 570c57c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `cache_cleared_light.xml` comes from the Android Material icon set, where it is called `donut_small`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M11,9.16V2c-5,0.5 -9,4.79 -9,10s4,9.5 9,10v-7.16c-1,-0.41 -2,-1.52 -2,-2.84s1,-2.43 2,-2.84zM14.86,11H22c-0.48,-4.75 -4,-8.53 -9,-9v7.16c1,0.3 1.52,0.98 1.86,1.84zM13,14.84V22c5,-0.47 8.52,-4.25 9,-9h-7.14c-0.34,0.86 -0.86,1.54 -1.86,1.84z"/>
-</vector>
diff --git a/app/src/main/res/drawable/cache_cleared_night.xml b/app/src/main/res/drawable/cache_cleared_night.xml
new file mode 100644 (file)
index 0000000..113973e
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `donut_small`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M11,9.16V2c-5,0.5 -9,4.79 -9,10s4,9.5 9,10v-7.16c-1,-0.41 -2,-1.52 -2,-2.84s1,-2.43 2,-2.84zM14.86,11H22c-0.48,-4.75 -4,-8.53 -9,-9v7.16c1,0.3 1.52,0.98 1.86,1.84zM13,14.84V22c5,-0.47 8.52,-4.25 9,-9h-7.14c-0.34,0.86 -0.86,1.54 -1.86,1.84z"/>
+</vector>
index 3e237dc337d5ea6c8c7023a30158955bc5077ade..df3a5c2cf1d80843cff41759cc9f4a61347afb3c 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `cache_cleared.xml` comes from the Android Material icon set, where it is called `donut_small`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `donut_small`.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
@@ -11,7 +11,7 @@
     android:viewportWidth="24.0"
     tools:ignore="VectorRaster" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FFB71C1C"
         android:pathData="M11,9.16V2c-5,0.5 -9,4.79 -9,10s4,9.5 9,10v-7.16c-1,-0.41 -2,-1.52 -2,-2.84s1,-2.43 2,-2.84zM14.86,11H22c-0.48,-4.75 -4,-8.53 -9,-9v7.16c1,0.3 1.52,0.98 1.86,1.84zM13,14.84V22c5,-0.47 8.52,-4.25 9,-9h-7.14c-0.34,0.86 -0.86,1.54 -1.86,1.84z"/>
index 2894a265a822ea994e9528953a182f6e000a726f..1c64ee9d4a77a00e8b1f0c92d5e69fa494a7966f 100644 (file)
     android:autoMirrored="true"
     tools:ignore="VectorRaster" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF1565C0"
         android:pathData="M2.096,3.377H15.51c1.064,0 1.916,0.862 1.916,1.916V9.126H15.51V5.293H2.096V18.707H15.51v-3.833h1.916v3.833c0,1.054 -0.853,1.916 -1.916,1.916H2.096c-1.054,0 -1.916,-0.862 -1.916,-1.916V5.293c0,-1.054 0.862,-1.916 1.916,-1.916z"
         android:strokeWidth="0.95815897" />
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF1565C0"
         android:pathData="m17.845,15.44 l1.351,1.351 4.791,-4.791 -4.791,-4.791 -1.351,1.351 2.472,2.482H8.096v1.916H20.317Z"
diff --git a/app/src/main/res/drawable/clear_dark.xml b/app/src/main/res/drawable/clear_dark.xml
deleted file mode 100644 (file)
index 738b53f..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `clear_dark.xml` comes from the Android Material icon set, where it is called `close`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/clear_day.xml b/app/src/main/res/drawable/clear_day.xml
new file mode 100644 (file)
index 0000000..9e0ffc5
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `close`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" />
+</vector>
\ No newline at end of file
index 29acff299f57b3afbc713fde251f279eb79b0fb2..058706164246de354c86ca5d48ab240bbaeb3d30 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `clear_everything_disabled.xml` comes from the Android Material icon set, where it is called `delete_forever`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `delete_forever`.  It is released under the Apache License 2.0. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="24dp"
@@ -6,7 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FFB71C1C"
         android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2L18,7L6,7v12zM8.46,11.88l1.41,-1.41L12,12.59l2.12,-2.12 1.41,1.41L13.41,14l2.12,2.12 -1.41,1.41L12,15.41l-2.12,2.12 -1.41,-1.41L10.59,14l-2.13,-2.12zM15.5,4l-1,-1h-5l-1,1L5,4v2h14L19,4z"/>
diff --git a/app/src/main/res/drawable/clear_everything_enabled_dark.xml b/app/src/main/res/drawable/clear_everything_enabled_dark.xml
deleted file mode 100644 (file)
index 0153bb8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `clear_everything_enabled_dark.xml` comes from the Android Material icon set, where it is called `delete_forever`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2L18,7L6,7v12zM8.46,11.88l1.41,-1.41L12,12.59l2.12,-2.12 1.41,1.41L13.41,14l2.12,2.12 -1.41,1.41L12,15.41l-2.12,2.12 -1.41,-1.41L10.59,14l-2.13,-2.12zM15.5,4l-1,-1h-5l-1,1L5,4v2h14L19,4z"/>
-</vector>
diff --git a/app/src/main/res/drawable/clear_everything_enabled_day.xml b/app/src/main/res/drawable/clear_everything_enabled_day.xml
new file mode 100644 (file)
index 0000000..e8514cf
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `delete_forever`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2L18,7L6,7v12zM8.46,11.88l1.41,-1.41L12,12.59l2.12,-2.12 1.41,1.41L13.41,14l2.12,2.12 -1.41,1.41L12,15.41l-2.12,2.12 -1.41,-1.41L10.59,14l-2.13,-2.12zM15.5,4l-1,-1h-5l-1,1L5,4v2h14L19,4z"/>
+</vector>
diff --git a/app/src/main/res/drawable/clear_everything_enabled_light.xml b/app/src/main/res/drawable/clear_everything_enabled_light.xml
deleted file mode 100644 (file)
index d4a3af0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `clear_everything_enabled_light.xml` comes from the Android Material icon set, where it is called `delete_forever`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2L18,7L6,7v12zM8.46,11.88l1.41,-1.41L12,12.59l2.12,-2.12 1.41,1.41L13.41,14l2.12,2.12 -1.41,1.41L12,15.41l-2.12,2.12 -1.41,-1.41L10.59,14l-2.13,-2.12zM15.5,4l-1,-1h-5l-1,1L5,4v2h14L19,4z"/>
-</vector>
diff --git a/app/src/main/res/drawable/clear_everything_enabled_night.xml b/app/src/main/res/drawable/clear_everything_enabled_night.xml
new file mode 100644 (file)
index 0000000..8858897
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `delete_forever`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2L18,7L6,7v12zM8.46,11.88l1.41,-1.41L12,12.59l2.12,-2.12 1.41,1.41L13.41,14l2.12,2.12 -1.41,1.41L12,15.41l-2.12,2.12 -1.41,-1.41L10.59,14l-2.13,-2.12zM15.5,4l-1,-1h-5l-1,1L5,4v2h14L19,4z"/>
+</vector>
diff --git a/app/src/main/res/drawable/clear_light.xml b/app/src/main/res/drawable/clear_light.xml
deleted file mode 100644 (file)
index a30170d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `clear_light.xml` comes from the Android Material icon set, where it is called `close`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/clear_night.xml b/app/src/main/res/drawable/clear_night.xml
new file mode 100644 (file)
index 0000000..8912a99
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `close`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/close_dark.xml b/app/src/main/res/drawable/close_dark.xml
deleted file mode 100644 (file)
index 38a0529..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `close_dark.xml` comes from the Android Material icon set, where it is called `close`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" />
-</vector>
diff --git a/app/src/main/res/drawable/close_day.xml b/app/src/main/res/drawable/close_day.xml
new file mode 100644 (file)
index 0000000..50d196f
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `close`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" />
+</vector>
diff --git a/app/src/main/res/drawable/close_light.xml b/app/src/main/res/drawable/close_light.xml
deleted file mode 100644 (file)
index a7e0795..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `close_light.xml` comes from the Android Material icon set, where it is called `close`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" />
-</vector>
diff --git a/app/src/main/res/drawable/close_night.xml b/app/src/main/res/drawable/close_night.xml
new file mode 100644 (file)
index 0000000..47e515c
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `close`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" />
+</vector>
diff --git a/app/src/main/res/drawable/cookies_cleared_dark.xml b/app/src/main/res/drawable/cookies_cleared_dark.xml
deleted file mode 100644 (file)
index 1d718d4..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `cookies_cleared_dark.xml` was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/cookies_cleared_day.xml b/app/src/main/res/drawable/cookies_cleared_day.xml
new file mode 100644 (file)
index 0000000..1b400bc
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/cookies_cleared_light.xml b/app/src/main/res/drawable/cookies_cleared_light.xml
deleted file mode 100644 (file)
index 1a14271..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `cookies_cleared_light.xml` was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/cookies_cleared_night.xml b/app/src/main/res/drawable/cookies_cleared_night.xml
new file mode 100644 (file)
index 0000000..1ebbc47
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/cookies_disabled_dark.xml b/app/src/main/res/drawable/cookies_disabled_dark.xml
deleted file mode 100644 (file)
index 850341a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `cookies_disabled_dark.xml` was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/cookies_disabled_day.xml b/app/src/main/res/drawable/cookies_disabled_day.xml
new file mode 100644 (file)
index 0000000..b2c60f2
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/cookies_disabled_light.xml b/app/src/main/res/drawable/cookies_disabled_light.xml
deleted file mode 100644 (file)
index 21c326f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `cookies_disabled_light.xml` was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/cookies_disabled_night.xml b/app/src/main/res/drawable/cookies_disabled_night.xml
new file mode 100644 (file)
index 0000000..49eca2f
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
+</vector>
\ No newline at end of file
index df39e05865903822aeec2d9d60a89034a081641b..84492441c4e438b437b2cd759e245b0149e7b3e8 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `cookies_enabled.xml` was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
+<!-- This file was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
@@ -11,7 +11,7 @@
     android:autoMirrored="true"
     tools:ignore="VectorRaster" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FFF57F17"
         android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
diff --git a/app/src/main/res/drawable/cookies_ghosted_dark.xml b/app/src/main/res/drawable/cookies_ghosted_dark.xml
deleted file mode 100644 (file)
index e6c08c1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `cookies_ghosted_dark.xml` was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF616161"
-        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/cookies_ghosted_day.xml b/app/src/main/res/drawable/cookies_ghosted_day.xml
new file mode 100644 (file)
index 0000000..d427e05
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FFB7B7B7"
+        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/cookies_ghosted_light.xml b/app/src/main/res/drawable/cookies_ghosted_light.xml
deleted file mode 100644 (file)
index 0550b69..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `cookies_ghosted_light.xml` was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FFB7B7B7"
-        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/cookies_ghosted_night.xml b/app/src/main/res/drawable/cookies_ghosted_night.xml
new file mode 100644 (file)
index 0000000..14c30ac
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
+</vector>
\ No newline at end of file
index 6f497590189a246c13bb0a3ca5e507f4bc575847..4404b3d2f3b72a09d605566fe2e7a15badf22049 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `cookies_warning.xml` was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
+<!-- This file was created by Google and downloaded from <https://materialdesignicons.com/icon/cookie>.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
@@ -11,7 +11,7 @@
     android:autoMirrored="true"
     tools:ignore="VectorRaster" >
 
-    <!-- We have to use a hard coded color until the minimum API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FFB71C1C"
         android:pathData="M12,3A9,9 0 0,0 3,12A9,9 0 0,0 12,21A9,9 0 0,0 21,12C21,11.5 20.96,11 20.87,10.5C20.6,10 20,10 20,10H18V9C18,8 17,8 17,8H15V7C15,6 14,6 14,6H13V4C13,3 12,3 12,3M9.5,6A1.5,1.5 0 0,1 11,7.5A1.5,1.5 0 0,1 9.5,9A1.5,1.5 0 0,1 8,7.5A1.5,1.5 0 0,1 9.5,6M6.5,10A1.5,1.5 0 0,1 8,11.5A1.5,1.5 0 0,1 6.5,13A1.5,1.5 0 0,1 5,11.5A1.5,1.5 0 0,1 6.5,10M11.5,11A1.5,1.5 0 0,1 13,12.5A1.5,1.5 0 0,1 11.5,14A1.5,1.5 0 0,1 10,12.5A1.5,1.5 0 0,1 11.5,11M16.5,13A1.5,1.5 0 0,1 18,14.5A1.5,1.5 0 0,1 16.5,16H16.5A1.5,1.5 0 0,1 15,14.5H15A1.5,1.5 0 0,1 16.5,13M11,16A1.5,1.5 0 0,1 12.5,17.5A1.5,1.5 0 0,1 11,19A1.5,1.5 0 0,1 9.5,17.5A1.5,1.5 0 0,1 11,16Z" />
diff --git a/app/src/main/res/drawable/copy_dark.xml b/app/src/main/res/drawable/copy_dark.xml
deleted file mode 100644 (file)
index 50c9da7..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5l6,6v10c0,1.1 -0.9,2 -2,2L7.99,23C6.89,23 6,22.1 6,21l0.01,-14c0,-1.1 0.89,-2 1.99,-2h7zM14,12h5.5L14,6.5L14,12z"/>
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/copy_day.xml b/app/src/main/res/drawable/copy_day.xml
new file mode 100644 (file)
index 0000000..2275152
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5l6,6v10c0,1.1 -0.9,2 -2,2L7.99,23C6.89,23 6,22.1 6,21l0.01,-14c0,-1.1 0.89,-2 1.99,-2h7zM14,12h5.5L14,6.5L14,12z"/>
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/copy_enabled_dark.xml b/app/src/main/res/drawable/copy_enabled_dark.xml
deleted file mode 100644 (file)
index bd40a05..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5l6,6v10c0,1.1 -0.9,2 -2,2L7.99,23C6.89,23 6,22.1 6,21l0.01,-14c0,-1.1 0.89,-2 1.99,-2h7zM14,12h5.5L14,6.5L14,12z"/>
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/copy_enabled_day.xml b/app/src/main/res/drawable/copy_enabled_day.xml
new file mode 100644 (file)
index 0000000..32d7b9d
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5l6,6v10c0,1.1 -0.9,2 -2,2L7.99,23C6.89,23 6,22.1 6,21l0.01,-14c0,-1.1 0.89,-2 1.99,-2h7zM14,12h5.5L14,6.5L14,12z"/>
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/copy_enabled_light.xml b/app/src/main/res/drawable/copy_enabled_light.xml
deleted file mode 100644 (file)
index 0149278..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5l6,6v10c0,1.1 -0.9,2 -2,2L7.99,23C6.89,23 6,22.1 6,21l0.01,-14c0,-1.1 0.89,-2 1.99,-2h7zM14,12h5.5L14,6.5L14,12z"/>
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/copy_enabled_night.xml b/app/src/main/res/drawable/copy_enabled_night.xml
new file mode 100644 (file)
index 0000000..7a84453
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5l6,6v10c0,1.1 -0.9,2 -2,2L7.99,23C6.89,23 6,22.1 6,21l0.01,-14c0,-1.1 0.89,-2 1.99,-2h7zM14,12h5.5L14,6.5L14,12z"/>
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/copy_light.xml b/app/src/main/res/drawable/copy_light.xml
deleted file mode 100644 (file)
index 0c33ca1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5l6,6v10c0,1.1 -0.9,2 -2,2L7.99,23C6.89,23 6,22.1 6,21l0.01,-14c0,-1.1 0.89,-2 1.99,-2h7zM14,12h5.5L14,6.5L14,12z"/>
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/copy_night.xml b/app/src/main/res/drawable/copy_night.xml
new file mode 100644 (file)
index 0000000..f1e7a82
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M16,1L4,1c-1.1,0 -2,0.9 -2,2v14h2L4,3h12L16,1zM15,5l6,6v10c0,1.1 -0.9,2 -2,2L7.99,23C6.89,23 6,22.1 6,21l0.01,-14c0,-1.1 0.89,-2 1.99,-2h7zM14,12h5.5L14,6.5L14,12z"/>
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/create_bookmark_dark.xml b/app/src/main/res/drawable/create_bookmark_dark.xml
deleted file mode 100644 (file)
index 5578e72..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<!-- `create_bookmark_dark.xml` is derived from elements of `bookmark` and `create_new_folder`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M7,3C5.9,3 5.01,3.9 5.01,5L5,21L12,18L19,21L19,5C19,3.9 18.1,3 17,3L7,3zM11,7L13,7L13,10L16,10L16,12L13,12L13,15L11,15L11,12L8,12L8,10L11,10L11,7z" />
-
-</vector>
diff --git a/app/src/main/res/drawable/create_bookmark_day.xml b/app/src/main/res/drawable/create_bookmark_day.xml
new file mode 100644 (file)
index 0000000..1c40cce
--- /dev/null
@@ -0,0 +1,15 @@
+<!-- This file is derived from elements of `bookmark` and `create_new_folder`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
+    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M7,3C5.9,3 5.01,3.9 5.01,5L5,21L12,18L19,21L19,5C19,3.9 18.1,3 17,3L7,3zM11,7L13,7L13,10L16,10L16,12L13,12L13,15L11,15L11,12L8,12L8,10L11,10L11,7z" />
+
+</vector>
diff --git a/app/src/main/res/drawable/create_bookmark_light.xml b/app/src/main/res/drawable/create_bookmark_light.xml
deleted file mode 100644 (file)
index 9038a77..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<!-- `create_bookmark_light.xml` is derived from elements of `bookmark` and `create_new_folder`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M7,3C5.9,3 5.01,3.9 5.01,5L5,21L12,18L19,21L19,5C19,3.9 18.1,3 17,3L7,3zM11,7L13,7L13,10L16,10L16,12L13,12L13,15L11,15L11,12L8,12L8,10L11,10L11,7z" />
-
-</vector>
diff --git a/app/src/main/res/drawable/create_bookmark_night.xml b/app/src/main/res/drawable/create_bookmark_night.xml
new file mode 100644 (file)
index 0000000..64a898e
--- /dev/null
@@ -0,0 +1,15 @@
+<!-- This file is derived from elements of `bookmark` and `create_new_folder`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
+    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M7,3C5.9,3 5.01,3.9 5.01,5L5,21L12,18L19,21L19,5C19,3.9 18.1,3 17,3L7,3zM11,7L13,7L13,10L16,10L16,12L13,12L13,15L11,15L11,12L8,12L8,10L11,10L11,7z" />
+
+</vector>
diff --git a/app/src/main/res/drawable/create_folder_dark.xml b/app/src/main/res/drawable/create_folder_dark.xml
deleted file mode 100644 (file)
index b9dbc2d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `create_folder_dark.xml` comes from the Android Material icon set, where it is called `create_new_folder`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M4,4C2.89,4 2.01,4.89 2.01,6L2,18C2,19.11 2.89,20 4,20L20,20C21.11,20 22,19.11 22,18L22,8C22,6.89 21.11,6 20,6L12,6L10,4L4,4zM11,9L13,9L13,12L16,12L16,14L13,14L13,17L11,17L11,14L8,14L8,12L11,12L11,9z" />
-</vector>
diff --git a/app/src/main/res/drawable/create_folder_day.xml b/app/src/main/res/drawable/create_folder_day.xml
new file mode 100644 (file)
index 0000000..3512e61
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `create_new_folder`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFFFFFFF"
+        android:pathData="M4,4C2.89,4 2.01,4.89 2.01,6L2,18C2,19.11 2.89,20 4,20L20,20C21.11,20 22,19.11 22,18L22,8C22,6.89 21.11,6 20,6L12,6L10,4L4,4zM11,9L13,9L13,12L16,12L16,14L13,14L13,17L11,17L11,14L8,14L8,12L11,12L11,9z" />
+</vector>
diff --git a/app/src/main/res/drawable/create_folder_light.xml b/app/src/main/res/drawable/create_folder_light.xml
deleted file mode 100644 (file)
index d5a4411..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `create_folder_light.xml` comes from the Android Material icon set, where it is called `create_new_folder`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M4,4C2.89,4 2.01,4.89 2.01,6L2,18C2,19.11 2.89,20 4,20L20,20C21.11,20 22,19.11 22,18L22,8C22,6.89 21.11,6 20,6L12,6L10,4L4,4zM11,9L13,9L13,12L16,12L16,14L13,14L13,17L11,17L11,14L8,14L8,12L11,12L11,9z" />
-</vector>
diff --git a/app/src/main/res/drawable/create_folder_night.xml b/app/src/main/res/drawable/create_folder_night.xml
new file mode 100644 (file)
index 0000000..7b3c91c
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `create_new_folder`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M4,4C2.89,4 2.01,4.89 2.01,6L2,18C2,19.11 2.89,20 4,20L20,20C21.11,20 22,19.11 22,18L22,8C22,6.89 21.11,6 20,6L12,6L10,4L4,4zM11,9L13,9L13,12L16,12L16,14L13,14L13,17L11,17L11,14L8,14L8,12L11,12L11,9z" />
+</vector>
diff --git a/app/src/main/res/drawable/custom_user_agent_enabled_dark.xml b/app/src/main/res/drawable/custom_user_agent_enabled_dark.xml
deleted file mode 100644 (file)
index c4c04f1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `important_devices_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster">
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M23,11.01L18,11c-0.55,0 -1,0.45 -1,1v9c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1v-9c0,-0.55 -0.45,-0.99 -1,-0.99zM23,20h-5v-7h5v7zM20,2L2,2C0.89,2 0,2.89 0,4v12c0,1.1 0.89,2 2,2h7v2L7,20v2h8v-2h-2v-2h2v-2L2,16L2,4h18v5h2L22,4c0,-1.11 -0.9,-2 -2,-2zM11.97,9L11,6l-0.97,3L7,9l2.47,1.76 -0.94,2.91 2.47,-1.8 2.47,1.8 -0.94,-2.91L15,9h-3.03z"/>
-</vector>
diff --git a/app/src/main/res/drawable/custom_user_agent_enabled_day.xml b/app/src/main/res/drawable/custom_user_agent_enabled_day.xml
new file mode 100644 (file)
index 0000000..3463bcb
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `important_devices_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M23,11.01L18,11c-0.55,0 -1,0.45 -1,1v9c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1v-9c0,-0.55 -0.45,-0.99 -1,-0.99zM23,20h-5v-7h5v7zM20,2L2,2C0.89,2 0,2.89 0,4v12c0,1.1 0.89,2 2,2h7v2L7,20v2h8v-2h-2v-2h2v-2L2,16L2,4h18v5h2L22,4c0,-1.11 -0.9,-2 -2,-2zM11.97,9L11,6l-0.97,3L7,9l2.47,1.76 -0.94,2.91 2.47,-1.8 2.47,1.8 -0.94,-2.91L15,9h-3.03z"/>
+</vector>
diff --git a/app/src/main/res/drawable/custom_user_agent_enabled_light.xml b/app/src/main/res/drawable/custom_user_agent_enabled_light.xml
deleted file mode 100644 (file)
index 9a39a93..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `important_devices_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster">
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M23,11.01L18,11c-0.55,0 -1,0.45 -1,1v9c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1v-9c0,-0.55 -0.45,-0.99 -1,-0.99zM23,20h-5v-7h5v7zM20,2L2,2C0.89,2 0,2.89 0,4v12c0,1.1 0.89,2 2,2h7v2L7,20v2h8v-2h-2v-2h2v-2L2,16L2,4h18v5h2L22,4c0,-1.11 -0.9,-2 -2,-2zM11.97,9L11,6l-0.97,3L7,9l2.47,1.76 -0.94,2.91 2.47,-1.8 2.47,1.8 -0.94,-2.91L15,9h-3.03z"/>
-</vector>
diff --git a/app/src/main/res/drawable/custom_user_agent_enabled_night.xml b/app/src/main/res/drawable/custom_user_agent_enabled_night.xml
new file mode 100644 (file)
index 0000000..e4076e4
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `important_devices_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M23,11.01L18,11c-0.55,0 -1,0.45 -1,1v9c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1v-9c0,-0.55 -0.45,-0.99 -1,-0.99zM23,20h-5v-7h5v7zM20,2L2,2C0.89,2 0,2.89 0,4v12c0,1.1 0.89,2 2,2h7v2L7,20v2h8v-2h-2v-2h2v-2L2,16L2,4h18v5h2L22,4c0,-1.11 -0.9,-2 -2,-2zM11.97,9L11,6l-0.97,3L7,9l2.47,1.76 -0.94,2.91 2.47,-1.8 2.47,1.8 -0.94,-2.91L15,9h-3.03z"/>
+</vector>
diff --git a/app/src/main/res/drawable/custom_user_agent_ghosted_dark.xml b/app/src/main/res/drawable/custom_user_agent_ghosted_dark.xml
deleted file mode 100644 (file)
index 2e16df6..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `important_devices_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster">
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF616161"
-        android:pathData="M23,11.01L18,11c-0.55,0 -1,0.45 -1,1v9c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1v-9c0,-0.55 -0.45,-0.99 -1,-0.99zM23,20h-5v-7h5v7zM20,2L2,2C0.89,2 0,2.89 0,4v12c0,1.1 0.89,2 2,2h7v2L7,20v2h8v-2h-2v-2h2v-2L2,16L2,4h18v5h2L22,4c0,-1.11 -0.9,-2 -2,-2zM11.97,9L11,6l-0.97,3L7,9l2.47,1.76 -0.94,2.91 2.47,-1.8 2.47,1.8 -0.94,-2.91L15,9h-3.03z"/>
-</vector>
diff --git a/app/src/main/res/drawable/custom_user_agent_ghosted_day.xml b/app/src/main/res/drawable/custom_user_agent_ghosted_day.xml
new file mode 100644 (file)
index 0000000..6bda891
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `important_devices_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FFB7B7B7"
+        android:pathData="M23,11.01L18,11c-0.55,0 -1,0.45 -1,1v9c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1v-9c0,-0.55 -0.45,-0.99 -1,-0.99zM23,20h-5v-7h5v7zM20,2L2,2C0.89,2 0,2.89 0,4v12c0,1.1 0.89,2 2,2h7v2L7,20v2h8v-2h-2v-2h2v-2L2,16L2,4h18v5h2L22,4c0,-1.11 -0.9,-2 -2,-2zM11.97,9L11,6l-0.97,3L7,9l2.47,1.76 -0.94,2.91 2.47,-1.8 2.47,1.8 -0.94,-2.91L15,9h-3.03z"/>
+</vector>
diff --git a/app/src/main/res/drawable/custom_user_agent_ghosted_light.xml b/app/src/main/res/drawable/custom_user_agent_ghosted_light.xml
deleted file mode 100644 (file)
index 808d7f6..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `important_devices_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster">
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFB7B7B7"
-        android:pathData="M23,11.01L18,11c-0.55,0 -1,0.45 -1,1v9c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1v-9c0,-0.55 -0.45,-0.99 -1,-0.99zM23,20h-5v-7h5v7zM20,2L2,2C0.89,2 0,2.89 0,4v12c0,1.1 0.89,2 2,2h7v2L7,20v2h8v-2h-2v-2h2v-2L2,16L2,4h18v5h2L22,4c0,-1.11 -0.9,-2 -2,-2zM11.97,9L11,6l-0.97,3L7,9l2.47,1.76 -0.94,2.91 2.47,-1.8 2.47,1.8 -0.94,-2.91L15,9h-3.03z"/>
-</vector>
diff --git a/app/src/main/res/drawable/custom_user_agent_ghosted_night.xml b/app/src/main/res/drawable/custom_user_agent_ghosted_night.xml
new file mode 100644 (file)
index 0000000..fe6918c
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `important_devices_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M23,11.01L18,11c-0.55,0 -1,0.45 -1,1v9c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1v-9c0,-0.55 -0.45,-0.99 -1,-0.99zM23,20h-5v-7h5v7zM20,2L2,2C0.89,2 0,2.89 0,4v12c0,1.1 0.89,2 2,2h7v2L7,20v2h8v-2h-2v-2h2v-2L2,16L2,4h18v5h2L22,4c0,-1.11 -0.9,-2 -2,-2zM11.97,9L11,6l-0.97,3L7,9l2.47,1.76 -0.94,2.91 2.47,-1.8 2.47,1.8 -0.94,-2.91L15,9h-3.03z"/>
+</vector>
diff --git a/app/src/main/res/drawable/delete_blue.xml b/app/src/main/res/drawable/delete_blue.xml
deleted file mode 100644 (file)
index ff829e8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `delete_blue.xml` comes from the Android Material icon set, where it is called `delete`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF90CAF9"
-        android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/delete_dark.xml b/app/src/main/res/drawable/delete_dark.xml
deleted file mode 100644 (file)
index 0953c46..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `delete_dark.xml` comes from the Android Material icon set, where it is called `delete`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
-</vector>
diff --git a/app/src/main/res/drawable/delete_day.xml b/app/src/main/res/drawable/delete_day.xml
new file mode 100644 (file)
index 0000000..6fbf33a
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `delete`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
+</vector>
diff --git a/app/src/main/res/drawable/delete_disabled.xml b/app/src/main/res/drawable/delete_disabled.xml
new file mode 100644 (file)
index 0000000..76a9ca2
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `delete`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/delete_light.xml b/app/src/main/res/drawable/delete_light.xml
deleted file mode 100644 (file)
index bd6140e..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `delete_light.xml` comes from the Android Material icon set, where it is called `delete`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
-</vector>
diff --git a/app/src/main/res/drawable/delete_night.xml b/app/src/main/res/drawable/delete_night.xml
new file mode 100644 (file)
index 0000000..46df6f5
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `delete`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
+</vector>
diff --git a/app/src/main/res/drawable/dom_storage_cleared_dark.xml b/app/src/main/res/drawable/dom_storage_cleared_dark.xml
deleted file mode 100644 (file)
index 1fb6e49..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
-</vector>
diff --git a/app/src/main/res/drawable/dom_storage_cleared_day.xml b/app/src/main/res/drawable/dom_storage_cleared_day.xml
new file mode 100644 (file)
index 0000000..62db94d
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
+</vector>
diff --git a/app/src/main/res/drawable/dom_storage_cleared_light.xml b/app/src/main/res/drawable/dom_storage_cleared_light.xml
deleted file mode 100644 (file)
index 117304b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
-</vector>
diff --git a/app/src/main/res/drawable/dom_storage_cleared_night.xml b/app/src/main/res/drawable/dom_storage_cleared_night.xml
new file mode 100644 (file)
index 0000000..149fcc5
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
+</vector>
diff --git a/app/src/main/res/drawable/dom_storage_disabled_dark.xml b/app/src/main/res/drawable/dom_storage_disabled_dark.xml
deleted file mode 100644 (file)
index 0e2b003..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
-</vector>
diff --git a/app/src/main/res/drawable/dom_storage_disabled_day.xml b/app/src/main/res/drawable/dom_storage_disabled_day.xml
new file mode 100644 (file)
index 0000000..fb26f26
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
+</vector>
diff --git a/app/src/main/res/drawable/dom_storage_disabled_light.xml b/app/src/main/res/drawable/dom_storage_disabled_light.xml
deleted file mode 100644 (file)
index e49b639..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
-</vector>
diff --git a/app/src/main/res/drawable/dom_storage_disabled_night.xml b/app/src/main/res/drawable/dom_storage_disabled_night.xml
new file mode 100644 (file)
index 0000000..f99dba1
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
+</vector>
index bc59cd95eada8a75acb154d090350038111acbd8..b3d86fbc31b8dc6575417f046e7ee48367cb0bd7 100644 (file)
@@ -11,7 +11,7 @@
     android:autoMirrored="true"
     tools:ignore="VectorRaster" >
 
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FFF57F17"
         android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
diff --git a/app/src/main/res/drawable/dom_storage_ghosted_dark.xml b/app/src/main/res/drawable/dom_storage_ghosted_dark.xml
deleted file mode 100644 (file)
index 9f2419f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
-
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF616161"
-        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
-</vector>
diff --git a/app/src/main/res/drawable/dom_storage_ghosted_day.xml b/app/src/main/res/drawable/dom_storage_ghosted_day.xml
new file mode 100644 (file)
index 0000000..4bf9617
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FFB7B7B7"
+        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
+</vector>
diff --git a/app/src/main/res/drawable/dom_storage_ghosted_light.xml b/app/src/main/res/drawable/dom_storage_ghosted_light.xml
deleted file mode 100644 (file)
index c680a7f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
-
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFB7B7B7"
-        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
-</vector>
diff --git a/app/src/main/res/drawable/dom_storage_ghosted_night.xml b/app/src/main/res/drawable/dom_storage_ghosted_night.xml
new file mode 100644 (file)
index 0000000..bf4ee91
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
+</vector>
index eb42e0facd73d6ec85e23a29f5dae07edd6533e0..0abbe9f5fe7f9b5bf06d39d891120a7e6c07e438 100644 (file)
@@ -11,7 +11,7 @@
     android:autoMirrored="true"
     tools:ignore="VectorRaster" >
 
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FFB71C1C"
         android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM15,18L4,18v-4h11v4zM15,13L4,13L4,9h11v4zM20,18h-4L16,9h4v9z"/>
diff --git a/app/src/main/res/drawable/domains_dark.xml b/app/src/main/res/drawable/domains_dark.xml
deleted file mode 100644 (file)
index 4f9557e..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `import_contacts`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M20,13H4c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h16c0.55,0 1,-0.45 1,-1v-6c0,-0.55 -0.45,-1 -1,-1zM7,19c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM20,3H4c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h16c0.55,0 1,-0.45 1,-1V4c0,-0.55 -0.45,-1 -1,-1zM7,9c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z" />
-</vector>
index 4e41917d50545bbfbf142d9a6b3b5fb24c3a54b9..7c2b995387db9385f5210eef2d6f9efc5d8ffe85 100644 (file)
@@ -11,7 +11,7 @@
     android:autoMirrored="true"
     tools:ignore="VectorRaster" >
 
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF1565C0"
         android:pathData="M20,13H4c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h16c0.55,0 1,-0.45 1,-1v-6c0,-0.55 -0.45,-1 -1,-1zM7,19c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM20,3H4c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h16c0.55,0 1,-0.45 1,-1V4c0,-0.55 -0.45,-1 -1,-1zM7,9c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z" />
diff --git a/app/src/main/res/drawable/domains_night.xml b/app/src/main/res/drawable/domains_night.xml
new file mode 100644 (file)
index 0000000..5ea0868
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `import_contacts`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M20,13H4c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h16c0.55,0 1,-0.45 1,-1v-6c0,-0.55 -0.45,-1 -1,-1zM7,19c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM20,3H4c-0.55,0 -1,0.45 -1,1v6c0,0.55 0.45,1 1,1h16c0.55,0 1,-0.45 1,-1V4c0,-0.55 -0.45,-1 -1,-1zM7,9c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z" />
+</vector>
diff --git a/app/src/main/res/drawable/downloads_enabled_dark.xml b/app/src/main/res/drawable/downloads_enabled_dark.xml
deleted file mode 100644 (file)
index f362252..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `file_download`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/downloads_enabled_day.xml b/app/src/main/res/drawable/downloads_enabled_day.xml
new file mode 100644 (file)
index 0000000..0315a5a
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `file_download`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/downloads_enabled_light.xml b/app/src/main/res/drawable/downloads_enabled_light.xml
deleted file mode 100644 (file)
index 34e0fc7..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `file_download`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/downloads_enabled_night.xml b/app/src/main/res/drawable/downloads_enabled_night.xml
new file mode 100644 (file)
index 0000000..12e3b2f
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `file_download`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/downloads_ghosted_dark.xml b/app/src/main/res/drawable/downloads_ghosted_dark.xml
deleted file mode 100644 (file)
index c857a82..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `file_download`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF616161"
-        android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/downloads_ghosted_day.xml b/app/src/main/res/drawable/downloads_ghosted_day.xml
new file mode 100644 (file)
index 0000000..654c193
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `file_download`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFB7B7B7"
+        android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/downloads_ghosted_light.xml b/app/src/main/res/drawable/downloads_ghosted_light.xml
deleted file mode 100644 (file)
index bfcd415..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `file_download`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- The hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFB7B7B7"
-        android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/downloads_ghosted_night.xml b/app/src/main/res/drawable/downloads_ghosted_night.xml
new file mode 100644 (file)
index 0000000..0adb67a
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `file_download`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/edit_dark.xml b/app/src/main/res/drawable/edit_dark.xml
deleted file mode 100644 (file)
index 8845672..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `edit_dark.xml` comes from the Android Material icon set, where it is called `edit`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
-</vector>
diff --git a/app/src/main/res/drawable/edit_day.xml b/app/src/main/res/drawable/edit_day.xml
new file mode 100644 (file)
index 0000000..7d6ded0
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `edit`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
+</vector>
diff --git a/app/src/main/res/drawable/edit_light.xml b/app/src/main/res/drawable/edit_light.xml
deleted file mode 100644 (file)
index 35473a1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `edit_light.xml` comes from the Android Material icon set, where it is called `edit`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
-</vector>
diff --git a/app/src/main/res/drawable/edit_night.xml b/app/src/main/res/drawable/edit_night.xml
new file mode 100644 (file)
index 0000000..2bd724c
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `edit`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
+</vector>
index 43f1a2f595e7e89acea84fa16ac8b608509a96d8..00bb4efa6e31a99e76d62bcee5293a96aae1039e 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `folder_dark_blue.xml` comes from the Android Material icon set, where it is called `folder`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `folder`.  It is released under the Apache License 2.0. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="24dp"
@@ -6,7 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF0D47A1"
         android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/>
index e9259b9f3f4f0e8fba65bc216a4244bb22d569d1..a5b27aaed59e92ede9eed381981a71daa41990c7 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `folder_gray.xml` comes from the Android Material icon set, where it is called `folder`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `folder`.  It is released under the Apache License 2.0. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="24dp"
@@ -6,7 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF9E9E9E"
         android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/>
diff --git a/app/src/main/res/drawable/font_size_dark.xml b/app/src/main/res/drawable/font_size_dark.xml
deleted file mode 100644 (file)
index c230bd2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `font_size_dark.xml` comes from the Android Material icon set, where it is called `text_fields`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M2.5,4v3h5v12h3L10.5,7h5L15.5,4h-13zM21.5,9h-9v3h3v7h3v-7h3L21.5,9z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/font_size_day.xml b/app/src/main/res/drawable/font_size_day.xml
new file mode 100644 (file)
index 0000000..99609b6
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `text_fields`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M2.5,4v3h5v12h3L10.5,7h5L15.5,4h-13zM21.5,9h-9v3h3v7h3v-7h3L21.5,9z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/font_size_light.xml b/app/src/main/res/drawable/font_size_light.xml
deleted file mode 100644 (file)
index befb995..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `font_size_light.xml` comes from the Android Material icon set, where it is called `text_fields`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M2.5,4v3h5v12h3L10.5,7h5L15.5,4h-13zM21.5,9h-9v3h3v7h3v-7h3L21.5,9z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/font_size_night.xml b/app/src/main/res/drawable/font_size_night.xml
new file mode 100644 (file)
index 0000000..8b2a77c
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `text_fields`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M2.5,4v3h5v12h3L10.5,7h5L15.5,4h-13zM21.5,9h-9v3h3v7h3v-7h3L21.5,9z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/form_data_cleared_dark.xml b/app/src/main/res/drawable/form_data_cleared_dark.xml
deleted file mode 100644 (file)
index e51d86f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `form_data_cleared_dark.xml` comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
-</vector>
diff --git a/app/src/main/res/drawable/form_data_cleared_day.xml b/app/src/main/res/drawable/form_data_cleared_day.xml
new file mode 100644 (file)
index 0000000..99ecf43
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
+</vector>
diff --git a/app/src/main/res/drawable/form_data_cleared_light.xml b/app/src/main/res/drawable/form_data_cleared_light.xml
deleted file mode 100644 (file)
index 244a95b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `form_data_cleared_light.xml` comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
-</vector>
diff --git a/app/src/main/res/drawable/form_data_cleared_night.xml b/app/src/main/res/drawable/form_data_cleared_night.xml
new file mode 100644 (file)
index 0000000..f9c4922
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
+</vector>
diff --git a/app/src/main/res/drawable/form_data_disabled_dark.xml b/app/src/main/res/drawable/form_data_disabled_dark.xml
deleted file mode 100644 (file)
index e4838e6..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `form_data_disabled_dark.xml` comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
-</vector>
diff --git a/app/src/main/res/drawable/form_data_disabled_day.xml b/app/src/main/res/drawable/form_data_disabled_day.xml
new file mode 100644 (file)
index 0000000..fab8b38
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
+</vector>
diff --git a/app/src/main/res/drawable/form_data_disabled_light.xml b/app/src/main/res/drawable/form_data_disabled_light.xml
deleted file mode 100644 (file)
index ba16dcf..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `form_data_disabled_light.xml` comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="26dp"
-    android:width="26dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
-</vector>
diff --git a/app/src/main/res/drawable/form_data_disabled_night.xml b/app/src/main/res/drawable/form_data_disabled_night.xml
new file mode 100644 (file)
index 0000000..f6626c6
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="26dp"
+    android:width="26dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
+</vector>
index d2f8b182b475aeeecb4cb33e16e758fa530f0930..5737b8f7f8938d4739db14e006487428161bc2ff 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `form_data_enabled.xml` comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
@@ -11,7 +11,7 @@
     android:autoMirrored="true"
     tools:ignore="VectorRaster">
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FFF57F17"
         android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
index 77845c32c0c9be40d885a87b76490fdebc0812f2..a555261b8e9364d3221253b8e66b099b4d044458 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `form_data_warning.xml` comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
@@ -11,7 +11,7 @@
     android:autoMirrored="true"
     tools:ignore="VectorRaster">
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FFB71C1C"
         android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
index 04097253bdb72e0b0b5f183a8dd2fb36131adecf..bea8b20f63c6ae53bfd98548cb26bf775aaa8e4f 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `forward.xml` comes from the Android Material icon set, where it is called `arrow_forward`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `arrow_forward`.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
@@ -11,7 +11,7 @@
     android:autoMirrored="true"
     tools:ignore="VectorRaster" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF000000"
         android:pathData="M12,4l-1.41,1.41L16.17,11H4v2h12.17l-5.58,5.59L12,20l8,-8z" />
diff --git a/app/src/main/res/drawable/full_screen_disabled_dark.xml b/app/src/main/res/drawable/full_screen_disabled_dark.xml
deleted file mode 100644 (file)
index f01cb25..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `smartphone`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
-</vector>
diff --git a/app/src/main/res/drawable/full_screen_disabled_day.xml b/app/src/main/res/drawable/full_screen_disabled_day.xml
new file mode 100644 (file)
index 0000000..ca8a578
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `smartphone`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
+</vector>
diff --git a/app/src/main/res/drawable/full_screen_disabled_light.xml b/app/src/main/res/drawable/full_screen_disabled_light.xml
deleted file mode 100644 (file)
index e4f440d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `smartphone`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
-</vector>
diff --git a/app/src/main/res/drawable/full_screen_disabled_night.xml b/app/src/main/res/drawable/full_screen_disabled_night.xml
new file mode 100644 (file)
index 0000000..af0b991
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `smartphone`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
+</vector>
diff --git a/app/src/main/res/drawable/full_screen_enabled_dark.xml b/app/src/main/res/drawable/full_screen_enabled_dark.xml
deleted file mode 100644 (file)
index b1085ad..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `smartphone`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
-</vector>
diff --git a/app/src/main/res/drawable/full_screen_enabled_day.xml b/app/src/main/res/drawable/full_screen_enabled_day.xml
new file mode 100644 (file)
index 0000000..f5709b9
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `smartphone`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
+</vector>
diff --git a/app/src/main/res/drawable/full_screen_enabled_light.xml b/app/src/main/res/drawable/full_screen_enabled_light.xml
deleted file mode 100644 (file)
index 9e81e0a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `smartphone`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
-</vector>
diff --git a/app/src/main/res/drawable/full_screen_enabled_night.xml b/app/src/main/res/drawable/full_screen_enabled_night.xml
new file mode 100644 (file)
index 0000000..4c2a650
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `smartphone`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
+</vector>
index c456e702ab506ff6321028128bfdfa59ad23e452..503f81bf2aad06a86ece0fa0850e31c07e82e06d 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `guide.xml` comes from the Android Material icon set, where it is called `import_contacts`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `import_contacts`.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
@@ -11,7 +11,7 @@
     android:autoMirrored="true"
     tools:ignore="VectorRaster" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF000000"
         android:pathData="M21,5c-1.11,-0.35 -2.33,-0.5 -3.5,-0.5 -1.95,0 -4.05,0.4 -5.5,1.5 -1.45,-1.1 -3.55,-1.5 -5.5,-1.5S2.45,4.9 1,6v14.65c0,0.25 0.25,0.5 0.5,0.5 0.1,0 0.15,-0.05 0.25,-0.05C3.1,20.45 5.05,20 6.5,20c1.95,0 4.05,0.4 5.5,1.5 1.35,-0.85 3.8,-1.5 5.5,-1.5 1.65,0 3.35,0.3 4.75,1.05 0.1,0.05 0.15,0.05 0.25,0.05 0.25,0 0.5,-0.25 0.5,-0.5L23,6c-0.6,-0.45 -1.25,-0.75 -2,-1zM21,18.5c-1.1,-0.35 -2.3,-0.5 -3.5,-0.5 -1.7,0 -4.15,0.65 -5.5,1.5L12,8c1.35,-0.85 3.8,-1.5 5.5,-1.5 1.2,0 2.4,0.15 3.5,0.5v11.5z" />
index ce03bafb7512eb5e398764332829de974e65052b..91cd43f444c4c723a9a388639915d451a1068653 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `history.xml` comes from the Android Material icon set, where it is called `list`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `list`.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
@@ -11,7 +11,7 @@
     android:autoMirrored="true"
     tools:ignore="VectorRaster" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF000000"
         android:pathData="M3,13h2v-2L3,11v2zM3,17h2v-2L3,15v2zM3,9h2L5,7L3,7v2zM7,13h14v-2L7,11v2zM7,17h14v-2L7,15v2zM7,7v2h14L21,7L7,7z" />
diff --git a/app/src/main/res/drawable/home_enabled_dark.xml b/app/src/main/res/drawable/home_enabled_dark.xml
deleted file mode 100644 (file)
index 86bf068..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `home`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/home_enabled_day.xml b/app/src/main/res/drawable/home_enabled_day.xml
new file mode 100644 (file)
index 0000000..b233b73
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `home`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/home_enabled_light.xml b/app/src/main/res/drawable/home_enabled_light.xml
deleted file mode 100644 (file)
index 9ea9ca8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `home`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/home_enabled_night.xml b/app/src/main/res/drawable/home_enabled_night.xml
new file mode 100644 (file)
index 0000000..5b8d8f7
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `home`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/images_disabled_dark.xml b/app/src/main/res/drawable/images_disabled_dark.xml
deleted file mode 100644 (file)
index d7947b1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `images_disabled_dark.xml` comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
-</vector>
diff --git a/app/src/main/res/drawable/images_disabled_day.xml b/app/src/main/res/drawable/images_disabled_day.xml
new file mode 100644 (file)
index 0000000..3b361dd
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
+</vector>
diff --git a/app/src/main/res/drawable/images_disabled_light.xml b/app/src/main/res/drawable/images_disabled_light.xml
deleted file mode 100644 (file)
index 95f5b1a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `images_disabled_light.xml` comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
-</vector>
diff --git a/app/src/main/res/drawable/images_disabled_night.xml b/app/src/main/res/drawable/images_disabled_night.xml
new file mode 100644 (file)
index 0000000..aa358d4
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
+</vector>
diff --git a/app/src/main/res/drawable/images_enabled_dark.xml b/app/src/main/res/drawable/images_enabled_dark.xml
deleted file mode 100644 (file)
index 4187484..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This drawable comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
-</vector>
diff --git a/app/src/main/res/drawable/images_enabled_day.xml b/app/src/main/res/drawable/images_enabled_day.xml
new file mode 100644 (file)
index 0000000..0786542
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
+</vector>
diff --git a/app/src/main/res/drawable/images_enabled_light.xml b/app/src/main/res/drawable/images_enabled_light.xml
deleted file mode 100644 (file)
index a118988..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This drawable comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
-</vector>
diff --git a/app/src/main/res/drawable/images_enabled_night.xml b/app/src/main/res/drawable/images_enabled_night.xml
new file mode 100644 (file)
index 0000000..cb3cb4a
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
+</vector>
diff --git a/app/src/main/res/drawable/import_export_dark.xml b/app/src/main/res/drawable/import_export_dark.xml
deleted file mode 100644 (file)
index 1847f4f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This drawable comes from the Android Material icon set, where it is called `import_export`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M9,3L5,6.99h3L8,14h2L10,6.99h3L9,3zM16,17.01L16,10h-2v7.01h-3L15,21l4,-3.99h-3z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/import_export_day.xml b/app/src/main/res/drawable/import_export_day.xml
new file mode 100644 (file)
index 0000000..8492754
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `import_export`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M9,3L5,6.99h3L8,14h2L10,6.99h3L9,3zM16,17.01L16,10h-2v7.01h-3L15,21l4,-3.99h-3z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/import_export_light.xml b/app/src/main/res/drawable/import_export_light.xml
deleted file mode 100644 (file)
index 119da8c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This drawable comes from the Android Material icon set, where it is called `import_export`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M9,3L5,6.99h3L8,14h2L10,6.99h3L9,3zM16,17.01L16,10h-2v7.01h-3L15,21l4,-3.99h-3z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/import_export_night.xml b/app/src/main/res/drawable/import_export_night.xml
new file mode 100644 (file)
index 0000000..55c712b
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `import_export`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M9,3L5,6.99h3L8,14h2L10,6.99h3L9,3zM16,17.01L16,10h-2v7.01h-3L15,21l4,-3.99h-3z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/incognito_mode_disabled_dark.xml b/app/src/main/res/drawable/incognito_mode_disabled_dark.xml
deleted file mode 100644 (file)
index 60925f2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `incognito_mode_disabled_dark.xml` comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster">
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
-</vector>
diff --git a/app/src/main/res/drawable/incognito_mode_disabled_day.xml b/app/src/main/res/drawable/incognito_mode_disabled_day.xml
new file mode 100644 (file)
index 0000000..db22322
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
+</vector>
diff --git a/app/src/main/res/drawable/incognito_mode_disabled_light.xml b/app/src/main/res/drawable/incognito_mode_disabled_light.xml
deleted file mode 100644 (file)
index 4bb39d2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `incognito_mode_disabled_light.xml` comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster">
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
-</vector>
diff --git a/app/src/main/res/drawable/incognito_mode_disabled_night.xml b/app/src/main/res/drawable/incognito_mode_disabled_night.xml
new file mode 100644 (file)
index 0000000..eb2d06b
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
+</vector>
diff --git a/app/src/main/res/drawable/incognito_mode_enabled_dark.xml b/app/src/main/res/drawable/incognito_mode_enabled_dark.xml
deleted file mode 100644 (file)
index 9e90a54..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `incognito_mode_enabled_dark.xml` comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster">
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
-</vector>
diff --git a/app/src/main/res/drawable/incognito_mode_enabled_day.xml b/app/src/main/res/drawable/incognito_mode_enabled_day.xml
new file mode 100644 (file)
index 0000000..981a79a
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
+</vector>
diff --git a/app/src/main/res/drawable/incognito_mode_enabled_light.xml b/app/src/main/res/drawable/incognito_mode_enabled_light.xml
deleted file mode 100644 (file)
index 3a22087..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `incognito_mode_enabled_light.xml` comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster">
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
-</vector>
diff --git a/app/src/main/res/drawable/incognito_mode_enabled_night.xml b/app/src/main/res/drawable/incognito_mode_enabled_night.xml
new file mode 100644 (file)
index 0000000..cb663bd
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
+</vector>
index 75f611ebac5343bc7d37d6118999a0c39bec7eff..fb8d18102ff6682390f690a44b5959d757318701 100644 (file)
@@ -7,21 +7,21 @@
     android:viewportHeight="256.0"
     android:viewportWidth="256.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillAlpha="1"
         android:fillColor="#b71c1c"
         android:pathData="m128,12.8 l-94.25,41.89 0,62.84c0,58.12 40.22,112.48 94.25,125.67 54.04,-13.2 94.25,-67.55 94.25,-125.67l0,-62.84z"
         android:strokeColor="#00000000" />
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillAlpha="1"
         android:fillColor="#d32f2f"
         android:pathData="m128,0 l-104.73,46.55 0,69.82C23.27,180.95 67.96,241.34 128,256 188.04,241.34 232.73,180.95 232.73,116.36l0,-69.82L128,0ZM128,127.88 L209.45,127.88C203.29,175.83 171.29,218.53 128,231.91l0,-103.91 -81.45,0 0,-66.33L128,25.48l0,102.4z"
         android:strokeColor="#00000000" />
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillAlpha="1"
         android:fillColor="#ffffff"
diff --git a/app/src/main/res/drawable/list_selector_dark.xml b/app/src/main/res/drawable/list_selector_dark.xml
deleted file mode 100644 (file)
index fc05c97..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2017 Soren Stoutner <soren@stoutner.com>.
-
-  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
-
-  Privacy Browser is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  Privacy Browser is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
-
-<!-- This selector changes the background of activated items in a `ListView`. -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item
-        android:state_activated="true"
-        android:drawable="@color/blue_600" />
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/list_selector_day.xml b/app/src/main/res/drawable/list_selector_day.xml
new file mode 100644 (file)
index 0000000..d595179
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2017,2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<!-- This selector changes the background of activated items in a list view. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:state_activated="true"
+        android:drawable="@color/blue_200" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/list_selector_light.xml b/app/src/main/res/drawable/list_selector_light.xml
deleted file mode 100644 (file)
index fef52c5..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2017 Soren Stoutner <soren@stoutner.com>.
-
-  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
-
-  Privacy Browser is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  Privacy Browser is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
-
-<!-- This selector changes the background of activated items in a `ListView`. -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item
-        android:state_activated="true"
-        android:drawable="@color/blue_200" />
-</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/list_selector_night.xml b/app/src/main/res/drawable/list_selector_night.xml
new file mode 100644 (file)
index 0000000..433e4e7
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2017,2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<!-- This selector changes the background of activated items in a list view. -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item
+        android:state_activated="true"
+        android:drawable="@color/blue_600" />
+</selector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/lock_dark.xml b/app/src/main/res/drawable/lock_dark.xml
deleted file mode 100644 (file)
index f67483a..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `lock_dark.xml` comes from the Android Material icon set, where it is called `lock`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
-</vector>
diff --git a/app/src/main/res/drawable/lock_day.xml b/app/src/main/res/drawable/lock_day.xml
new file mode 100644 (file)
index 0000000..1e9fac9
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `lock`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
+</vector>
diff --git a/app/src/main/res/drawable/lock_light.xml b/app/src/main/res/drawable/lock_light.xml
deleted file mode 100644 (file)
index 1b58619..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `lock_light.xml` comes from the Android Material icon set, where it is called `lock`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
-</vector>
diff --git a/app/src/main/res/drawable/lock_night.xml b/app/src/main/res/drawable/lock_night.xml
new file mode 100644 (file)
index 0000000..d55b7fe
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `lock`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
+</vector>
diff --git a/app/src/main/res/drawable/modify_url_disabled_dark.xml b/app/src/main/res/drawable/modify_url_disabled_dark.xml
deleted file mode 100644 (file)
index 907eeec..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `modify_url_disabled_dark.xml` comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
-</vector>
diff --git a/app/src/main/res/drawable/modify_url_disabled_day.xml b/app/src/main/res/drawable/modify_url_disabled_day.xml
new file mode 100644 (file)
index 0000000..20ff197
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
+</vector>
diff --git a/app/src/main/res/drawable/modify_url_disabled_light.xml b/app/src/main/res/drawable/modify_url_disabled_light.xml
deleted file mode 100644 (file)
index a8f2b29..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `modify_url_disabled_light.xml` comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
-</vector>
diff --git a/app/src/main/res/drawable/modify_url_disabled_night.xml b/app/src/main/res/drawable/modify_url_disabled_night.xml
new file mode 100644 (file)
index 0000000..df266e4
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
+</vector>
diff --git a/app/src/main/res/drawable/modify_url_enabled_dark.xml b/app/src/main/res/drawable/modify_url_enabled_dark.xml
deleted file mode 100644 (file)
index 7bcd082..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `modify_url_enabled_dark.xml` comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
-</vector>
diff --git a/app/src/main/res/drawable/modify_url_enabled_day.xml b/app/src/main/res/drawable/modify_url_enabled_day.xml
new file mode 100644 (file)
index 0000000..2f57665
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
+</vector>
diff --git a/app/src/main/res/drawable/modify_url_enabled_light.xml b/app/src/main/res/drawable/modify_url_enabled_light.xml
deleted file mode 100644 (file)
index 8f5c094..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `modify_url_enabled_light.xml` comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
-</vector>
diff --git a/app/src/main/res/drawable/modify_url_enabled_night.xml b/app/src/main/res/drawable/modify_url_enabled_night.xml
new file mode 100644 (file)
index 0000000..136c513
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
+</vector>
diff --git a/app/src/main/res/drawable/more_disabled_dark.xml b/app/src/main/res/drawable/more_disabled_dark.xml
deleted file mode 100644 (file)
index ca98677..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `more_disabled_dark.xml` comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster">
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
-</vector>
diff --git a/app/src/main/res/drawable/more_disabled_day.xml b/app/src/main/res/drawable/more_disabled_day.xml
new file mode 100644 (file)
index 0000000..a2bdfd9
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
+</vector>
diff --git a/app/src/main/res/drawable/more_disabled_light.xml b/app/src/main/res/drawable/more_disabled_light.xml
deleted file mode 100644 (file)
index 1ea8021..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `more_disabled_light.xml` comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster">
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
-</vector>
diff --git a/app/src/main/res/drawable/more_disabled_night.xml b/app/src/main/res/drawable/more_disabled_night.xml
new file mode 100644 (file)
index 0000000..16af07c
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
+</vector>
diff --git a/app/src/main/res/drawable/more_enabled_dark.xml b/app/src/main/res/drawable/more_enabled_dark.xml
deleted file mode 100644 (file)
index d7fcaa5..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `more_enabled_dark.xml` comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:width="24dp"
-    tools:ignore="VectorRaster">
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
-</vector>
diff --git a/app/src/main/res/drawable/more_enabled_day.xml b/app/src/main/res/drawable/more_enabled_day.xml
new file mode 100644 (file)
index 0000000..30317fc
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:width="24dp"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
+</vector>
diff --git a/app/src/main/res/drawable/more_enabled_light.xml b/app/src/main/res/drawable/more_enabled_light.xml
deleted file mode 100644 (file)
index 0f494c9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `more_enabled_light.xml` comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:width="24dp"
-    tools:ignore="VectorRaster">
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
-</vector>
diff --git a/app/src/main/res/drawable/more_enabled_night.xml b/app/src/main/res/drawable/more_enabled_night.xml
new file mode 100644 (file)
index 0000000..a7f45e3
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:width="24dp"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
+</vector>
index f1ca21e56df61ab2b4d5025a3da38930208dae29..580f243067befc2e1ccfa46ea20607ab92b9e26b 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `move_down_disabled.xml` comes from the Android Material icon set, where it is called `vertical_align_bottom`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `vertical_align_bottom`.  It is released under the Apache License 2.0. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="24dp"
@@ -6,8 +6,8 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FFBBDEFB"
+        android:fillColor="#FF9E9E9E"
         android:pathData="M16,13h-3V3h-2v10H8l4,4 4,-4zM4,19v2h16v-2H4z"/>
 </vector>
diff --git a/app/src/main/res/drawable/move_down_enabled_dark.xml b/app/src/main/res/drawable/move_down_enabled_dark.xml
deleted file mode 100644 (file)
index 5009d42..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `move_down_enabled_light.xml` comes from the Android Material icon set, where it is called `vertical_align_bottom`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M16,13h-3V3h-2v10H8l4,4 4,-4zM4,19v2h16v-2H4z"/>
-</vector>
diff --git a/app/src/main/res/drawable/move_down_enabled_day.xml b/app/src/main/res/drawable/move_down_enabled_day.xml
new file mode 100644 (file)
index 0000000..7ff2e33
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `vertical_align_bottom`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M16,13h-3V3h-2v10H8l4,4 4,-4zM4,19v2h16v-2H4z"/>
+</vector>
diff --git a/app/src/main/res/drawable/move_down_enabled_light.xml b/app/src/main/res/drawable/move_down_enabled_light.xml
deleted file mode 100644 (file)
index 30e5ea1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `move_down_enabled_light.xml` comes from the Android Material icon set, where it is called `vertical_align_bottom`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M16,13h-3V3h-2v10H8l4,4 4,-4zM4,19v2h16v-2H4z"/>
-</vector>
diff --git a/app/src/main/res/drawable/move_down_enabled_night.xml b/app/src/main/res/drawable/move_down_enabled_night.xml
new file mode 100644 (file)
index 0000000..415811b
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `vertical_align_bottom`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M16,13h-3V3h-2v10H8l4,4 4,-4zM4,19v2h16v-2H4z"/>
+</vector>
diff --git a/app/src/main/res/drawable/move_to_folder_dark.xml b/app/src/main/res/drawable/move_to_folder_dark.xml
deleted file mode 100644 (file)
index 4bedea1..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!-- `move_to_folder_dark.xml` is derived from elements of `folder` and `exit_to_app`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M4,4C2.9,4 2.01,4.9 2.01,6L2,18C2,19.1 2.9,20 4,20L20,20C21.1,20 22,19.1 22,18L22,8C22,6.9 21.1,6 20,6L12,6L10,4L4,4zM13.75,7.83L18.75,12.83L13.75,17.83L12.34,16.421L14.92,13.83L5.25,13.83L5.25,11.83L14.92,11.83L12.34,9.24L13.75,7.83z" />
-</vector>
diff --git a/app/src/main/res/drawable/move_to_folder_day.xml b/app/src/main/res/drawable/move_to_folder_day.xml
new file mode 100644 (file)
index 0000000..e723dbf
--- /dev/null
@@ -0,0 +1,19 @@
+<!-- This file is derived from elements of `folder` and `exit_to_app`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
+    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M4,4C2.9,4 2.01,4.9 2.01,6L2,18C2,19.1 2.9,20 4,20L20,20C21.1,20 22,19.1 22,18L22,8C22,6.9 21.1,6 20,6L12,6L10,4L4,4zM13.75,7.83L18.75,12.83L13.75,17.83L12.34,16.421L14.92,13.83L5.25,13.83L5.25,11.83L14.92,11.83L12.34,9.24L13.75,7.83z" />
+</vector>
diff --git a/app/src/main/res/drawable/move_to_folder_light.xml b/app/src/main/res/drawable/move_to_folder_light.xml
deleted file mode 100644 (file)
index fdbc6db..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!-- `move_to_folder_light.xml` is derived from elements of `folder` and `exit_to_app`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M4,4C2.9,4 2.01,4.9 2.01,6L2,18C2,19.1 2.9,20 4,20L20,20C21.1,20 22,19.1 22,18L22,8C22,6.9 21.1,6 20,6L12,6L10,4L4,4zM13.75,7.83L18.75,12.83L13.75,17.83L12.34,16.421L14.92,13.83L5.25,13.83L5.25,11.83L14.92,11.83L12.34,9.24L13.75,7.83z" />
-</vector>
diff --git a/app/src/main/res/drawable/move_to_folder_night.xml b/app/src/main/res/drawable/move_to_folder_night.xml
new file mode 100644 (file)
index 0000000..98b0e0b
--- /dev/null
@@ -0,0 +1,19 @@
+<!-- This file is derived from elements of `folder` and `exit_to_app`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
+    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M4,4C2.9,4 2.01,4.9 2.01,6L2,18C2,19.1 2.9,20 4,20L20,20C21.1,20 22,19.1 22,18L22,8C22,6.9 21.1,6 20,6L12,6L10,4L4,4zM13.75,7.83L18.75,12.83L13.75,17.83L12.34,16.421L14.92,13.83L5.25,13.83L5.25,11.83L14.92,11.83L12.34,9.24L13.75,7.83z" />
+</vector>
index 7d7dc93ad36a169cc45c30597158c57d7dac01ca..5f9735a998e3a4fc5d3e2aeaf7cada0709586f61 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `move_up_disabled.xml` comes from the Android Material icon set, where it is called `vertical_align_top`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `vertical_align_top`.  It is released under the Apache License 2.0. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="24dp"
@@ -6,8 +6,8 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FFBBDEFB"
+        android:fillColor="#FF9E9E9E"
         android:pathData="M8,11h3v10h2V11h3l-4,-4 -4,4zM4,3v2h16V3H4z"/>
 </vector>
diff --git a/app/src/main/res/drawable/move_up_enabled_dark.xml b/app/src/main/res/drawable/move_up_enabled_dark.xml
deleted file mode 100644 (file)
index 65a78d9..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `move_up_enabled_dark.xml` comes from the Android Material icon set, where it is called `vertical_align_top`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M8,11h3v10h2V11h3l-4,-4 -4,4zM4,3v2h16V3H4z"/>
-</vector>
diff --git a/app/src/main/res/drawable/move_up_enabled_day.xml b/app/src/main/res/drawable/move_up_enabled_day.xml
new file mode 100644 (file)
index 0000000..b48cde0
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `vertical_align_top`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M8,11h3v10h2V11h3l-4,-4 -4,4zM4,3v2h16V3H4z"/>
+</vector>
diff --git a/app/src/main/res/drawable/move_up_enabled_light.xml b/app/src/main/res/drawable/move_up_enabled_light.xml
deleted file mode 100644 (file)
index 75dfdb6..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `move_up_enabled_light.xml` comes from the Android Material icon set, where it is called `vertical_align_top`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M8,11h3v10h2V11h3l-4,-4 -4,4zM4,3v2h16V3H4z"/>
-</vector>
diff --git a/app/src/main/res/drawable/move_up_enabled_night.xml b/app/src/main/res/drawable/move_up_enabled_night.xml
new file mode 100644 (file)
index 0000000..d5641b9
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `vertical_align_top`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M8,11h3v10h2V11h3l-4,-4 -4,4zM4,3v2h16V3H4z"/>
+</vector>
index 10b6dfd4d18b4bfbc9ce702cb2b7fdc118213a59..65484f23cc75969b6f6206890427e379d7fddac2 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `next.xml` comes from the Android Material icon set, where it is called `expand_more`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `expand_more`.  It is released under the Apache License 2.0. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="24dp"
@@ -6,7 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF000000"
         android:pathData="M16.59,8.59L12,13.17 7.41,8.59 6,10l6,6 6,-6z"/>
diff --git a/app/src/main/res/drawable/night_mode_disabled_dark.xml b/app/src/main/res/drawable/night_mode_disabled_dark.xml
deleted file mode 100644 (file)
index 128e37e..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!-- `night_mode_disabled_dark.xml` is derived from `compare`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="m14,3h5c1.1,0 2,0.9 2,2v14c0,1.1 -0.9,2 -2,2h-5v2L12,23L12,1h2zM14,18h5L14,12ZM5,3h5L10,5L5,5v13l5,-6v9L5,21C3.9,21 3,20.1 3,19L3,5C3,3.9 3.9,3 5,3Z"/>
-</vector>
diff --git a/app/src/main/res/drawable/night_mode_disabled_day.xml b/app/src/main/res/drawable/night_mode_disabled_day.xml
new file mode 100644 (file)
index 0000000..804f016
--- /dev/null
@@ -0,0 +1,19 @@
+<!-- This file is derived from `compare`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
+    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="m14,3h5c1.1,0 2,0.9 2,2v14c0,1.1 -0.9,2 -2,2h-5v2L12,23L12,1h2zM14,18h5L14,12ZM5,3h5L10,5L5,5v13l5,-6v9L5,21C3.9,21 3,20.1 3,19L3,5C3,3.9 3.9,3 5,3Z"/>
+</vector>
diff --git a/app/src/main/res/drawable/night_mode_disabled_light.xml b/app/src/main/res/drawable/night_mode_disabled_light.xml
deleted file mode 100644 (file)
index 64c3f02..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!-- `night_mode_disabled_dark.xml` is derived from `compare`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="m14,3h5c1.1,0 2,0.9 2,2v14c0,1.1 -0.9,2 -2,2h-5v2L12,23L12,1h2zM14,18h5L14,12ZM5,3h5L10,5L5,5v13l5,-6v9L5,21C3.9,21 3,20.1 3,19L3,5C3,3.9 3.9,3 5,3Z"/>
-</vector>
diff --git a/app/src/main/res/drawable/night_mode_disabled_night.xml b/app/src/main/res/drawable/night_mode_disabled_night.xml
new file mode 100644 (file)
index 0000000..9f44fe8
--- /dev/null
@@ -0,0 +1,19 @@
+<!-- This file is derived from `compare`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
+    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="m14,3h5c1.1,0 2,0.9 2,2v14c0,1.1 -0.9,2 -2,2h-5v2L12,23L12,1h2zM14,18h5L14,12ZM5,3h5L10,5L5,5v13l5,-6v9L5,21C3.9,21 3,20.1 3,19L3,5C3,3.9 3.9,3 5,3Z"/>
+</vector>
diff --git a/app/src/main/res/drawable/night_mode_enabled_dark.xml b/app/src/main/res/drawable/night_mode_enabled_dark.xml
deleted file mode 100644 (file)
index 38bf501..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!-- `night_mode_enabled_dark.xml` is derived from `compare`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="m14,3h5c1.1,0 2,0.9 2,2v14c0,1.1 -0.9,2 -2,2h-5v2L12,23L12,1h2zM14,18h5L14,12ZM5,3h5L10,5L5,5v13l5,-6v9L5,21C3.9,21 3,20.1 3,19L3,5C3,3.9 3.9,3 5,3Z"/>
-</vector>
diff --git a/app/src/main/res/drawable/night_mode_enabled_day.xml b/app/src/main/res/drawable/night_mode_enabled_day.xml
new file mode 100644 (file)
index 0000000..2097901
--- /dev/null
@@ -0,0 +1,19 @@
+<!-- This file is derived from `compare`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
+    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="m14,3h5c1.1,0 2,0.9 2,2v14c0,1.1 -0.9,2 -2,2h-5v2L12,23L12,1h2zM14,18h5L14,12ZM5,3h5L10,5L5,5v13l5,-6v9L5,21C3.9,21 3,20.1 3,19L3,5C3,3.9 3.9,3 5,3Z"/>
+</vector>
diff --git a/app/src/main/res/drawable/night_mode_enabled_light.xml b/app/src/main/res/drawable/night_mode_enabled_light.xml
deleted file mode 100644 (file)
index 464946c..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<!-- `night_mode_enabled_light.xml` is derived from `compare`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="m14,3h5c1.1,0 2,0.9 2,2v14c0,1.1 -0.9,2 -2,2h-5v2L12,23L12,1h2zM14,18h5L14,12ZM5,3h5L10,5L5,5v13l5,-6v9L5,21C3.9,21 3,20.1 3,19L3,5C3,3.9 3.9,3 5,3Z"/>
-</vector>
diff --git a/app/src/main/res/drawable/night_mode_enabled_night.xml b/app/src/main/res/drawable/night_mode_enabled_night.xml
new file mode 100644 (file)
index 0000000..38d0d8b
--- /dev/null
@@ -0,0 +1,19 @@
+<!-- This file is derived from `compare`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
+    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="m14,3h5c1.1,0 2,0.9 2,2v14c0,1.1 -0.9,2 -2,2h-5v2L12,23L12,1h2zM14,18h5L14,12ZM5,3h5L10,5L5,5v13l5,-6v9L5,21C3.9,21 3,20.1 3,19L3,5C3,3.9 3.9,3 5,3Z"/>
+</vector>
index 299d1e77e4d21bb020a87e1d68c002a215b54636..23365e0d1a0e8801555f347f855e72011a508cc0 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `previous.xml` comes from the Android Material icon set, where it is called `expand_less`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `expand_less`.  It is released under the Apache License 2.0. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="24dp"
@@ -6,7 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF000000"
         android:pathData="M12,8l-6,6 1.41,1.41L12,10.83l4.59,4.58L18,14z"/>
index cd7183e6ac34d19d9f3eef287e1a5564cdef4a17..0ee38afbb31741f39b14a572043b8402db8eed2a 100644 (file)
@@ -1,29 +1,34 @@
-<!-- `privacy_browser_foreground.xml` is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
+<!-- This file is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
     Modifications copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:height="108dp"
-        android:width="108dp"
-        android:viewportHeight="523.63635"
-        android:viewportWidth="523.63635" >
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="108dp"
+    android:width="108dp"
+    android:viewportHeight="523.63635"
+    android:viewportWidth="523.63635" >
 
-    <group android:translateX="133.81818"
-            android:translateY="133.81818" >
+    <group
+        android:translateX="133.81818"
+        android:translateY="133.81818" >
 
-      <path
-          android:pathData="m128,12.8 l-94.255,41.891v62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673v-62.836z"
-          android:fillColor="#0d4781"
-          android:strokeColor="#00000000"
-          android:fillAlpha="1" />
+        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m128,12.8 l-94.255,41.891v62.836c0,58.124 40.215,112.477 94.255,125.673 54.039,-13.196 94.255,-67.549 94.255,-125.673v-62.836z"
+            android:fillColor="#0d4781"
+            android:strokeColor="#00000000"
+            android:fillAlpha="1" />
 
-      <path
-          android:pathData="m128,0 l-104.727,46.545v69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364v-69.818zM128,127.884h81.455C203.287,175.825 171.287,218.531 128,231.913L128,128L46.545,128L46.545,61.673L128,25.484Z"
-          android:fillColor="#1976d2"
-          android:strokeColor="#00000000"
-          android:fillAlpha="1" />
+        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m128,0 l-104.727,46.545v69.818C23.273,180.945 67.956,241.338 128,256 188.044,241.338 232.727,180.945 232.727,116.364v-69.818zM128,127.884h81.455C203.287,175.825 171.287,218.531 128,231.913L128,128L46.545,128L46.545,61.673L128,25.484Z"
+            android:fillColor="#1976d2"
+            android:strokeColor="#00000000"
+            android:fillAlpha="1" />
 
-      <path
-          android:pathData="m127.92,48.214c-44.042,0 -79.706,35.744 -79.706,79.786 0,44.042 35.664,79.786 79.706,79.786 44.121,0 79.865,-35.744 79.865,-79.786 0,-44.042 -35.744,-79.786 -79.865,-79.786zM183.212,96.086h-23.537c-2.553,-9.973 -6.223,-19.547 -11.01,-28.404 14.681,5.026 26.888,15.239 34.547,28.404zM128,64.491c6.622,9.574 11.808,20.186 15.239,31.595h-30.478c3.431,-11.409 8.617,-22.021 15.239,-31.595zM66.246,143.957C64.969,138.851 64.172,133.505 64.172,128c0,-5.505 0.798,-10.851 2.074,-15.957h26.968c-0.638,5.266 -1.117,10.532 -1.117,15.957 0,5.425 0.479,10.691 1.117,15.957zM72.788,159.914L96.325,159.914c2.553,9.973 6.223,19.547 11.01,28.404C92.655,183.291 80.448,173.159 72.788,159.914ZM96.325,96.086L72.788,96.086c7.659,-13.244 19.867,-23.377 34.547,-28.404 -4.787,8.856 -8.457,18.43 -11.01,28.404zM128,191.509c-6.622,-9.574 -11.808,-20.186 -15.239,-31.595h30.478C139.808,171.324 134.622,181.935 128,191.509ZM146.67,143.957h-37.34c-0.718,-5.266 -1.277,-10.532 -1.277,-15.957 0,-5.425 0.559,-10.771 1.277,-15.957h37.34c0.718,5.186 1.277,10.532 1.277,15.957 0,5.425 -0.558,10.691 -1.277,15.957zM148.664,188.318c4.787,-8.856 8.457,-18.43 11.01,-28.404h23.537c-7.659,13.165 -19.867,23.377 -34.547,28.404zM162.786,143.957c0.638,-5.266 1.117,-10.532 1.117,-15.957 0,-5.425 -0.479,-10.691 -1.117,-15.957h26.968c1.277,5.106 2.074,10.452 2.074,15.957 0,5.505 -0.798,10.851 -2.074,15.957z"
-          android:fillColor="#ffffff"
-          android:fillAlpha="1" />
+        <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <path
+            android:pathData="m127.92,48.214c-44.042,0 -79.706,35.744 -79.706,79.786 0,44.042 35.664,79.786 79.706,79.786 44.121,0 79.865,-35.744 79.865,-79.786 0,-44.042 -35.744,-79.786 -79.865,-79.786zM183.212,96.086h-23.537c-2.553,-9.973 -6.223,-19.547 -11.01,-28.404 14.681,5.026 26.888,15.239 34.547,28.404zM128,64.491c6.622,9.574 11.808,20.186 15.239,31.595h-30.478c3.431,-11.409 8.617,-22.021 15.239,-31.595zM66.246,143.957C64.969,138.851 64.172,133.505 64.172,128c0,-5.505 0.798,-10.851 2.074,-15.957h26.968c-0.638,5.266 -1.117,10.532 -1.117,15.957 0,5.425 0.479,10.691 1.117,15.957zM72.788,159.914L96.325,159.914c2.553,9.973 6.223,19.547 11.01,28.404C92.655,183.291 80.448,173.159 72.788,159.914ZM96.325,96.086L72.788,96.086c7.659,-13.244 19.867,-23.377 34.547,-28.404 -4.787,8.856 -8.457,18.43 -11.01,28.404zM128,191.509c-6.622,-9.574 -11.808,-20.186 -15.239,-31.595h30.478C139.808,171.324 134.622,181.935 128,191.509ZM146.67,143.957h-37.34c-0.718,-5.266 -1.277,-10.532 -1.277,-15.957 0,-5.425 0.559,-10.771 1.277,-15.957h37.34c0.718,5.186 1.277,10.532 1.277,15.957 0,5.425 -0.558,10.691 -1.277,15.957zM148.664,188.318c4.787,-8.856 8.457,-18.43 11.01,-28.404h23.537c-7.659,13.165 -19.867,23.377 -34.547,28.404zM162.786,143.957c0.638,-5.266 1.117,-10.532 1.117,-15.957 0,-5.425 -0.479,-10.691 -1.117,-15.957h26.968c1.277,5.106 2.074,10.452 2.074,15.957 0,5.505 -0.798,10.851 -2.074,15.957z"
+            android:fillColor="#ffffff"
+            android:fillAlpha="1" />
     </group>
 </vector>
index 9a0916974da7632bc2ca3bd6d711f46861a0cda5..eb264d6ae8621207a693a54ec2ea2b9592d7e0db 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `privacy_mode.xml` is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
+<!-- This file is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
     Modifications copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
@@ -7,21 +7,21 @@
     android:viewportHeight="256.0"
     android:viewportWidth="256.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillAlpha="1"
         android:fillColor="#0d4781"
         android:pathData="m128,12.8 l-94.25,41.89 0,62.84c0,58.12 40.22,112.48 94.25,125.67 54.04,-13.2 94.25,-67.55 94.25,-125.67l0,-62.84z"
         android:strokeColor="#00000000" />
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillAlpha="1"
         android:fillColor="#1976d2"
         android:pathData="m128,0 l-104.73,46.55 0,69.82C23.27,180.95 67.96,241.34 128,256 188.04,241.34 232.73,180.95 232.73,116.36l0,-69.82L128,0ZM128,127.88 L209.45,127.88C203.29,175.83 171.29,218.53 128,231.91l0,-103.91 -81.45,0 0,-66.33L128,25.48l0,102.4z"
         android:strokeColor="#00000000" />
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillAlpha="1"
         android:fillColor="#ffffff"
diff --git a/app/src/main/res/drawable/proxy_disabled_dark.xml b/app/src/main/res/drawable/proxy_disabled_dark.xml
deleted file mode 100644 (file)
index 4cffb07..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
-</vector>
diff --git a/app/src/main/res/drawable/proxy_disabled_day.xml b/app/src/main/res/drawable/proxy_disabled_day.xml
new file mode 100644 (file)
index 0000000..00a2eba
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This icon comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
+</vector>
diff --git a/app/src/main/res/drawable/proxy_disabled_light.xml b/app/src/main/res/drawable/proxy_disabled_light.xml
deleted file mode 100644 (file)
index 00a2eba..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
-</vector>
diff --git a/app/src/main/res/drawable/proxy_disabled_night.xml b/app/src/main/res/drawable/proxy_disabled_night.xml
new file mode 100644 (file)
index 0000000..d8cdaad
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
+</vector>
diff --git a/app/src/main/res/drawable/proxy_enabled_dark.xml b/app/src/main/res/drawable/proxy_enabled_dark.xml
deleted file mode 100644 (file)
index 597d97f..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
-</vector>
diff --git a/app/src/main/res/drawable/proxy_enabled_day.xml b/app/src/main/res/drawable/proxy_enabled_day.xml
new file mode 100644 (file)
index 0000000..4981f4c
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
+</vector>
diff --git a/app/src/main/res/drawable/proxy_enabled_light.xml b/app/src/main/res/drawable/proxy_enabled_light.xml
deleted file mode 100644 (file)
index f67235c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
-</vector>
diff --git a/app/src/main/res/drawable/proxy_enabled_night.xml b/app/src/main/res/drawable/proxy_enabled_night.xml
new file mode 100644 (file)
index 0000000..87a974e
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
+</vector>
diff --git a/app/src/main/res/drawable/proxy_ghosted_dark.xml b/app/src/main/res/drawable/proxy_ghosted_dark.xml
deleted file mode 100644 (file)
index ccc948b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FF616161"
-        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
-</vector>
diff --git a/app/src/main/res/drawable/proxy_ghosted_day.xml b/app/src/main/res/drawable/proxy_ghosted_day.xml
new file mode 100644 (file)
index 0000000..0cd951a
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FFB7B7B7"
+        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
+</vector>
diff --git a/app/src/main/res/drawable/proxy_ghosted_light.xml b/app/src/main/res/drawable/proxy_ghosted_light.xml
deleted file mode 100644 (file)
index 5bf8795..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- This icon comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used instead. -->
-    <path
-        android:fillColor="#FFB7B7B7"
-        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
-</vector>
diff --git a/app/src/main/res/drawable/proxy_ghosted_night.xml b/app/src/main/res/drawable/proxy_ghosted_night.xml
new file mode 100644 (file)
index 0000000..d2ec6ba
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `open_in_browser`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M19,4L5,4c-1.11,0 -2,0.9 -2,2v12c0,1.1 0.89,2 2,2h4v-2L5,18L5,8h14v10h-4v2h4c1.1,0 2,-0.9 2,-2L21,6c0,-1.1 -0.89,-2 -2,-2zM12,10l-4,4h3v6h2v-6h3l-4,-4z" />
+</vector>
diff --git a/app/src/main/res/drawable/refresh_disabled_dark.xml b/app/src/main/res/drawable/refresh_disabled_dark.xml
deleted file mode 100644 (file)
index 667e82d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `refresh_disabled_dark.xml` comes from the Android Material icon set, where it is called `refresh`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>
-</vector>
diff --git a/app/src/main/res/drawable/refresh_disabled_day.xml b/app/src/main/res/drawable/refresh_disabled_day.xml
new file mode 100644 (file)
index 0000000..61a1d0c
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `refresh`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>
+</vector>
diff --git a/app/src/main/res/drawable/refresh_disabled_light.xml b/app/src/main/res/drawable/refresh_disabled_light.xml
deleted file mode 100644 (file)
index db7bc07..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `refresh_disabled_light.xml` comes from the Android Material icon set, where it is called `refresh`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>
-</vector>
diff --git a/app/src/main/res/drawable/refresh_disabled_night.xml b/app/src/main/res/drawable/refresh_disabled_night.xml
new file mode 100644 (file)
index 0000000..44e074d
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `refresh`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>
+</vector>
diff --git a/app/src/main/res/drawable/refresh_enabled_dark.xml b/app/src/main/res/drawable/refresh_enabled_dark.xml
deleted file mode 100644 (file)
index 70b41c3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `refresh_enabled_dark.xml` comes from the Android Material icon set, where it is called `refresh`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>
-</vector>
diff --git a/app/src/main/res/drawable/refresh_enabled_day.xml b/app/src/main/res/drawable/refresh_enabled_day.xml
new file mode 100644 (file)
index 0000000..8a675c7
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `refresh`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>
+</vector>
diff --git a/app/src/main/res/drawable/refresh_enabled_light.xml b/app/src/main/res/drawable/refresh_enabled_light.xml
deleted file mode 100644 (file)
index 2591a66..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `refresh_enabled_light.xml` comes from the Android Material icon set, where it is called `refresh`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>
-</vector>
diff --git a/app/src/main/res/drawable/refresh_enabled_night.xml b/app/src/main/res/drawable/refresh_enabled_night.xml
new file mode 100644 (file)
index 0000000..2423ff7
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `refresh`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/>
+</vector>
diff --git a/app/src/main/res/drawable/save_dark.xml b/app/src/main/res/drawable/save_dark.xml
deleted file mode 100644 (file)
index e26d3bf..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `save_dark.xml` comes from the Android Material icon set, where it is called `save`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/save_day.xml b/app/src/main/res/drawable/save_day.xml
new file mode 100644 (file)
index 0000000..26559df
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `save`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/save_dialog_dark.xml b/app/src/main/res/drawable/save_dialog_dark.xml
deleted file mode 100644 (file)
index d20d248..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This drawable comes from the Android Material icon set, where it is called `save`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/save_dialog_day.xml b/app/src/main/res/drawable/save_dialog_day.xml
new file mode 100644 (file)
index 0000000..f18953e
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `save`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/save_dialog_light.xml b/app/src/main/res/drawable/save_dialog_light.xml
deleted file mode 100644 (file)
index 21aca67..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This drawable comes from the Android Material icon set, where it is called `save`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/save_dialog_night.xml b/app/src/main/res/drawable/save_dialog_night.xml
new file mode 100644 (file)
index 0000000..43aee33
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `save`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/save_light.xml b/app/src/main/res/drawable/save_light.xml
deleted file mode 100644 (file)
index df119f5..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `save_light.xml` comes from the Android Material icon set, where it is called `save`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/save_night.xml b/app/src/main/res/drawable/save_night.xml
new file mode 100644 (file)
index 0000000..4553fd0
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `save`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM12,19c-1.66,0 -3,-1.34 -3,-3s1.34,-3 3,-3 3,1.34 3,3 -1.34,3 -3,3zM15,9L5,9L5,5h10v4z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/search_custom_url_enabled_dark.xml b/app/src/main/res/drawable/search_custom_url_enabled_dark.xml
deleted file mode 100644 (file)
index fdf809f..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `find_in_page`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M20,19.59V8l-6,-6H6c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2H18c0.45,0 0.85,-0.15 1.19,-0.4l-4.43,-4.43c-0.8,0.52 -1.74,0.83 -2.76,0.83 -2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5c0,1.02 -0.31,1.96 -0.83,2.75L20,19.59zM9,13c0,1.66 1.34,3 3,3s3,-1.34 3,-3 -1.34,-3 -3,-3 -3,1.34 -3,3z"/>
-</vector>
diff --git a/app/src/main/res/drawable/search_custom_url_enabled_day.xml b/app/src/main/res/drawable/search_custom_url_enabled_day.xml
new file mode 100644 (file)
index 0000000..e1d4074
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `find_in_page`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M20,19.59V8l-6,-6H6c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2H18c0.45,0 0.85,-0.15 1.19,-0.4l-4.43,-4.43c-0.8,0.52 -1.74,0.83 -2.76,0.83 -2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5c0,1.02 -0.31,1.96 -0.83,2.75L20,19.59zM9,13c0,1.66 1.34,3 3,3s3,-1.34 3,-3 -1.34,-3 -3,-3 -3,1.34 -3,3z"/>
+</vector>
diff --git a/app/src/main/res/drawable/search_custom_url_enabled_light.xml b/app/src/main/res/drawable/search_custom_url_enabled_light.xml
deleted file mode 100644 (file)
index 5ad6924..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `find_in_page`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M20,19.59V8l-6,-6H6c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2H18c0.45,0 0.85,-0.15 1.19,-0.4l-4.43,-4.43c-0.8,0.52 -1.74,0.83 -2.76,0.83 -2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5c0,1.02 -0.31,1.96 -0.83,2.75L20,19.59zM9,13c0,1.66 1.34,3 3,3s3,-1.34 3,-3 -1.34,-3 -3,-3 -3,1.34 -3,3z"/>
-</vector>
diff --git a/app/src/main/res/drawable/search_custom_url_enabled_night.xml b/app/src/main/res/drawable/search_custom_url_enabled_night.xml
new file mode 100644 (file)
index 0000000..e03c130
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `find_in_page`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M20,19.59V8l-6,-6H6c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2H18c0.45,0 0.85,-0.15 1.19,-0.4l-4.43,-4.43c-0.8,0.52 -1.74,0.83 -2.76,0.83 -2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5c0,1.02 -0.31,1.96 -0.83,2.75L20,19.59zM9,13c0,1.66 1.34,3 3,3s3,-1.34 3,-3 -1.34,-3 -3,-3 -3,1.34 -3,3z"/>
+</vector>
diff --git a/app/src/main/res/drawable/search_custom_url_ghosted_dark.xml b/app/src/main/res/drawable/search_custom_url_ghosted_dark.xml
deleted file mode 100644 (file)
index 2521845..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `find_in_page`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FF616161"
-        android:pathData="M20,19.59V8l-6,-6H6c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2H18c0.45,0 0.85,-0.15 1.19,-0.4l-4.43,-4.43c-0.8,0.52 -1.74,0.83 -2.76,0.83 -2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5c0,1.02 -0.31,1.96 -0.83,2.75L20,19.59zM9,13c0,1.66 1.34,3 3,3s3,-1.34 3,-3 -1.34,-3 -3,-3 -3,1.34 -3,3z"/>
-</vector>
diff --git a/app/src/main/res/drawable/search_custom_url_ghosted_day.xml b/app/src/main/res/drawable/search_custom_url_ghosted_day.xml
new file mode 100644 (file)
index 0000000..5026ae7
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `find_in_page`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FFB7B7B7"
+        android:pathData="M20,19.59V8l-6,-6H6c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2H18c0.45,0 0.85,-0.15 1.19,-0.4l-4.43,-4.43c-0.8,0.52 -1.74,0.83 -2.76,0.83 -2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5c0,1.02 -0.31,1.96 -0.83,2.75L20,19.59zM9,13c0,1.66 1.34,3 3,3s3,-1.34 3,-3 -1.34,-3 -3,-3 -3,1.34 -3,3z"/>
+</vector>
diff --git a/app/src/main/res/drawable/search_custom_url_ghosted_light.xml b/app/src/main/res/drawable/search_custom_url_ghosted_light.xml
deleted file mode 100644 (file)
index f064d2b..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `find_in_page`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
-    <path
-        android:fillColor="#FFB7B7B7"
-        android:pathData="M20,19.59V8l-6,-6H6c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2H18c0.45,0 0.85,-0.15 1.19,-0.4l-4.43,-4.43c-0.8,0.52 -1.74,0.83 -2.76,0.83 -2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5c0,1.02 -0.31,1.96 -0.83,2.75L20,19.59zM9,13c0,1.66 1.34,3 3,3s3,-1.34 3,-3 -1.34,-3 -3,-3 -3,1.34 -3,3z"/>
-</vector>
diff --git a/app/src/main/res/drawable/search_custom_url_ghosted_night.xml b/app/src/main/res/drawable/search_custom_url_ghosted_night.xml
new file mode 100644 (file)
index 0000000..ac7cd94
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `find_in_page`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M20,19.59V8l-6,-6H6c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2H18c0.45,0 0.85,-0.15 1.19,-0.4l-4.43,-4.43c-0.8,0.52 -1.74,0.83 -2.76,0.83 -2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5c0,1.02 -0.31,1.96 -0.83,2.75L20,19.59zM9,13c0,1.66 1.34,3 3,3s3,-1.34 3,-3 -1.34,-3 -3,-3 -3,1.34 -3,3z"/>
+</vector>
diff --git a/app/src/main/res/drawable/search_enabled_dark.xml b/app/src/main/res/drawable/search_enabled_dark.xml
deleted file mode 100644 (file)
index 150202a..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `search`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
-</vector>
diff --git a/app/src/main/res/drawable/search_enabled_day.xml b/app/src/main/res/drawable/search_enabled_day.xml
new file mode 100644 (file)
index 0000000..78a7502
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `search`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
+</vector>
diff --git a/app/src/main/res/drawable/search_enabled_light.xml b/app/src/main/res/drawable/search_enabled_light.xml
deleted file mode 100644 (file)
index a7eb2e7..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- This file comes from the Android Material icon set, where it is called `search`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
-</vector>
diff --git a/app/src/main/res/drawable/search_enabled_night.xml b/app/src/main/res/drawable/search_enabled_night.xml
new file mode 100644 (file)
index 0000000..e9477a2
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `search`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/>
+</vector>
diff --git a/app/src/main/res/drawable/select_all_dark.xml b/app/src/main/res/drawable/select_all_dark.xml
deleted file mode 100644 (file)
index 61008a2..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `select_all_dark.xml` comes from the Android Material icon set, where it is called `select_all`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M3,5h2L5,3c-1.1,0 -2,0.9 -2,2zM3,13h2v-2L3,11v2zM7,21h2v-2L7,19v2zM3,9h2L5,7L3,7v2zM13,3h-2v2h2L13,3zM19,3v2h2c0,-1.1 -0.9,-2 -2,-2zM5,21v-2L3,19c0,1.1 0.9,2 2,2zM3,17h2v-2L3,15v2zM9,3L7,3v2h2L9,3zM11,21h2v-2h-2v2zM19,13h2v-2h-2v2zM19,21c1.1,0 2,-0.9 2,-2h-2v2zM19,9h2L21,7h-2v2zM19,17h2v-2h-2v2zM15,21h2v-2h-2v2zM15,5h2L17,3h-2v2zM7,17h10L17,7L7,7v10zM9,9h6v6L9,15L9,9z"/>
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/select_all_day.xml b/app/src/main/res/drawable/select_all_day.xml
new file mode 100644 (file)
index 0000000..4ee0387
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `select_all`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M3,5h2L5,3c-1.1,0 -2,0.9 -2,2zM3,13h2v-2L3,11v2zM7,21h2v-2L7,19v2zM3,9h2L5,7L3,7v2zM13,3h-2v2h2L13,3zM19,3v2h2c0,-1.1 -0.9,-2 -2,-2zM5,21v-2L3,19c0,1.1 0.9,2 2,2zM3,17h2v-2L3,15v2zM9,3L7,3v2h2L9,3zM11,21h2v-2h-2v2zM19,13h2v-2h-2v2zM19,21c1.1,0 2,-0.9 2,-2h-2v2zM19,9h2L21,7h-2v2zM19,17h2v-2h-2v2zM15,21h2v-2h-2v2zM15,5h2L17,3h-2v2zM7,17h10L17,7L7,7v10zM9,9h6v6L9,15L9,9z"/>
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/select_all_light.xml b/app/src/main/res/drawable/select_all_light.xml
deleted file mode 100644 (file)
index e5ed2b1..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `select_all_light.xml` comes from the Android Material icon set, where it is called `select_all`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M3,5h2L5,3c-1.1,0 -2,0.9 -2,2zM3,13h2v-2L3,11v2zM7,21h2v-2L7,19v2zM3,9h2L5,7L3,7v2zM13,3h-2v2h2L13,3zM19,3v2h2c0,-1.1 -0.9,-2 -2,-2zM5,21v-2L3,19c0,1.1 0.9,2 2,2zM3,17h2v-2L3,15v2zM9,3L7,3v2h2L9,3zM11,21h2v-2h-2v2zM19,13h2v-2h-2v2zM19,21c1.1,0 2,-0.9 2,-2h-2v2zM19,9h2L21,7h-2v2zM19,17h2v-2h-2v2zM15,21h2v-2h-2v2zM15,5h2L17,3h-2v2zM7,17h10L17,7L7,7v10zM9,9h6v6L9,15L9,9z"/>
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/select_all_night.xml b/app/src/main/res/drawable/select_all_night.xml
new file mode 100644 (file)
index 0000000..616c348
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `select_all`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M3,5h2L5,3c-1.1,0 -2,0.9 -2,2zM3,13h2v-2L3,11v2zM7,21h2v-2L7,19v2zM3,9h2L5,7L3,7v2zM13,3h-2v2h2L13,3zM19,3v2h2c0,-1.1 -0.9,-2 -2,-2zM5,21v-2L3,19c0,1.1 0.9,2 2,2zM3,17h2v-2L3,15v2zM9,3L7,3v2h2L9,3zM11,21h2v-2h-2v2zM19,13h2v-2h-2v2zM19,21c1.1,0 2,-0.9 2,-2h-2v2zM19,9h2L21,7h-2v2zM19,17h2v-2h-2v2zM15,21h2v-2h-2v2zM15,5h2L17,3h-2v2zM7,17h10L17,7L7,7v10zM9,9h6v6L9,15L9,9z"/>
+</vector>
\ No newline at end of file
index 28cefcfbc3423e39e1b0c60c1de393edc3ca0afe..eafa18c626a95803fb3fd180851007f829f5e7c9 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `settings.xml` comes from the Android Material icon set, where it is called `settings`.  It is released under the Apache License 2.0. -->
+<!-- This file comes from the Android Material icon set, where it is called `settings`.  It is released under the Apache License 2.0. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="24dp"
@@ -6,7 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillColor="#FF000000"
         android:pathData="M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98s-0.03,-0.66 -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.12,-0.22 -0.39,-0.3 -0.61,-0.22l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2 14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59 -1.69,0.98l-2.49,-1c-0.23,-0.09 -0.49,0 -0.61,0.22l-2,3.46c-0.13,0.22 -0.07,0.49 0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98s0.03,0.66 0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.12,0.22 0.39,0.3 0.61,0.22l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42 0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25 1.17,-0.59 1.69,-0.98l2.49,1c0.23,0.09 0.49,0 0.61,-0.22l2,-3.46c0.12,-0.22 0.07,-0.49 -0.12,-0.64l-2.11,-1.65zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z" />
diff --git a/app/src/main/res/drawable/social_media_disabled_dark.xml b/app/src/main/res/drawable/social_media_disabled_dark.xml
deleted file mode 100644 (file)
index 259b5a3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `social_media_disabled_dark.xml` comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
-</vector>
diff --git a/app/src/main/res/drawable/social_media_disabled_day.xml b/app/src/main/res/drawable/social_media_disabled_day.xml
new file mode 100644 (file)
index 0000000..84e6b2b
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
+</vector>
diff --git a/app/src/main/res/drawable/social_media_disabled_light.xml b/app/src/main/res/drawable/social_media_disabled_light.xml
deleted file mode 100644 (file)
index 547fb97..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `social_media_disabled_light.xml` comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
-</vector>
diff --git a/app/src/main/res/drawable/social_media_disabled_night.xml b/app/src/main/res/drawable/social_media_disabled_night.xml
new file mode 100644 (file)
index 0000000..2e432f3
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
+</vector>
diff --git a/app/src/main/res/drawable/social_media_enabled_dark.xml b/app/src/main/res/drawable/social_media_enabled_dark.xml
deleted file mode 100644 (file)
index 2ec52c3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `social_media_enabled_dark.xml` comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
-</vector>
diff --git a/app/src/main/res/drawable/social_media_enabled_day.xml b/app/src/main/res/drawable/social_media_enabled_day.xml
new file mode 100644 (file)
index 0000000..2aba523
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
+</vector>
diff --git a/app/src/main/res/drawable/social_media_enabled_light.xml b/app/src/main/res/drawable/social_media_enabled_light.xml
deleted file mode 100644 (file)
index 5843202..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `social_media_enabled_light.xml` comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
-</vector>
diff --git a/app/src/main/res/drawable/social_media_enabled_night.xml b/app/src/main/res/drawable/social_media_enabled_night.xml
new file mode 100644 (file)
index 0000000..a8f611c
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
+</vector>
diff --git a/app/src/main/res/drawable/social_media_ghosted_dark.xml b/app/src/main/res/drawable/social_media_ghosted_dark.xml
deleted file mode 100644 (file)
index c4a24c9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `social_media_ghosted_dark.xml` comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF616161"
-        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
-</vector>
diff --git a/app/src/main/res/drawable/social_media_ghosted_day.xml b/app/src/main/res/drawable/social_media_ghosted_day.xml
new file mode 100644 (file)
index 0000000..01d25ef
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FFB7B7B7"
+        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
+</vector>
diff --git a/app/src/main/res/drawable/social_media_ghosted_light.xml b/app/src/main/res/drawable/social_media_ghosted_light.xml
deleted file mode 100644 (file)
index e347ff9..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `social_media_ghosted_light.xml` comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FFB7B7B7"
-        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
-</vector>
diff --git a/app/src/main/res/drawable/social_media_ghosted_night.xml b/app/src/main/res/drawable/social_media_ghosted_night.xml
new file mode 100644 (file)
index 0000000..f2f156f
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `thumbs_up_down`.  It is released under the Apache License 2.0.  -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M12,6c0,-0.55 -0.45,-1 -1,-1L5.82,5l0.66,-3.18 0.02,-0.23c0,-0.31 -0.13,-0.59 -0.33,-0.8L5.38,0 0.44,4.94C0.17,5.21 0,5.59 0,6v6.5c0,0.83 0.67,1.5 1.5,1.5h6.75c0.62,0 1.15,-0.38 1.38,-0.91l2.26,-5.29c0.07,-0.17 0.11,-0.36 0.11,-0.55L12,6zM22.5,10h-6.75c-0.62,0 -1.15,0.38 -1.38,0.91l-2.26,5.29c-0.07,0.17 -0.11,0.36 -0.11,0.55L12,18c0,0.55 0.45,1 1,1h5.18l-0.66,3.18 -0.02,0.24c0,0.31 0.13,0.59 0.33,0.8l0.79,0.78 4.94,-4.94c0.27,-0.27 0.44,-0.65 0.44,-1.06v-6.5c0,-0.83 -0.67,-1.5 -1.5,-1.5z"/>
+</vector>
diff --git a/app/src/main/res/drawable/sort_dark.xml b/app/src/main/res/drawable/sort_dark.xml
deleted file mode 100644 (file)
index a5a6c13..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `sort_dark.xml` comes from the Android Material icon set, where it is called `sort`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FFE0E0E0"
-        android:pathData="M3,18h6v-2L3,16v2zM3,6v2h18L21,6L3,6zM3,13h12v-2L3,11v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/sort_day.xml b/app/src/main/res/drawable/sort_day.xml
new file mode 100644 (file)
index 0000000..eeaa084
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `sort`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M3,18h6v-2L3,16v2zM3,6v2h18L21,6L3,6zM3,13h12v-2L3,11v2z" />
+</vector>
diff --git a/app/src/main/res/drawable/sort_light.xml b/app/src/main/res/drawable/sort_light.xml
deleted file mode 100644 (file)
index 26ad900..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `sort_light.xml` comes from the Android Material icon set, where it is called `sort`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FFFFFFFF"
-        android:pathData="M3,18h6v-2L3,16v2zM3,6v2h18L21,6L3,6zM3,13h12v-2L3,11v2z" />
-</vector>
diff --git a/app/src/main/res/drawable/sort_night.xml b/app/src/main/res/drawable/sort_night.xml
new file mode 100644 (file)
index 0000000..279c99d
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `sort`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M3,18h6v-2L3,16v2zM3,6v2h18L21,6L3,6zM3,13h12v-2L3,11v2z" />
+</vector>
diff --git a/app/src/main/res/drawable/sort_selected_dark.xml b/app/src/main/res/drawable/sort_selected_dark.xml
deleted file mode 100644 (file)
index 228510b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!-- `sort_selected_dark` is derived from `sort`, which is part of the Android Material icon set and is released under the Apache License 2.0.
-    Modifications copyright © 2019 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster">
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillAlpha="0.11635222"
-        android:fillColor="#000000"
-        android:pathData="M3.1525,0L20.8475,0A3.1525,3.1525 0,0 1,24 3.1525L24,20.8475A3.1525,3.1525 0,0 1,20.8475 24L3.1525,24A3.1525,3.1525 0,0 1,0 20.8475L0,3.1525A3.1525,3.1525 0,0 1,3.1525 0z" />
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillAlpha="1"
-        android:fillColor="#E0E0E0"
-        android:pathData="M3,18H9V16H3ZM3,6v2h18v-2zM3,13H15V11H3Z" />
-</vector>
diff --git a/app/src/main/res/drawable/sort_selected_day.xml b/app/src/main/res/drawable/sort_selected_day.xml
new file mode 100644 (file)
index 0000000..ea40a78
--- /dev/null
@@ -0,0 +1,24 @@
+<!-- This file is derived from `sort`, which is part of the Android Material icon set and is released under the Apache License 2.0.
+    Modifications copyright © 2019 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M3.1525,0L20.8475,0A3.1525,3.1525 0,0 1,24 3.1525L24,20.8475A3.1525,3.1525 0,0 1,20.8475 24L3.1525,24A3.1525,3.1525 0,0 1,0 20.8475L0,3.1525A3.1525,3.1525 0,0 1,3.1525 0z" />
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M3,18H9V16H3ZM3,6v2h18v-2zM3,13H15V11H3Z" />
+</vector>
diff --git a/app/src/main/res/drawable/sort_selected_light.xml b/app/src/main/res/drawable/sort_selected_light.xml
deleted file mode 100644 (file)
index f980582..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<!-- `sort_selected_light` is derived from `sort`, which is part of the Android Material icon set and is released under the Apache License 2.0.
-    Modifications copyright © 2019 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster">
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillAlpha="0.11635222"
-        android:fillColor="#000000"
-        android:pathData="M3.1525,0L20.8475,0A3.1525,3.1525 0,0 1,24 3.1525L24,20.8475A3.1525,3.1525 0,0 1,20.8475 24L3.1525,24A3.1525,3.1525 0,0 1,0 20.8475L0,3.1525A3.1525,3.1525 0,0 1,3.1525 0z" />
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillAlpha="1"
-        android:fillColor="#ffffff"
-        android:pathData="M3,18H9V16H3ZM3,6v2h18v-2zM3,13H15V11H3Z" />
-</vector>
diff --git a/app/src/main/res/drawable/sort_selected_night.xml b/app/src/main/res/drawable/sort_selected_night.xml
new file mode 100644 (file)
index 0000000..8c9f8af
--- /dev/null
@@ -0,0 +1,24 @@
+<!-- This file is derived from `sort`, which is part of the Android Material icon set and is released under the Apache License 2.0.
+    Modifications copyright © 2019 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:autoMirrored="true"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24"
+    android:viewportWidth="24"
+    tools:ignore="VectorRaster">
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF616161"
+        android:pathData="M3.1525,0L20.8475,0A3.1525,3.1525 0,0 1,24 3.1525L24,20.8475A3.1525,3.1525 0,0 1,20.8475 24L3.1525,24A3.1525,3.1525 0,0 1,0 20.8475L0,3.1525A3.1525,3.1525 0,0 1,3.1525 0z" />
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FFE0E0E0"
+        android:pathData="M3,18H9V16H3ZM3,6v2h18v-2zM3,13H15V11H3Z" />
+</vector>
diff --git a/app/src/main/res/drawable/ssl_certificate_disabled_dark.xml b/app/src/main/res/drawable/ssl_certificate_disabled_dark.xml
deleted file mode 100644 (file)
index f57b7e2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `ssl_certificate_enabled_dark.xml` comes from the Android Material icon set, where it is called `vpn_lock`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M22,4v-0.5C22,2.12 20.88,1 19.5,1S17,2.12 17,3.5L17,4c-0.55,0 -1,0.45 -1,1v4c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1L23,5c0,-0.55 -0.45,-1 -1,-1zM21.2,4h-3.4v-0.5c0,-0.94 0.76,-1.7 1.7,-1.7s1.7,0.76 1.7,1.7L21.2,4zM18.92,12c0.04,0.33 0.08,0.66 0.08,1 0,2.08 -0.8,3.97 -2.1,5.39 -0.26,-0.81 -1,-1.39 -1.9,-1.39h-1v-3c0,-0.55 -0.45,-1 -1,-1L7,13v-2h2c0.55,0 1,-0.45 1,-1L10,8h2c1.1,0 2,-0.9 2,-2L14,3.46c-0.95,-0.3 -1.95,-0.46 -3,-0.46C5.48,3 1,7.48 1,13s4.48,10 10,10 10,-4.48 10,-10c0,-0.34 -0.02,-0.67 -0.05,-1h-2.03zM10,20.93c-3.95,-0.49 -7,-3.85 -7,-7.93 0,-0.62 0.08,-1.21 0.21,-1.79L8,16v1c0,1.1 0.9,2 2,2v1.93z" />
-</vector>
diff --git a/app/src/main/res/drawable/ssl_certificate_disabled_day.xml b/app/src/main/res/drawable/ssl_certificate_disabled_day.xml
new file mode 100644 (file)
index 0000000..3002d75
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `vpn_lock`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M22,4v-0.5C22,2.12 20.88,1 19.5,1S17,2.12 17,3.5L17,4c-0.55,0 -1,0.45 -1,1v4c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1L23,5c0,-0.55 -0.45,-1 -1,-1zM21.2,4h-3.4v-0.5c0,-0.94 0.76,-1.7 1.7,-1.7s1.7,0.76 1.7,1.7L21.2,4zM18.92,12c0.04,0.33 0.08,0.66 0.08,1 0,2.08 -0.8,3.97 -2.1,5.39 -0.26,-0.81 -1,-1.39 -1.9,-1.39h-1v-3c0,-0.55 -0.45,-1 -1,-1L7,13v-2h2c0.55,0 1,-0.45 1,-1L10,8h2c1.1,0 2,-0.9 2,-2L14,3.46c-0.95,-0.3 -1.95,-0.46 -3,-0.46C5.48,3 1,7.48 1,13s4.48,10 10,10 10,-4.48 10,-10c0,-0.34 -0.02,-0.67 -0.05,-1h-2.03zM10,20.93c-3.95,-0.49 -7,-3.85 -7,-7.93 0,-0.62 0.08,-1.21 0.21,-1.79L8,16v1c0,1.1 0.9,2 2,2v1.93z" />
+</vector>
diff --git a/app/src/main/res/drawable/ssl_certificate_disabled_light.xml b/app/src/main/res/drawable/ssl_certificate_disabled_light.xml
deleted file mode 100644 (file)
index 80f30c2..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `ssl_certificate_enabled_light.xml` comes from the Android Material icon set, where it is called `vpn_lock`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M22,4v-0.5C22,2.12 20.88,1 19.5,1S17,2.12 17,3.5L17,4c-0.55,0 -1,0.45 -1,1v4c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1L23,5c0,-0.55 -0.45,-1 -1,-1zM21.2,4h-3.4v-0.5c0,-0.94 0.76,-1.7 1.7,-1.7s1.7,0.76 1.7,1.7L21.2,4zM18.92,12c0.04,0.33 0.08,0.66 0.08,1 0,2.08 -0.8,3.97 -2.1,5.39 -0.26,-0.81 -1,-1.39 -1.9,-1.39h-1v-3c0,-0.55 -0.45,-1 -1,-1L7,13v-2h2c0.55,0 1,-0.45 1,-1L10,8h2c1.1,0 2,-0.9 2,-2L14,3.46c-0.95,-0.3 -1.95,-0.46 -3,-0.46C5.48,3 1,7.48 1,13s4.48,10 10,10 10,-4.48 10,-10c0,-0.34 -0.02,-0.67 -0.05,-1h-2.03zM10,20.93c-3.95,-0.49 -7,-3.85 -7,-7.93 0,-0.62 0.08,-1.21 0.21,-1.79L8,16v1c0,1.1 0.9,2 2,2v1.93z" />
-</vector>
diff --git a/app/src/main/res/drawable/ssl_certificate_disabled_night.xml b/app/src/main/res/drawable/ssl_certificate_disabled_night.xml
new file mode 100644 (file)
index 0000000..d0a6670
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `vpn_lock`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M22,4v-0.5C22,2.12 20.88,1 19.5,1S17,2.12 17,3.5L17,4c-0.55,0 -1,0.45 -1,1v4c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1L23,5c0,-0.55 -0.45,-1 -1,-1zM21.2,4h-3.4v-0.5c0,-0.94 0.76,-1.7 1.7,-1.7s1.7,0.76 1.7,1.7L21.2,4zM18.92,12c0.04,0.33 0.08,0.66 0.08,1 0,2.08 -0.8,3.97 -2.1,5.39 -0.26,-0.81 -1,-1.39 -1.9,-1.39h-1v-3c0,-0.55 -0.45,-1 -1,-1L7,13v-2h2c0.55,0 1,-0.45 1,-1L10,8h2c1.1,0 2,-0.9 2,-2L14,3.46c-0.95,-0.3 -1.95,-0.46 -3,-0.46C5.48,3 1,7.48 1,13s4.48,10 10,10 10,-4.48 10,-10c0,-0.34 -0.02,-0.67 -0.05,-1h-2.03zM10,20.93c-3.95,-0.49 -7,-3.85 -7,-7.93 0,-0.62 0.08,-1.21 0.21,-1.79L8,16v1c0,1.1 0.9,2 2,2v1.93z" />
+</vector>
diff --git a/app/src/main/res/drawable/ssl_certificate_enabled_dark.xml b/app/src/main/res/drawable/ssl_certificate_enabled_dark.xml
deleted file mode 100644 (file)
index 9d5436c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `ssl_certificate_enabled_dark.xml` comes from the Android Material icon set, where it is called `vpn_lock`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M22,4v-0.5C22,2.12 20.88,1 19.5,1S17,2.12 17,3.5L17,4c-0.55,0 -1,0.45 -1,1v4c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1L23,5c0,-0.55 -0.45,-1 -1,-1zM21.2,4h-3.4v-0.5c0,-0.94 0.76,-1.7 1.7,-1.7s1.7,0.76 1.7,1.7L21.2,4zM18.92,12c0.04,0.33 0.08,0.66 0.08,1 0,2.08 -0.8,3.97 -2.1,5.39 -0.26,-0.81 -1,-1.39 -1.9,-1.39h-1v-3c0,-0.55 -0.45,-1 -1,-1L7,13v-2h2c0.55,0 1,-0.45 1,-1L10,8h2c1.1,0 2,-0.9 2,-2L14,3.46c-0.95,-0.3 -1.95,-0.46 -3,-0.46C5.48,3 1,7.48 1,13s4.48,10 10,10 10,-4.48 10,-10c0,-0.34 -0.02,-0.67 -0.05,-1h-2.03zM10,20.93c-3.95,-0.49 -7,-3.85 -7,-7.93 0,-0.62 0.08,-1.21 0.21,-1.79L8,16v1c0,1.1 0.9,2 2,2v1.93z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ssl_certificate_enabled_day.xml b/app/src/main/res/drawable/ssl_certificate_enabled_day.xml
new file mode 100644 (file)
index 0000000..0273ee4
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `vpn_lock`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M22,4v-0.5C22,2.12 20.88,1 19.5,1S17,2.12 17,3.5L17,4c-0.55,0 -1,0.45 -1,1v4c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1L23,5c0,-0.55 -0.45,-1 -1,-1zM21.2,4h-3.4v-0.5c0,-0.94 0.76,-1.7 1.7,-1.7s1.7,0.76 1.7,1.7L21.2,4zM18.92,12c0.04,0.33 0.08,0.66 0.08,1 0,2.08 -0.8,3.97 -2.1,5.39 -0.26,-0.81 -1,-1.39 -1.9,-1.39h-1v-3c0,-0.55 -0.45,-1 -1,-1L7,13v-2h2c0.55,0 1,-0.45 1,-1L10,8h2c1.1,0 2,-0.9 2,-2L14,3.46c-0.95,-0.3 -1.95,-0.46 -3,-0.46C5.48,3 1,7.48 1,13s4.48,10 10,10 10,-4.48 10,-10c0,-0.34 -0.02,-0.67 -0.05,-1h-2.03zM10,20.93c-3.95,-0.49 -7,-3.85 -7,-7.93 0,-0.62 0.08,-1.21 0.21,-1.79L8,16v1c0,1.1 0.9,2 2,2v1.93z" />
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ssl_certificate_enabled_light.xml b/app/src/main/res/drawable/ssl_certificate_enabled_light.xml
deleted file mode 100644 (file)
index 80d5541..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `ssl_certificate_enabled_light.xml` comes from the Android Material icon set, where it is called `vpn_lock`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` may be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M22,4v-0.5C22,2.12 20.88,1 19.5,1S17,2.12 17,3.5L17,4c-0.55,0 -1,0.45 -1,1v4c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1L23,5c0,-0.55 -0.45,-1 -1,-1zM21.2,4h-3.4v-0.5c0,-0.94 0.76,-1.7 1.7,-1.7s1.7,0.76 1.7,1.7L21.2,4zM18.92,12c0.04,0.33 0.08,0.66 0.08,1 0,2.08 -0.8,3.97 -2.1,5.39 -0.26,-0.81 -1,-1.39 -1.9,-1.39h-1v-3c0,-0.55 -0.45,-1 -1,-1L7,13v-2h2c0.55,0 1,-0.45 1,-1L10,8h2c1.1,0 2,-0.9 2,-2L14,3.46c-0.95,-0.3 -1.95,-0.46 -3,-0.46C5.48,3 1,7.48 1,13s4.48,10 10,10 10,-4.48 10,-10c0,-0.34 -0.02,-0.67 -0.05,-1h-2.03zM10,20.93c-3.95,-0.49 -7,-3.85 -7,-7.93 0,-0.62 0.08,-1.21 0.21,-1.79L8,16v1c0,1.1 0.9,2 2,2v1.93z" />
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ssl_certificate_enabled_night.xml b/app/src/main/res/drawable/ssl_certificate_enabled_night.xml
new file mode 100644 (file)
index 0000000..2b04dac
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `vpn_lock`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M22,4v-0.5C22,2.12 20.88,1 19.5,1S17,2.12 17,3.5L17,4c-0.55,0 -1,0.45 -1,1v4c0,0.55 0.45,1 1,1h5c0.55,0 1,-0.45 1,-1L23,5c0,-0.55 -0.45,-1 -1,-1zM21.2,4h-3.4v-0.5c0,-0.94 0.76,-1.7 1.7,-1.7s1.7,0.76 1.7,1.7L21.2,4zM18.92,12c0.04,0.33 0.08,0.66 0.08,1 0,2.08 -0.8,3.97 -2.1,5.39 -0.26,-0.81 -1,-1.39 -1.9,-1.39h-1v-3c0,-0.55 -0.45,-1 -1,-1L7,13v-2h2c0.55,0 1,-0.45 1,-1L10,8h2c1.1,0 2,-0.9 2,-2L14,3.46c-0.95,-0.3 -1.95,-0.46 -3,-0.46C5.48,3 1,7.48 1,13s4.48,10 10,10 10,-4.48 10,-10c0,-0.34 -0.02,-0.67 -0.05,-1h-2.03zM10,20.93c-3.95,-0.49 -7,-3.85 -7,-7.93 0,-0.62 0.08,-1.21 0.21,-1.79L8,16v1c0,1.1 0.9,2 2,2v1.93z" />
+</vector>
\ No newline at end of file
index fa382a2b2dc9860db0c56090d2f396dc62457900..989bc9b72c1e1ecad7c82c0217b1cd2b5c90c207 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `tab_disabled_dark.xml` comes from the Android Material icon set, where it is called `tab`.  It is released under the Apache License 2.0. -->
+<!-- This icon comes from the Android Material icon set, where it is called `tab`.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
index bb6ce4d660624952170fa84cd10b72bf6436d259..3ca79bd2c499552482a0f068f40a48209890a6be 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `tab` comes from the Android Material icon set, where it is called `tab`.  It is released under the Apache License 2.0. -->
+<!-- This icon comes from the Android Material icon set, where it is called `tab`.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
index 23f55db5d82d2086bd616a802e58989ffa0ab38c..d820514992ae945205661f4409accf701795d0fe 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `tab_enabled_dark.xml` comes from the Android Material icon set, where it is called `tab`.  It is released under the Apache License 2.0. -->
+<!-- This icon comes from the Android Material icon set, where it is called `tab`.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
index 6fbdb818b633c3b35ea7048ed332759f7b61c8cb..cbc2b24806d79ffa350b6800dd9f836fa27e67d6 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `tab_enabled_light.xml` comes from the Android Material icon set, where it is called `tab`.  It is released under the Apache License 2.0. -->
+<!-- This icon comes from the Android Material icon set, where it is called `tab`.  It is released under the Apache License 2.0. -->
 
 <!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
diff --git a/app/src/main/res/drawable/theme_dark.xml b/app/src/main/res/drawable/theme_dark.xml
deleted file mode 100644 (file)
index d430590..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `theme_dark.xml` comes from the Android Material icon set, where it is called `style`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF616161"
-        android:pathData="M2.53,19.65l1.34,0.56v-9.03l-2.43,5.86c-0.41,1.02 0.08,2.19 1.09,2.61zM22.03,15.95L17.07,3.98c-0.31,-0.75 -1.04,-1.21 -1.81,-1.23 -0.26,0 -0.53,0.04 -0.79,0.15L7.1,5.95c-0.75,0.31 -1.21,1.03 -1.23,1.8 -0.01,0.27 0.04,0.54 0.15,0.8l4.96,11.97c0.31,0.76 1.05,1.22 1.83,1.23 0.26,0 0.52,-0.05 0.77,-0.15l7.36,-3.05c1.02,-0.42 1.51,-1.59 1.09,-2.6zM7.88,8.75c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1zM5.88,19.75c0,1.1 0.9,2 2,2h1.45l-3.45,-8.34v6.34z"/>
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/theme_day.xml b/app/src/main/res/drawable/theme_day.xml
new file mode 100644 (file)
index 0000000..a1383dc
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `style`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportWidth="24.0"
+    android:viewportHeight="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M2.53,19.65l1.34,0.56v-9.03l-2.43,5.86c-0.41,1.02 0.08,2.19 1.09,2.61zM22.03,15.95L17.07,3.98c-0.31,-0.75 -1.04,-1.21 -1.81,-1.23 -0.26,0 -0.53,0.04 -0.79,0.15L7.1,5.95c-0.75,0.31 -1.21,1.03 -1.23,1.8 -0.01,0.27 0.04,0.54 0.15,0.8l4.96,11.97c0.31,0.76 1.05,1.22 1.83,1.23 0.26,0 0.52,-0.05 0.77,-0.15l7.36,-3.05c1.02,-0.42 1.51,-1.59 1.09,-2.6zM7.88,8.75c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1zM5.88,19.75c0,1.1 0.9,2 2,2h1.45l-3.45,-8.34v6.34z"/>
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/theme_light.xml b/app/src/main/res/drawable/theme_light.xml
deleted file mode 100644 (file)
index 33193f1..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `theme_light.xml` comes from the Android Material icon set, where it is called `style`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportWidth="24.0"
-    android:viewportHeight="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M2.53,19.65l1.34,0.56v-9.03l-2.43,5.86c-0.41,1.02 0.08,2.19 1.09,2.61zM22.03,15.95L17.07,3.98c-0.31,-0.75 -1.04,-1.21 -1.81,-1.23 -0.26,0 -0.53,0.04 -0.79,0.15L7.1,5.95c-0.75,0.31 -1.21,1.03 -1.23,1.8 -0.01,0.27 0.04,0.54 0.15,0.8l4.96,11.97c0.31,0.76 1.05,1.22 1.83,1.23 0.26,0 0.52,-0.05 0.77,-0.15l7.36,-3.05c1.02,-0.42 1.51,-1.59 1.09,-2.6zM7.88,8.75c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1zM5.88,19.75c0,1.1 0.9,2 2,2h1.45l-3.45,-8.34v6.34z"/>
-</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/theme_night.xml b/app/src/main/res/drawable/theme_night.xml
new file mode 100644 (file)
index 0000000..9c77a03
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `style`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportWidth="24.0"
+    android:viewportHeight="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M2.53,19.65l1.34,0.56v-9.03l-2.43,5.86c-0.41,1.02 0.08,2.19 1.09,2.61zM22.03,15.95L17.07,3.98c-0.31,-0.75 -1.04,-1.21 -1.81,-1.23 -0.26,0 -0.53,0.04 -0.79,0.15L7.1,5.95c-0.75,0.31 -1.21,1.03 -1.23,1.8 -0.01,0.27 0.04,0.54 0.15,0.8l4.96,11.97c0.31,0.76 1.05,1.22 1.83,1.23 0.26,0 0.52,-0.05 0.77,-0.15l7.36,-3.05c1.02,-0.42 1.51,-1.59 1.09,-2.6zM7.88,8.75c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1zM5.88,19.75c0,1.1 0.9,2 2,2h1.45l-3.45,-8.34v6.34z"/>
+</vector>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/user_agent_dark.xml b/app/src/main/res/drawable/user_agent_dark.xml
deleted file mode 100644 (file)
index 7419f4d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `user_agent_dark.xml` comes from the Android Material icon set, where it is called `devices_other`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M3,6h18L21,4L3,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h4v-2L3,18L3,6zM13,12L9,12v1.78c-0.61,0.55 -1,1.33 -1,2.22s0.39,1.67 1,2.22L9,20h4v-1.78c0.61,-0.55 1,-1.34 1,-2.22s-0.39,-1.67 -1,-2.22L13,12zM11,17.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM22,8h-6c-0.5,0 -1,0.5 -1,1v10c0,0.5 0.5,1 1,1h6c0.5,0 1,-0.5 1,-1L23,9c0,-0.5 -0.5,-1 -1,-1zM21,18h-4v-8h4v8z"/>
-</vector>
diff --git a/app/src/main/res/drawable/user_agent_day.xml b/app/src/main/res/drawable/user_agent_day.xml
new file mode 100644 (file)
index 0000000..328990f
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `devices_other`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M3,6h18L21,4L3,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h4v-2L3,18L3,6zM13,12L9,12v1.78c-0.61,0.55 -1,1.33 -1,2.22s0.39,1.67 1,2.22L9,20h4v-1.78c0.61,-0.55 1,-1.34 1,-2.22s-0.39,-1.67 -1,-2.22L13,12zM11,17.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM22,8h-6c-0.5,0 -1,0.5 -1,1v10c0,0.5 0.5,1 1,1h6c0.5,0 1,-0.5 1,-1L23,9c0,-0.5 -0.5,-1 -1,-1zM21,18h-4v-8h4v8z"/>
+</vector>
diff --git a/app/src/main/res/drawable/user_agent_light.xml b/app/src/main/res/drawable/user_agent_light.xml
deleted file mode 100644 (file)
index 05e5555..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-<!-- `user_agent_light.xml` comes from the Android Material icon set, where it is called `devices_other`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
-
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M3,6h18L21,4L3,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h4v-2L3,18L3,6zM13,12L9,12v1.78c-0.61,0.55 -1,1.33 -1,2.22s0.39,1.67 1,2.22L9,20h4v-1.78c0.61,-0.55 1,-1.34 1,-2.22s-0.39,-1.67 -1,-2.22L13,12zM11,17.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM22,8h-6c-0.5,0 -1,0.5 -1,1v10c0,0.5 0.5,1 1,1h6c0.5,0 1,-0.5 1,-1L23,9c0,-0.5 -0.5,-1 -1,-1zM21,18h-4v-8h4v8z"/>
-</vector>
diff --git a/app/src/main/res/drawable/user_agent_night.xml b/app/src/main/res/drawable/user_agent_night.xml
new file mode 100644 (file)
index 0000000..c0d78f7
--- /dev/null
@@ -0,0 +1,18 @@
+<!-- This file comes from the Android Material icon set, where it is called `devices_other`.  It is released under the Apache License 2.0. -->
+
+<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0"
+    android:autoMirrored="true"
+    tools:ignore="VectorRaster" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M3,6h18L21,4L3,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h4v-2L3,18L3,6zM13,12L9,12v1.78c-0.61,0.55 -1,1.33 -1,2.22s0.39,1.67 1,2.22L9,20h4v-1.78c0.61,-0.55 1,-1.34 1,-2.22s-0.39,-1.67 -1,-2.22L13,12zM11,17.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM22,8h-6c-0.5,0 -1,0.5 -1,1v10c0,0.5 0.5,1 1,1h6c0.5,0 1,-0.5 1,-1L23,9c0,-0.5 -0.5,-1 -1,-1zM21,18h-4v-8h4v8z"/>
+</vector>
index c4e2c125409d949b0fcc6cc8977397b3bfc94ea9..22f8bbf787906b186ccbb54f04b5e7979fbf5d5c 100644 (file)
@@ -1,4 +1,4 @@
-<!-- `warning.xml` is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
+<!-- This file is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
     Modifications copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
@@ -7,21 +7,21 @@
     android:viewportHeight="256.0"
     android:viewportWidth="256.0" >
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillAlpha="1"
         android:fillColor="#f57f17"
         android:pathData="m128,12.8 l-94.25,41.89 0,62.84c0,58.12 40.22,112.48 94.25,125.67 54.04,-13.2 94.25,-67.55 94.25,-125.67l0,-62.84z"
         android:strokeColor="#00000000" />
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillAlpha="1"
         android:fillColor="#fbc02d"
         android:pathData="m128,0 l-104.73,46.55 0,69.82C23.27,180.95 67.96,241.34 128,256 188.04,241.34 232.73,180.95 232.73,116.36l0,-69.82L128,0ZM128,127.88 L209.45,127.88C203.29,175.83 171.29,218.53 128,231.91l0,-103.91 -81.45,0 0,-66.33L128,25.48l0,102.4z"
         android:strokeColor="#00000000" />
 
-    <!-- We have to use a hard coded color until API >= 21.  Then we can use `@color`. -->
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
         android:fillAlpha="1"
         android:fillColor="#ffffff"
diff --git a/app/src/main/res/drawable/wide_viewport_disabled_dark.xml b/app/src/main/res/drawable/wide_viewport_disabled_dark.xml
deleted file mode 100644 (file)
index 1ca8326..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `wide_viewport_disabled_dark.xml` comes from the Android Material icon set, where it is called `settings_overscan`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M12.01,5.5L10,8h4l-1.99,-2.5zM18,10v4l2.5,-1.99L18,10zM6,10l-2.5,2.01L6,14v-4zM14,16h-4l2.01,2.5L14,16zM21,3L3,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,19.01L3,19.01L3,4.99h18v14.02z"/>
-</vector>
diff --git a/app/src/main/res/drawable/wide_viewport_disabled_day.xml b/app/src/main/res/drawable/wide_viewport_disabled_day.xml
new file mode 100644 (file)
index 0000000..c17b01b
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `settings_overscan`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF757575"
+        android:pathData="M12.01,5.5L10,8h4l-1.99,-2.5zM18,10v4l2.5,-1.99L18,10zM6,10l-2.5,2.01L6,14v-4zM14,16h-4l2.01,2.5L14,16zM21,3L3,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,19.01L3,19.01L3,4.99h18v14.02z"/>
+</vector>
diff --git a/app/src/main/res/drawable/wide_viewport_disabled_light.xml b/app/src/main/res/drawable/wide_viewport_disabled_light.xml
deleted file mode 100644 (file)
index 382904c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `wide_viewport` comes from the Android Material icon set, where it is called `settings_overscan`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF757575"
-        android:pathData="M12.01,5.5L10,8h4l-1.99,-2.5zM18,10v4l2.5,-1.99L18,10zM6,10l-2.5,2.01L6,14v-4zM14,16h-4l2.01,2.5L14,16zM21,3L3,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,19.01L3,19.01L3,4.99h18v14.02z"/>
-</vector>
diff --git a/app/src/main/res/drawable/wide_viewport_disabled_night.xml b/app/src/main/res/drawable/wide_viewport_disabled_night.xml
new file mode 100644 (file)
index 0000000..9fecb89
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `settings_overscan`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF9E9E9E"
+        android:pathData="M12.01,5.5L10,8h4l-1.99,-2.5zM18,10v4l2.5,-1.99L18,10zM6,10l-2.5,2.01L6,14v-4zM14,16h-4l2.01,2.5L14,16zM21,3L3,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,19.01L3,19.01L3,4.99h18v14.02z"/>
+</vector>
diff --git a/app/src/main/res/drawable/wide_viewport_enabled_dark.xml b/app/src/main/res/drawable/wide_viewport_enabled_dark.xml
deleted file mode 100644 (file)
index 44e36fe..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `wide_viewport_enabled_dark.xml` comes from the Android Material icon set, where it is called `settings_overscan`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1E88E5"
-        android:pathData="M12.01,5.5L10,8h4l-1.99,-2.5zM18,10v4l2.5,-1.99L18,10zM6,10l-2.5,2.01L6,14v-4zM14,16h-4l2.01,2.5L14,16zM21,3L3,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,19.01L3,19.01L3,4.99h18v14.02z"/>
-</vector>
diff --git a/app/src/main/res/drawable/wide_viewport_enabled_day.xml b/app/src/main/res/drawable/wide_viewport_enabled_day.xml
new file mode 100644 (file)
index 0000000..63fb012
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `settings_overscan`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1565C0"
+        android:pathData="M12.01,5.5L10,8h4l-1.99,-2.5zM18,10v4l2.5,-1.99L18,10zM6,10l-2.5,2.01L6,14v-4zM14,16h-4l2.01,2.5L14,16zM21,3L3,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,19.01L3,19.01L3,4.99h18v14.02z"/>
+</vector>
diff --git a/app/src/main/res/drawable/wide_viewport_enabled_light.xml b/app/src/main/res/drawable/wide_viewport_enabled_light.xml
deleted file mode 100644 (file)
index 2f24f6d..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!-- `wide_viewport_enabled_light.xml` comes from the Android Material icon set, where it is called `settings_overscan`.  It is released under the Apache License 2.0. -->
-<vector
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:height="24dp"
-    android:width="24dp"
-    android:viewportHeight="24.0"
-    android:viewportWidth="24.0" >
-
-    <!-- A hard coded color must be used until the minimum API >= 21.  Then `@color` can be used. -->
-    <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M12.01,5.5L10,8h4l-1.99,-2.5zM18,10v4l2.5,-1.99L18,10zM6,10l-2.5,2.01L6,14v-4zM14,16h-4l2.01,2.5L14,16zM21,3L3,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,19.01L3,19.01L3,4.99h18v14.02z"/>
-</vector>
diff --git a/app/src/main/res/drawable/wide_viewport_enabled_night.xml b/app/src/main/res/drawable/wide_viewport_enabled_night.xml
new file mode 100644 (file)
index 0000000..6598c2b
--- /dev/null
@@ -0,0 +1,13 @@
+<!-- This file comes from the Android Material icon set, where it is called `settings_overscan`.  It is released under the Apache License 2.0. -->
+<vector
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:height="24dp"
+    android:width="24dp"
+    android:viewportHeight="24.0"
+    android:viewportWidth="24.0" >
+
+    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <path
+        android:fillColor="#FF1E88E5"
+        android:pathData="M12.01,5.5L10,8h4l-1.99,-2.5zM18,10v4l2.5,-1.99L18,10zM6,10l-2.5,2.01L6,14v-4zM14,16h-4l2.01,2.5L14,16zM21,3L3,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2L23,5c0,-1.1 -0.9,-2 -2,-2zM21,19.01L3,19.01L3,4.99h18v14.02z"/>
+</vector>
index fdd097042efc612840bcb2098ab533bdae5cddc6..3d2e8148cf4e8bf01b8e41a713f8f0eb9a7b827a 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017,2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2017,2019-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>>.
 
@@ -29,7 +29,8 @@
     <LinearLayout
         android:layout_height="match_parent"
         android:layout_width="match_parent"
-        android:orientation="vertical" >
+        android:orientation="vertical"
+        android:background="?android:attr/colorBackground" >
 
         <TextView
             android:id="@+id/bookmarks_title_textview"
@@ -37,8 +38,8 @@
             android:layout_width="match_parent"
             android:textStyle="bold"
             android:textSize="20sp"
-            android:background="?attr/navigationHeaderBackground"
-            android:textColor="?attr/navigationHeaderTextColor" />
+            android:textColor="?android:attr/textColorPrimary"
+            android:layout_margin="10dp" />
 
         <ListView
             android:id="@+id/bookmarks_drawer_listview"
@@ -55,7 +56,8 @@
         android:layout_width="wrap_content"
         android:layout_gravity="bottom|end"
         android:layout_marginEnd="16dp"
-        android:layout_marginBottom="155dp" />
+        android:layout_marginBottom="155dp"
+        android:src="?attr/bookmarksIcon" />
 
     <com.google.android.material.floatingactionbutton.FloatingActionButton
         android:id="@+id/create_bookmark_folder_fab"
         android:layout_width="wrap_content"
         android:layout_gravity="bottom|end"
         android:layout_marginEnd="16dp"
-        android:layout_marginBottom="85dp" />
+        android:layout_marginBottom="85dp"
+        android:src="?attr/createFolderIcon" />
 
     <com.google.android.material.floatingactionbutton.FloatingActionButton
         android:id="@+id/create_bookmark_fab"
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
         android:layout_gravity="bottom|end"
-        android:layout_margin="16dp" />
+        android:layout_margin="16dp"
+        android:src="?attr/createBookmarkIcon" />
 </FrameLayout>
\ No newline at end of file
index c9062d9e4ca715c640e7ce6775f4f9dce831edf9..1681e3674ccf9cfa29604346deffd97d6ecbf200 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2016-2017,2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2016-2017,2019-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<!-- android:fitsSystemWindows="true" moves the AppBar below the status bar.
-    When it is specified the theme should include <item name="android:windowTranslucentStatus">true</item> to make the status bar a transparent, darkened overlay. -->
 <androidx.coordinatorlayout.widget.CoordinatorLayout
     android:id="@+id/about_coordinatorlayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_height="match_parent"
-    android:layout_width="match_parent"
-    android:fitsSystemWindows="true">
+    android:layout_width="match_parent" >
 
     <!-- The linear layout with `orientation="vertical"` moves the view pager below the app bar layout. -->
     <LinearLayout
         android:layout_width="match_parent"
         android:orientation="vertical" >
 
-        <!-- `android:background="?attr/colorPrimaryDark"` must be set here or any space to the right of the tab layout on large devices will be the theme background color. -->
         <com.google.android.material.appbar.AppBarLayout
             android:id="@+id/about_appbarlayout"
             android:layout_height="wrap_content"
             android:layout_width="match_parent"
-            android:background="?attr/colorPrimaryDark" >
+            android:background="?android:attr/colorBackground" >
 
-            <!-- `android:theme="?attr/appBarTextTheme"` sets the color of the text and icons in the `AppBar`. -->
             <androidx.appcompat.widget.Toolbar
                 android:id="@+id/about_toolbar"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
-                android:background="?attr/colorPrimaryDark"
-                android:theme="?attr/appBarTextTheme" />
+                android:layout_width="match_parent" />
 
-            <!-- For some reason `tabIndicatorColor` does not pull from the style unless specified explicitly here. -->
             <com.google.android.material.tabs.TabLayout
                 android:id="@+id/about_tablayout"
                 android:layout_height="wrap_content"
                 android:layout_width="match_parent"
-                app:tabMode="scrollable"
-                app:tabIndicatorColor="?attr/tabIndicatorColor"
-                android:theme="?attr/tabLayoutTheme" />
+                app:tabMode="scrollable" />
         </com.google.android.material.appbar.AppBarLayout>
 
-        <!-- `android:layout_weight="1"` makes `about_viewpager` fill the rest of the screen. -->
+        <!-- `android:layout_weight="1"` makes the view pager fill the rest of the screen. -->
         <androidx.viewpager.widget.ViewPager
             android:id="@+id/about_viewpager"
             android:layout_height="0dp"
index f386bb5a369880b73351e755a3a775f66df7e364..75bcb3e842d0fd126b87c3236061a502224098db 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2016-2018 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2016-2018,2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<!-- The `ScrollView` allows the `LinearLayout` to scroll if it exceeds the height of the page. -->
+<!-- The scroll view allows the linear layout to scroll if it exceeds the height of the page. -->
 <ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_height="wrap_content"
-    android:layout_width="match_parent"
-    android:background="?attr/aboutBackground" >
+    android:layout_width="match_parent" >
 
     <LinearLayout
         android:layout_height="wrap_content"
@@ -38,8 +37,8 @@
             android:layout_height="wrap_content" >
 
             <!--`tools:ignore="RtlSymmetry"` suppressed the lint warning about adding `android:paddingStart`, which wouldn't work with this layout.
-                `tools:ignore="ContentDescription"` suppresses the lint warning about supplying a content description for the `ImageView`,
-                which isn't needed in this case because the `ImageView` is only decorative. -->
+                `tools:ignore="ContentDescription"` suppresses the lint warning about supplying a content description for the image view,
+                which isn't needed in this case because the image view is only decorative. -->
             <ImageView
                 android:id="@+id/icon"
                 android:layout_height="wrap_content"
@@ -56,7 +55,7 @@
                 android:text="@string/privacy_browser"
                 android:textStyle="bold"
                 android:textSize="22sp"
-                android:textColor="?attr/aboutTitle"
+                android:textColor="?attr/blueTitleTextColor"
                 android:paddingTop="12dp"
                 android:layout_toEndOf="@id/icon" />
 
                 android:id="@+id/version"
                 android:layout_height="wrap_content"
                 android:layout_width="wrap_content"
-                android:textColor="?attr/aboutText"
+                android:textColor="?attr/blueTextColor"
                 android:textIsSelectable="true"
                 android:layout_below="@id/privacy_browser_textview"
                 android:layout_toEndOf="@id/icon" />
         </RelativeLayout>
 
-        <!-- The purpose of this `LinearLayout` is to provide padding on the start of the `TextViews` to make them line up with `about_version_icon`.
+        <!-- The purpose of this linear layout is to provide padding on the start of the text views to make them line up with `about_version_icon`.
              Although we don't need it, we have to include `android:paddingEnd` to make lint happy. -->
         <LinearLayout
             android:layout_height="wrap_content"
@@ -87,7 +86,7 @@
                 android:text="@string/hardware"
                 android:textStyle="bold"
                 android:textSize="18sp"
-                android:textColor="?attr/aboutTitle" />
+                android:textColor="?attr/blueTitleTextColor" />
 
             <TextView
                 android:id="@+id/brand"
                 android:text="@string/software"
                 android:textStyle="bold"
                 android:textSize="18sp"
-                android:textColor="?attr/aboutTitle"
+                android:textColor="?attr/blueTitleTextColor"
                 android:paddingTop="12dp" />
 
             <TextView
                 android:text="@string/blocklists"
                 android:textStyle="bold"
                 android:textSize="18sp"
-                android:textColor="?attr/aboutTitle"
+                android:textColor="?attr/blueTitleTextColor"
                 android:paddingTop="12dp" />
 
             <TextView
                 android:text="@string/package_signature"
                 android:textStyle="bold"
                 android:textSize="18sp"
-                android:textColor="?attr/aboutTitle"
+                android:textColor="?attr/blueTitleTextColor"
                 android:paddingTop="12dp" />
 
             <TextView
index a04ab57c0a31fc61f4ebe649fab30e956e3df657..863c01951563a3687a36315833bce7db3da9de7d 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -23,8 +23,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
-    android:orientation="horizontal"
-    android:background="?attr/spinnerBackground" >
+    android:orientation="horizontal" >
 
     <ImageView
         android:id="@+id/spinner_item_imageview"
@@ -46,5 +45,5 @@
         android:paddingTop="8dp"
         android:paddingBottom="8dp"
         android:textSize="18sp"
-        android:textColor="?attr/appbarSpinnerTextColorSelector" />
+        android:textColor="@color/checked_text_color_selector" />
 </com.stoutner.privacybrowser.views.CheckedLinearLayout>
\ No newline at end of file
index edc8d7c9d1c23d0618784b89808a59c7e9e1f64f..ef6123a208fc8de0680e5074d54dffcd6e9af92a 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -43,5 +43,5 @@
         android:paddingStart="10dp"
         android:paddingEnd="10dp"
         android:textSize="18sp"
-        android:textColor="?attr/spinnerHeaderTextColor" />
+        android:textColor="?android:attr/textColorPrimary" />
 </LinearLayout>
\ No newline at end of file
index 83501e81b38bf7ee93affbde9815cc1543c5842e..c4a5c2bf0269e236dca17bc71f5997f79b71e6d3 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2016-2017,2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -18,7 +18,7 @@
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<!-- `tools:ignore="UseCompoundDrawables"` removes the lint warning about using a compound drawable, which doesn't work well with the layout options on the `ImageView`. -->
+<!-- `tools:ignore="UseCompoundDrawables"` removes the lint warning about using a compound drawable, which doesn't work well with the layout options on the image view. -->
 <LinearLayout
     android:id="@+id/bookmarks_item_linearlayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
index 3afb8acb449fd9fe8666e1b6160a26d35735f77b..f513ca0d21e2f188dd5f34ab02af043382555bb7 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<!-- `android:fitsSystemWindows="true"` moves the AppBar below the status bar.
-    When it is specified the theme should include `<item name="android:windowTranslucentStatus">true</item>` to make the status bar a transparent, darkened overlay. -->
 <androidx.coordinatorlayout.widget.CoordinatorLayout
     android:id="@+id/bookmarks_coordinatorlayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_height="match_parent"
-    android:layout_width="match_parent"
-    android:fitsSystemWindows="true" >
+    android:layout_width="match_parent" >
 
-    <!-- the `LinearLayout` with `orientation="vertical"` moves the content below the `AppBarLayout`. -->
+    <!-- The linear layout with `orientation="vertical"` moves the content below the app bar layout. -->
     <LinearLayout
         android:layout_height="match_parent"
         android:layout_width="match_parent"
         <com.google.android.material.appbar.AppBarLayout
             android:id="@+id/bookmarks_appbarlayout"
             android:layout_height="wrap_content"
-            android:layout_width="match_parent" >
+            android:layout_width="match_parent"
+            android:background="?android:attr/colorBackground" >
 
             <androidx.appcompat.widget.Toolbar
                 android:id="@+id/bookmarks_toolbar"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
-                android:background="?attr/colorPrimaryDark"
-                android:theme="?attr/appBarTextTheme"
-                app:popupTheme="?attr/popupsTheme" />
+                android:layout_width="match_parent" />
         </com.google.android.material.appbar.AppBarLayout>
 
         <!-- `android:choiceMode="multipleChoiceModal"` allows the contextual action menu to select more than one item at a time.
-            `android:dividerHeight` must be at least `1dp` or the `ListView` is inconsistent in calculating how many bookmarks are displayed. -->
+            `android:dividerHeight` must be at least `1dp` or the list view is inconsistent in calculating how many bookmarks are displayed. -->
         <ListView
             android:id="@+id/bookmarks_listview"
             android:layout_height="match_parent"
@@ -66,7 +60,7 @@
         android:layout_gravity="bottom|end"
         android:layout_marginEnd="16dp"
         android:layout_marginBottom="85dp"
-        android:src="?attr/addFolderIcon" />
+        android:src="?attr/createFolderIcon" />
 
     <com.google.android.material.floatingactionbutton.FloatingActionButton
         android:id="@+id/create_bookmark_fab"
@@ -74,5 +68,5 @@
         android:layout_width="wrap_content"
         android:layout_gravity="bottom|end"
         android:layout_margin="16dp"
-        android:src="?attr/addBookmarkIcon" />
+        android:src="?attr/createBookmarkIcon" />
 </androidx.coordinatorlayout.widget.CoordinatorLayout>
\ No newline at end of file
index 298c57969b84ee1ae25375da5d95d15804a062ca..414ab2f91d3d45dbc5647999e68d8826ba3ac181 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<!-- `android:fitsSystemWindows="true"` moves the AppBar below the status bar.
-    When it is specified the theme should include `<item name="android:windowTranslucentStatus">true</item>`
-    to make the status bar a transparent, darkened overlay. -->
 <androidx.coordinatorlayout.widget.CoordinatorLayout
     android:id="@+id/bookmarks_databaseview_coordinatorlayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_height="match_parent"
-    android:layout_width="match_parent"
-    android:fitsSystemWindows="true" >
+    android:layout_width="match_parent" >
 
-    <!-- The `LinearLayout` with `orientation="vertical"` moves the list view below the app bar layout. -->
+    <!-- The linear layout with `orientation="vertical"` moves the list view below the app bar layout. -->
     <LinearLayout
         android:layout_height="match_parent"
         android:layout_width="match_parent"
         <com.google.android.material.appbar.AppBarLayout
             android:id="@+id/bookmarks_databaseview_appbarlayout"
             android:layout_height="wrap_content"
-            android:layout_width="match_parent" >
+            android:layout_width="match_parent"
+            android:background="?android:attr/colorBackground" >
 
             <androidx.appcompat.widget.Toolbar
                 android:id="@+id/bookmarks_databaseview_toolbar"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
-                android:background="?attr/colorPrimaryDark"
-                android:theme="?attr/appBarTextTheme" />
+                android:layout_width="match_parent" />
         </com.google.android.material.appbar.AppBarLayout>
 
         <!-- `android:choiceMode="multipleChoiceModal"` allows the contextual action menu to select more than one item at a time. -->
index 58a0c1197864c626f8a7561e87992d42d795a1d9..635e7e7470ce3d4da19f37d34660090c365fb410 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>>.
 
@@ -28,7 +28,8 @@
     <LinearLayout
         android:layout_height="match_parent"
         android:layout_width="match_parent"
-        android:orientation="vertical" >
+        android:orientation="vertical"
+        android:background="?android:attr/colorBackground" >
 
         <TextView
             android:id="@+id/bookmarks_title_textview"
@@ -36,8 +37,8 @@
             android:layout_width="match_parent"
             android:textStyle="bold"
             android:textSize="20sp"
-            android:background="?attr/navigationHeaderBackground"
-            android:textColor="?attr/navigationHeaderTextColor" />
+            android:textColor="?android:attr/textColorPrimary"
+            android:layout_margin="10dp" />
 
         <ListView
             android:id="@+id/bookmarks_drawer_listview"
@@ -54,7 +55,8 @@
         android:layout_width="wrap_content"
         android:layout_gravity="bottom|end"
         android:layout_marginEnd="16dp"
-        android:layout_marginBottom="155dp" />
+        android:layout_marginBottom="155dp"
+        android:src="?attr/bookmarksIcon" />
 
     <com.google.android.material.floatingactionbutton.FloatingActionButton
         android:id="@+id/create_bookmark_folder_fab"
         android:layout_width="wrap_content"
         android:layout_gravity="bottom|end"
         android:layout_marginEnd="16dp"
-        android:layout_marginBottom="85dp" />
+        android:layout_marginBottom="85dp"
+        android:src="?attr/createFolderIcon" />
 
     <com.google.android.material.floatingactionbutton.FloatingActionButton
         android:id="@+id/create_bookmark_fab"
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
         android:layout_gravity="bottom|end"
-        android:layout_margin="16dp" />
+        android:layout_margin="16dp"
+        android:src="?attr/createBookmarkIcon" />
 </FrameLayout>
\ No newline at end of file
index 203685dd5fe52ea2c8fc97d4bc6131050ab78960..6848014fddd85d90f330dabf012219f147784116 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2016-2017,2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -40,8 +40,8 @@
         android:id="@+id/bookmark_name"
         android:layout_height="wrap_content"
         android:layout_width="match_parent"
-        android:textColor="?android:attr/textColorPrimary"
         android:textSize="22sp"
+        android:textColor="?android:attr/textColorPrimary"
         android:layout_margin="10dp"
         android:lines="1"
         android:ellipsize="end" />
index aaadcd459facdf7bc324802eeb25d063ee740037..1121da4785eac7a5610df1fe94b57c7b440f1820 100644 (file)
@@ -82,8 +82,7 @@
                 android:layout_width="wrap_content"
                 android:layout_marginBottom="4dp"
                 android:text="@string/open_with_default_browser"
-                android:textSize="18sp"
-                android:textColor="?android:textColorPrimary" />
+                android:textSize="18sp" />
 
             <RadioButton
                 android:id="@+id/open_with_privacy_browser_radiobutton"
@@ -91,8 +90,7 @@
                 android:layout_width="wrap_content"
                 android:layout_marginTop="4dp"
                 android:text="@string/open_with_privacy_browser"
-                android:textSize="18sp"
-                android:textColor="?android:textColorPrimary" />
+                android:textSize="18sp" />
         </RadioGroup>
     </LinearLayout>
 </ScrollView>
\ No newline at end of file
index c80a38d85ba02b5f122f4107cf98781390ec1364..b78342f376dbe2c2c73676b56c32baadfaa380fc 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2017,2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -19,6 +19,8 @@
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
 
+<!-- An attribute that points to a drawable has to be used for the `android:background` until the minimum API >= 21.
+  After that, a single drawable may be referenced directly, which can set the background color using an attribute defined inside the drawable. -->
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_height="wrap_content"
index fbb502a7891a5a8e702214b3c56564999a53c2b4..c316ae2f50c03657fc611464e78b3c0322d6aedb 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
                     android:layout_marginTop="1dp"
                     android:layout_marginEnd="10dp"
                     android:layout_gravity="center_vertical"
-                    android:src="@drawable/user_agent_light"
+                    android:src="@drawable/user_agent_day"
                     android:tint="?attr/domainSettingsIconTintColor"
                     android:contentDescription="@string/user_agent" />
 
                     android:layout_marginTop="1dp"
                     android:layout_marginEnd="10dp"
                     android:layout_gravity="center_vertical"
-                    android:src="@drawable/font_size_light"
+                    android:src="@drawable/font_size_day"
                     android:tint="?attr/domainSettingsIconTintColor"
                     android:contentDescription="@string/font_size" />
 
                         android:layout_height="wrap_content"
                         android:layout_width="match_parent"
                         android:layout_marginStart="32dp"
-                        android:textColor="?attr/aboutText" />
+                        android:textColor="?attr/blueTextColor" />
                 </LinearLayout>
             </androidx.cardview.widget.CardView>
 
                         android:layout_height="wrap_content"
                         android:layout_width="match_parent"
                         android:layout_marginStart="32dp"
-                        android:textColor="?attr/aboutText" />
+                        android:textColor="?attr/blueTextColor" />
                 </LinearLayout>
             </androidx.cardview.widget.CardView>
         </LinearLayout>
index 69aabd8b1dabd40e999d637dd2eba95683d502a8..6dacbd347f37bc19f9f1826d1b9c1e4c6eb1f99a 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017,2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2017,2019-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -18,8 +18,6 @@
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<!-- `android:fitsSystemWindows="true"` moves the AppBar below the status bar.
-    When it is specified the theme should include `<item name="android:windowTranslucentStatus">true</item>` to make the status bar a transparent, darkened overlay. -->
 <androidx.coordinatorlayout.widget.CoordinatorLayout
     android:id="@+id/domains_coordinatorlayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
@@ -27,7 +25,7 @@
     android:layout_width="match_parent"
     android:fitsSystemWindows="true" >
 
-    <!-- The `LinearLayout` with `orientation="vertical"` moves the content below the `AppBarLayout`. -->
+    <!-- The linear layout with `orientation="vertical"` moves the content below the app bar layout. -->
     <LinearLayout
         android:layout_height="match_parent"
         android:layout_width="match_parent"
 
         <com.google.android.material.appbar.AppBarLayout
             android:layout_height="wrap_content"
-            android:layout_width="match_parent" >
+            android:layout_width="match_parent"
+            android:background="?android:attr/colorBackground" >
 
             <androidx.appcompat.widget.Toolbar
                 android:id="@+id/domains_toolbar"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
-                android:background="?attr/colorPrimaryDark"
-                android:theme="?attr/appBarTextTheme" />
+                android:layout_width="match_parent" />
         </com.google.android.material.appbar.AppBarLayout>
 
         <include layout="@layout/domains_fragments" />
index a95e6a0c6b4b9414393cc4571107ef4737233521..b193b360c8a37c80d44d0b7ca7c96d8e6c32bb39 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2016-2017,2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2016-2017,2019-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<!-- android:fitsSystemWindows="true" moves the AppBar below the status bar.
-When it is specified the theme should include <item name="android:windowTranslucentStatus">true</item> to make the status bar a transparent, darkened overlay. -->
 <androidx.coordinatorlayout.widget.CoordinatorLayout
     android:id="@+id/guide_coordinatorlayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_height="match_parent"
-    android:layout_width="match_parent"
-    android:fitsSystemWindows="true" >
+    android:layout_width="match_parent" >
 
-    <!-- The `LinearLayout` with `orientation="vertical"` moves the `ViewPager` below the `AppBarLayout`. -->
+    <!-- The linear layout with `orientation="vertical"` moves the view pager below the app bar layout. -->
     <LinearLayout
         android:layout_height="match_parent"
         android:layout_width="match_parent"
         android:orientation="vertical" >
 
-        <!-- `android:background="?attr/colorPrimaryDark"` needs to be set here or any space to the right of the `TabLayout` on large devices will be the theme background color. -->
         <com.google.android.material.appbar.AppBarLayout
             android:id="@+id/guide_appbarlayout"
             android:layout_height="wrap_content"
             android:layout_width="match_parent"
-            android:background="?attr/colorPrimaryDark" >
+            android:background="?android:attr/colorBackground" >
 
-            <!-- `android:theme="?attr/appBarTextTheme"` sets the color of the text and icons in the `AppBar`. -->
             <androidx.appcompat.widget.Toolbar
                 android:id="@+id/guide_toolbar"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
-                android:background="?attr/colorPrimaryDark"
-                android:theme="?attr/appBarTextTheme" />
+                android:layout_width="match_parent" />
 
-            <!-- For some reason `tabIndicatorColor` does not pull from the style unless specified explicitly here. -->
             <com.google.android.material.tabs.TabLayout
                 android:id="@+id/guide_tablayout"
                 android:layout_height="wrap_content"
                 android:layout_width="match_parent"
-                app:tabMode="scrollable"
-                app:tabIndicatorColor="?attr/tabIndicatorColor"
-                android:theme="?attr/tabLayoutTheme" />
+                app:tabMode="scrollable" />
         </com.google.android.material.appbar.AppBarLayout>
 
         <!-- `android:layout_weight="1"` makes `about_viewpager` fill the rest of the screen. -->
index b6eebd1fc44a3db4622bc7c5806a8a8fd4d695ff..f84dad44212fb444c6738ca64afd32ecf4576732 100644 (file)
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<!-- `android:fitsSystemWindows="true"` moves the AppBar below the status bar.
-    When it is specified the theme should include `<item name="android:windowTranslucentStatus">true</item>` to make the status bar a transparent, darkened overlay. -->
 <androidx.coordinatorlayout.widget.CoordinatorLayout
     android:id="@+id/import_export_coordinatorlayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_height="match_parent"
-    android:layout_width="match_parent"
-    android:fitsSystemWindows="true" >
+    android:layout_width="match_parent" >
 
-    <!-- the `LinearLayout` with `orientation="vertical"` moves the content below the `AppBarLayout`. -->
+    <!-- the linear layout with `orientation="vertical"` moves the content below the app bar layout. -->
     <LinearLayout
         android:layout_height="match_parent"
         android:layout_width="match_parent"
         <com.google.android.material.appbar.AppBarLayout
             android:id="@+id/import_export_appbarlayout"
             android:layout_height="wrap_content"
-            android:layout_width="match_parent" >
+            android:layout_width="match_parent"
+            android:background="?android:attr/colorBackground" >
 
             <androidx.appcompat.widget.Toolbar
                 android:id="@+id/import_export_toolbar"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
-                android:background="?attr/colorPrimaryDark"
-                android:theme="?attr/appBarTextTheme"
-                app:popupTheme="?attr/popupsTheme" />
+                android:layout_width="match_parent" />
         </com.google.android.material.appbar.AppBarLayout>
 
         <ScrollView
                             android:layout_gravity="center_horizontal"
                             android:layout_marginTop="10dp"
                             android:text="@string/kitkat_password_encryption_message"
-                            android:textColor="?android:textColorPrimary"
                             android:textAlignment="center" />
 
                         <!-- OpenKeychain required message. -->
                             android:layout_gravity="center_horizontal"
                             android:layout_marginTop="10dp"
                             android:text="@string/openkeychain_required"
-                            android:textColor="?android:textColorPrimary"
                             android:textAlignment="center" />
                     </LinearLayout>
                 </androidx.cardview.widget.CardView>
                             android:layout_gravity="center_horizontal"
                             android:layout_margin="5dp"
                             android:text="@string/openkeychain_import_instructions"
-                            android:textColor="?android:textColorPrimary"
                             android:textAlignment="center" />
 
                         <Button
                     android:layout_marginStart="15dp"
                     android:layout_marginEnd="15dp"
                     android:text="@string/storage_permission_explanation"
-                    android:textColor="?android:textColorPrimary"
                     android:textAlignment="center" />
             </LinearLayout>
         </ScrollView>
index b1800ff01a48f177205a8dc3d3fe42c20d726d95..b21d6a64635682c3ba36ae5289461baecc79c17d 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2018-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2018-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<!-- `android:fitsSystemWindows="true"` moves the AppBar below the status bar.
-    When it is specified the theme should include `<item name="android:windowTranslucentStatus">true</item>` to make the status bar a transparent, darkened overlay. -->
 <androidx.coordinatorlayout.widget.CoordinatorLayout
     android:id="@+id/logcat_coordinatorlayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_height="match_parent"
-    android:layout_width="match_parent"
-    android:fitsSystemWindows="true" >
+    android:layout_width="match_parent" >
 
     <!-- the LinearLayout with `orientation="vertical"` moves the content below the AppBarLayout. -->
     <LinearLayout
         <com.google.android.material.appbar.AppBarLayout
             android:id="@+id/logcat_appbarlayout"
             android:layout_height="wrap_content"
-            android:layout_width="match_parent" >
+            android:layout_width="match_parent"
+            android:background="?android:attr/colorBackground" >
 
             <androidx.appcompat.widget.Toolbar
                 android:id="@+id/logcat_toolbar"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
-                android:background="?attr/colorPrimaryDark"
-                android:theme="?attr/appBarTextTheme"
-                app:popupTheme="?attr/popupsTheme" />
+                android:layout_width="match_parent" />
         </com.google.android.material.appbar.AppBarLayout>
 
         <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
index 5e330e2418fa072ab8fcf19e12a86f4949565d83..419aed34e22aad8b30443023242d119a9cab9e43 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2015-2017,2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2015-2017,2019-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>>.
 
         android:layout_height="match_parent"
         android:layout_width="match_parent" >
 
-        <!-- The relative layout contains the AdView and the coordinator layout, which contains the rest of the views.
-            `android:fitsSystemWindows="true"` moves the toolbar below the system status bar but lets the drawers slide under the translucent status bar.
-            When it is specified, the theme should include `<item name="android:windowTranslucentStatus">true</item>`. -->
+        <!-- The relative layout contains the AdView and the coordinator layout, which contains the rest of the views. -->
         <RelativeLayout
             android:id="@+id/main_content_relativelayout"
             android:layout_height="match_parent"
-            android:layout_width="match_parent"
-            android:fitsSystemWindows="true" >
+            android:layout_width="match_parent" >
 
             <!-- Include the AdView.  For the standard flavor, this just includes a TextView with `visibility="gone"`. -->
             <include layout="@layout/adview" />
                 android:focusable="true"
                 android:focusableInTouchMode="true" >
 
-                <!-- The theme has to be defined here because the activity uses a `NoActionBar` theme. -->
                 <com.google.android.material.appbar.AppBarLayout
                     android:id="@+id/appbar_layout"
                     android:layout_height="wrap_content"
-                    android:layout_width="match_parent"
-                    android:theme="@style/PrivacyBrowserAppBarLight" >
+                    android:layout_width="match_parent" >
 
+                    <!-- The toolbar.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
                     <androidx.appcompat.widget.Toolbar
                         android:id="@+id/toolbar"
                         android:layout_height="wrap_content"
                         android:layout_width="match_parent"
-                        app:layout_scrollFlags="scroll|enterAlways|snap"
-                        android:visibility="gone" />
+                        android:visibility="gone"
+                        app:layout_scrollFlags="scroll|enterAlways|snap" />
 
-                    <!-- The find on page linear layout.  It is initially `visibility="gone"`. -->
+                    <!-- The find on page linear layout.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
                     <LinearLayout
                         android:id="@+id/find_on_page_linearlayout"
                         android:layout_height="wrap_content"
 
                         <ImageView
                             android:id="@+id/close_find"
-                            android:src="@drawable/close_light"
+                            android:src="@drawable/close_day"
                             android:layout_width="35dp"
                             android:layout_height="35dp"
                             android:layout_marginStart="4dp"
                             android:onClick="closeFindOnPage" />
                     </LinearLayout>
 
+                    <!-- The tab linear layout.  It sets the background to the right of the add tab button.  It is initially `visibility="gone"` so it doesn't display while the blocklists are loading. -->
                     <LinearLayout
                         android:id="@+id/tabs_linearlayout"
                         android:layout_height="wrap_content"
                         android:layout_width="wrap_content"
                         android:orientation="horizontal"
-                        app:layout_scrollFlags="scroll|enterAlways|snap"
-                        android:visibility="gone" >
+                        android:visibility="gone"
+                        app:layout_scrollFlags="scroll|enterAlways|snap" >
 
                         <!-- `android:background="?attr/selectableItemBackground"` adds a ripple animation on touch. -->
                         <ImageView
                             android:layout_gravity="center_vertical"
                             android:paddingStart="10dp"
                             android:paddingEnd="10dp"
-                            android:src="@drawable/close_light"
+                            android:src="@drawable/close_day"
                             android:tint="?attr/addTabIconTintColor"
                             android:background="?attr/selectableItemBackground"
                             android:onClick="closeTab"
                             android:layout_gravity="center_vertical"
                             android:paddingStart="10dp"
                             android:paddingEnd="10dp"
-                            android:src="@drawable/add_light"
+                            android:src="@drawable/add_day"
                             android:tint="?attr/addTabIconTintColor"
                             android:background="?attr/selectableItemBackground"
                             android:onClick="addTab"
             android:layout_height="match_parent"
             android:layout_width="wrap_content"
             android:layout_gravity="start"
-            app:headerLayout="@layout/navigation_header"
             app:menu="@menu/webview_navigation_menu"
             app:itemIconTint="?attr/navigationIconTintColor" />
 
             android:layout_margin="10dp"
             android:textSize="16sp"
             android:textAlignment="center"
-            android:textColor="?android:textColorPrimary" />
+            android:textColor="?android:attr/textColorPrimary" />
     </RelativeLayout>
 </FrameLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/navigation_header.xml b/app/src/main/res/layout/navigation_header.xml
deleted file mode 100644 (file)
index 3eb496d..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  Copyright © 2016-2018 Soren Stoutner <soren@stoutner.com>.
-
-  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
-
-  Privacy Browser is free software: you can redistribute it and/or modify
-  it under the terms of the GNU General Public License as published by
-  the Free Software Foundation, either version 3 of the License, or
-  (at your option) any later version.
-
-  Privacy Browser is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public License
-  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
-
-<TextView
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/navigationText"
-    android:layout_height="wrap_content"
-    android:layout_width="match_parent"
-    android:text="@string/navigation"
-    android:textStyle="bold"
-    android:textSize="20sp"
-    android:background="?attr/navigationHeaderBackground"
-    android:textColor="?attr/navigationHeaderTextColor" />
\ No newline at end of file
index 3956b5b8505523b924688d409a67d49e68c50c6c..fc339ac455b4cd5ffb4153d063d73ac541c9fd29 100644 (file)
@@ -78,7 +78,6 @@
             android:layout_width="wrap_content"
             android:layout_gravity="center_horizontal"
             android:text="@string/storage_permission_explanation"
-            android:textColor="?android:textColorPrimary"
             android:textAlignment="center" />
     </LinearLayout>
 </ScrollView>
\ No newline at end of file
index 4154874eaea68c44d880145dbddfca3645a977e8..b762e84739b0e62906b71e31c5920eb75249e8d4 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -29,8 +29,7 @@
         android:id="@+id/pinned_ssl_certificate_mismatch_tablayout"
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
-        app:tabMode="scrollable"
-        android:theme="?attr/dialogTabLayoutTheme" />
+        app:tabMode="scrollable" />
 
     <ScrollView
         android:layout_height="wrap_content"
index 5021ab0de55847e9e806582b1f3ae3301adc7222..186d3c55499d9a5d9e6a3cf879db6bc1edbeba74 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -31,5 +31,4 @@
     android:paddingTop="8dp"
     android:paddingBottom="8dp"
     android:textSize="18sp"
-    android:textColor="?attr/appbarSpinnerTextColorSelector"
-    android:background="?attr/spinnerBackground" />
\ No newline at end of file
+    android:textColor="@color/checked_text_color_selector" />
\ No newline at end of file
index 4d70750541d2de65193f67ceac1b18d713c477a1..d9826b81b0b09779fa493327f750da0d62240a3b 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2017-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2017-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -28,4 +28,4 @@
     android:paddingStart="10dp"
     android:paddingEnd="10dp"
     android:textSize="18sp"
-    android:textColor="?attr/spinnerHeaderTextColor" />
\ No newline at end of file
+    android:textColor="?android:attr/textColorPrimary" />
\ No newline at end of file
index 04d63f908f113d1a9870c721fd3f7cb508bf6ee6..342b606fbea3108cf89b5883c4f42f6202c1ca6b 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2018-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2018-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<!-- `android:fitsSystemWindows="true"` moves the AppBar below the status bar.
-    When it is specified the theme should include `<item name="android:windowTranslucentStatus">true</item>` to make the status bar a transparent, darkened overlay. -->
 <androidx.coordinatorlayout.widget.CoordinatorLayout
     android:id="@+id/requests_coordinatorlayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_height="match_parent"
-    android:layout_width="match_parent"
-    android:fitsSystemWindows="true" >
+    android:layout_width="match_parent" >
 
-    <!-- the LinearLayout with `orientation="vertical"` moves the content below the AppBarLayout. -->
+    <!-- the linear layout with `orientation="vertical"` moves the content below the app bar layout. -->
     <LinearLayout
         android:layout_height="match_parent"
         android:layout_width="match_parent"
         <com.google.android.material.appbar.AppBarLayout
             android:id="@+id/requests_appbarlayout"
             android:layout_height="wrap_content"
-            android:layout_width="match_parent" >
+            android:layout_width="match_parent"
+            android:background="?android:attr/colorBackground" >
 
             <androidx.appcompat.widget.Toolbar
                 android:id="@+id/requests_toolbar"
                 android:layout_height="wrap_content"
-                android:layout_width="match_parent"
-                android:background="?attr/colorPrimaryDark"
-                android:theme="?attr/appBarTextTheme"
-                app:popupTheme="?attr/popupsTheme" />
+                android:layout_width="match_parent" />
         </com.google.android.material.appbar.AppBarLayout>
 
-        <!-- `android:dividerHeight` must be at least `1dp` or the `ListView` is inconsistent in calculating how many bookmarks are displayed. -->
+        <!-- `android:dividerHeight` must be at least `1dp` or the list view is inconsistent in calculating how many bookmarks are displayed. -->
         <ListView
             android:id="@+id/requests_listview"
             android:layout_height="match_parent"
index fee278268597a6ad143360960f39291f04c770ae..aacdca0e7bb2052bb0cf561c7c85a2cc4fc3f357 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2018 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2018,2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -23,7 +23,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
-    android:orientation="horizontal">
+    android:orientation="horizontal" >
 
     <TextView
         android:id="@+id/request_item_disposition"
index 5e1765ee85169173006c31be56cca0251cc93f2e..63e8c7e18af96f8dfcb46d52ae36d80ec0f8914c 100644 (file)
             android:layout_width="wrap_content"
             android:layout_gravity="center_horizontal"
             android:text="@string/storage_permission_explanation"
-            android:textColor="?android:textColorPrimary"
             android:textAlignment="center" />
     </LinearLayout>
 </ScrollView>
\ No newline at end of file
index 5615013ba6b91160ccbf96af08c49701d18066b8..7a5ef004dd0bcbdb3194ea62b19456c41a39f776 100644 (file)
@@ -78,7 +78,6 @@
             android:layout_width="wrap_content"
             android:layout_gravity="center_horizontal"
             android:text="@string/storage_permission_explanation"
-            android:textColor="?android:textColorPrimary"
             android:textAlignment="center" />
     </LinearLayout>
 </ScrollView>
\ No newline at end of file
index 0a2bf6fc6c892998f2ff56706babb48d6558b71b..cda8751c19e61b94508187703609e05d69a98606 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2016-2017,2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2016-2017,2019-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -34,7 +34,7 @@
             android:layout_height="wrap_content"
             android:layout_width="wrap_content"
             android:layout_gravity="center_horizontal"
-            android:textColor="@color/red_a700"
+            android:textColor="?attr/redText"
             android:textStyle="bold"/>
 
         <!-- URL. -->
index 7e03bc2e52b27ddc2691a876717d22ebbf67991b..42782a8cd808e6440a351463cdb2df6c273c4968 100644 (file)
@@ -24,7 +24,7 @@
     android:layout_height="match_parent"
     android:layout_width="wrap_content"
     android:orientation="horizontal"
-    tools:ignore="UseCompoundDrawables">
+    tools:ignore="UseCompoundDrawables" >
 
     <ImageView
         android:id="@+id/favorite_icon_imageview"
index 59b6cd63f0adef128c78d29305c0f3f4237aecf7..4dd5016ed1831a694cec2b698b4e3431982833dd 100644 (file)
@@ -22,6 +22,6 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_height="match_parent"
     android:layout_width="match_parent"
-    android:padding="10dp"
+    android:padding="15dp"
     android:textColor="?attr/redText"
     android:text="@string/no_ssl_certificate" />
\ No newline at end of file
index e099fc8b28431cc212e096cb00d41d42e83dd851..50411df04b527d9b9b2cfb53ab49860b9a20890e 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2016-2018 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2016-2018,2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -38,7 +38,7 @@
         android:id="@+id/history_url_textview"
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
-        android:textColor="?attr/urlHistoryText"
+        android:textColor="?android:attr/textColorPrimary"
         android:textSize="16sp"
         android:layout_margin="10dp"
         android:lines="1"
index 36f67a14a334949a33518603060c8199f8c98d2e..54c77d2741f182b85bbdc7727a0d57f257a32eaa 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2015-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2015-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -29,7 +29,7 @@
     <ImageView
         android:id="@+id/back_arrow"
         android:src="@drawable/back"
-        android:tint="?attr/viewSourceIconTintColor"
+        android:tint="?attr/colorControlNormal"
         android:layout_height="wrap_content"
         android:layout_width="wrap_content"
         android:layout_centerVertical="true"
index 3c3a07690e14e33508f1b37f3d0df009c5be960b..4a3cc64790f0d8dabbaa7f218d5ce8f9d9264548 100644 (file)
@@ -18,8 +18,7 @@
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<!-- `android:fitsSystemWindows="true"` moves the AppBar below the status bar.  When it is specified the theme should include `<item name="android:windowTranslucentStatus">true</item>` to make the status bar a transparent, darkened overlay.
-    Setting the layout root to be `focusableInTouchMode` prevents the URL toolbar from stealing focus on launch and opening the keyboard. -->
+<!-- Setting the layout root to be `focusableInTouchMode` prevents the URL toolbar from stealing focus on launch and opening the keyboard. -->
 <androidx.coordinatorlayout.widget.CoordinatorLayout
     android:id="@+id/view_source_coordinatorlayout"
     xmlns:android="http://schemas.android.com/apk/res/android"
@@ -27,7 +26,6 @@
     tools:context="com.stoutner.privacybrowser.activities.ViewSourceActivity"
     android:layout_height="match_parent"
     android:layout_width="match_parent"
-    android:fitsSystemWindows="true"
     android:focusable="true"
     android:focusableInTouchMode="true" >
 
         android:layout_width="match_parent"
         android:orientation="vertical" >
 
-        <!-- The app bar layout theme may not need to be specified here.  But more testing on all APIs needs to be done before it can be removed. -->
         <com.google.android.material.appbar.AppBarLayout
             android:layout_height="wrap_content"
             android:layout_width="match_parent"
-            android:theme="@style/PrivacyBrowserAppBarLight" >
+            android:background="?android:attr/colorBackground" >
 
             <!-- The frame layout allows the toolbar and the progress bar to occupy the same space. -->
             <FrameLayout
index 0243a062ee2aea65ee3f356bd142cb8c3bdc15c5..1a9418d1e90f14d6c57b950db605a24820291554 100644 (file)
@@ -24,8 +24,9 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="?attr/webViewBackground" >
+    android:background="?android:attr/colorBackground" >
 
+    <!-- TODO.  The background and the visibility might not be necessary. -->
     <!-- The WebView is initially `visibility="invisible"` so that the background color matches the theme. -->
     <com.stoutner.privacybrowser.views.NestedScrollWebView
         android:id="@+id/nestedscroll_webview"
index 9b8726b5de8d3ab018865ff088f5262470a5e9f7..1cb7f3daaab6c48f02a777ab3cbf2510b9bb4467 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2016-2019 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2016-2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -34,7 +34,7 @@
         <item
             android:id="@+id/home"
             android:title="@string/home"
-            android:icon="@drawable/home_enabled_light"
+            android:icon="@drawable/home_enabled_day"
             android:orderInCategory="20" />
 
         <item
@@ -58,7 +58,7 @@
         <item
             android:id="@+id/open"
             android:title="@string/open"
-            android:icon="@drawable/proxy_enabled_light"
+            android:icon="@drawable/proxy_enabled_day"
             android:orderInCategory="60" />
     </group>
 
         <item
             android:id="@+id/requests"
             android:title="@string/requests"
-            android:icon="@drawable/block_ads_enabled_light"
+            android:icon="@drawable/block_ads_enabled_day"
             android:orderInCategory="70" />
 
         <item
             android:id="@+id/downloads"
             android:title="@string/downloads"
-            android:icon="@drawable/downloads_enabled_light"
+            android:icon="@drawable/downloads_enabled_day"
             android:orderInCategory="80" />
     </group>
 
@@ -98,7 +98,7 @@
         <item
             android:id="@+id/import_export"
             android:title="@string/import_export"
-            android:icon="@drawable/import_export_light"
+            android:icon="@drawable/import_export_day"
             android:orderInCategory="110" />
 
         <item
         <item
             android:id="@+id/about"
             android:title="@string/about"
-            android:icon="@drawable/about_light"
+            android:icon="@drawable/about_day"
             android:orderInCategory="140" />
     </group>
 </menu>
\ No newline at end of file
index a5c5f4f3b88da68ee640b0e42c5ea158bd30a380..d298b13411ba03e13ea2b7efe115da0cfe45a263 100644 (file)
@@ -48,7 +48,7 @@
         android:title="@string/first_party_cookies"
         android:orderInCategory="400"
         android:checkable="true"
-        android:icon="@drawable/cookies_disabled_light"
+        android:icon="@drawable/cookies_disabled_day"
         app:showAsAction="never" />
 
     <item
@@ -63,7 +63,7 @@
         android:title="@string/dom_storage"
         android:orderInCategory="600"
         android:checkable="true"
-        android:icon="@drawable/dom_storage_disabled_light"
+        android:icon="@drawable/dom_storage_disabled_day"
         app:showAsAction="never" />
 
     <item
index 76b360c0ce808f17698bf35f8473674a1bcbb7a3..fc74a4b40dc7a81e289e5a9d4ac52d8db5aad4ed 100644 (file)
         <string name="display_additional_app_bar_icons">Weitere Icons in der Titelleiste</string>
         <string name="display_additional_app_bar_icons_summary">Zeigt in der App-Leiste die Icons zum Neu-Laden der Webseite und - sofern Platz vorhanden ist -
             zum Umschalten von Cookies und DOM Storage.</string>
-        <string name="dark_theme">Dunkles Thema</string>
-        <string name="dark_theme_summary">Wechseln des Themas startet Privacy Browser neu.</string>
         <string name="night_mode">Nacht-Modus</string>
         <string name="night_mode_summary">Aktivieren des Nacht-Modus aktiviert JavaScript für alle Webseiten.</string>
         <string name="wide_viewport_preference">Breiter Anzeigebereich</string>
index 04d6d65ab7f668730131d51bd6d5b14ebed7a4f3..f2c2135aa570a3aac5b1793dc79856d1f5520672 100644 (file)
         <string name="scroll_app_bar_summary">Desplazar la barra de aplicaciones desde la parte superior de la pantalla cuando el WebView se desplaza hacia abajo.</string>
         <string name="display_additional_app_bar_icons">Mostrar iconos adicionales en la barra de aplicación</string>
         <string name="display_additional_app_bar_icons_summary">Mostrar iconos en la barra de aplicaciones para refrescar el WebView y, si hay espacio, para alternar entre cookies y almacenamiento DOM.</string>
-        <string name="dark_theme">Tema oscuro</string>
-        <string name="dark_theme_summary">Cambiar el tema reiniciará Navegador Privado.</string>
         <string name="night_mode">Modo noche</string>
         <string name="night_mode_summary">Activar el modo noche también activará javascript para todas las páginas web.</string>
         <string name="wide_viewport_preference">Vista amplia</string>
index 9571fb496941a7e7992d1abb914418b2a23b4748..fda1edc1010ca16e890807bf6d68f82cfc3b162e 100644 (file)
         <string name="display_additional_app_bar_icons">Icônes supplémentaires dans la barre d\'applications</string>
         <string name="display_additional_app_bar_icons_summary">Affichez des icônes dans la barre d\'applications pour actualiser WebView et, le cas échéant,
             pour activer/désactiver les cookies et le stockage DOM.</string>
-        <string name="dark_theme">Thème sombre</string>
-        <string name="dark_theme_summary">Le changement de thème redémarre Privacy Browser.</string>
         <string name="night_mode">Mode nuit</string>
         <string name="night_mode_summary">L\'activation du mode nuit activera également JavaScript pour toutes les pages Web.</string>
         <string name="wide_viewport_preference">Large fenêtre</string>
index f02404ecf25e2c15d1eb1df92cfc818484ea1c20..6ac1defe6c3294f116688812f8485d84ea112a6c 100644 (file)
         <string name="display_additional_app_bar_icons">Mostra icone addizionali nella barra dell\'applicazione</string>
         <string name="display_additional_app_bar_icons_summary">Mostra nella barra dell\'applicazione le icone per l\'aggiornamento di WebView e, se lo spazio è sufficiente,
             per l\'attivazione dei cookie e del DOM storage.</string>
-        <string name="dark_theme">Tema Dark</string>
-        <string name="dark_theme_summary">La modifica del tema provocherà il riavvio di Privacy Browser.</string>
         <string name="night_mode">Modalità Notte</string>
         <string name="night_mode_summary">L\'abilitazione della modalità notte attiva anche JavaScript per tutte le pagine web.</string>
         <string name="wide_viewport_preference">Finestra grande</string>
diff --git a/app/src/main/res/values-night-v23/styles.xml b/app/src/main/res/values-night-v23/styles.xml
new file mode 100644 (file)
index 0000000..cfa5356
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2015-2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<resources>
+    <style name="PrivacyBrowser" parent="Theme.AppCompat.DayNight.NoActionBar" >
+        <!-- Main Items. -->
+        <item name="android:statusBarColor">?android:attr/colorBackground</item>
+        <item name="android:windowLightStatusBar">false</item>
+        <item name="windowActionModeOverlay">true</item>  <!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar. -->
+
+        <!-- Colors.  -->
+        <item name="android:actionModeBackground">?android:attr/colorBackground</item>
+        <item name="android:textColorHighlight">@color/blue_800</item>
+        <item name="blueTextColor">@color/blue_700</item>
+        <item name="blueTitleTextColor">@color/blue_600</item>
+        <item name="buttonBackgroundColorSelector">@color/button_background_color_selector_night</item>
+        <item name="buttonTextColorSelector">@color/button_text_color_selector_night</item>
+        <item name="colorAccent">@color/blue_600</item>
+        <item name="domainSettingsIconTintColor">@color/blue_800</item>
+        <item name="redText">@color/red_900</item>
+        <item name="sslTitle">@color/blue_700</item>
+
+        <!-- Tints. -->
+        <item name="addTabIconTintColor">@color/gray_400</item>
+        <item name="findOnPageIconTintColor">@color/blue_600</item>
+        <item name="navigationIconTintColor">@color/blue_600</item>
+        <item name="progressTintColor">@color/blue_600</item>
+
+        <!-- Drawables. -->
+        <item name="listSelectorDrawable">@drawable/list_selector_night</item>
+
+        <!-- Icons. -->
+        <item name="aboutIcon">@drawable/about_night</item>
+        <item name="addIcon">@drawable/add_night</item>
+        <item name="bookmarksIcon">@drawable/bookmarks_night</item>
+        <item name="clearIcon">@drawable/clear_night</item>
+        <item name="copyIcon">@drawable/copy_night</item>
+        <item name="createBookmarkIcon">@drawable/create_bookmark_night</item>
+        <item name="createFolderIcon">@drawable/create_folder_night</item>
+        <item name="deleteIcon">@drawable/delete_night</item>
+        <item name="editIcon">@drawable/edit_night</item>
+        <item name="moveToFolderIcon">@drawable/move_to_folder_night</item>
+        <item name="saveIcon">@drawable/save_night</item>
+        <item name="selectAllIcon">@drawable/select_all_night</item>
+        <item name="sortIcon">@drawable/sort_night</item>
+    </style>
+
+    <style name="PrivacyBrowserSettings" parent="Theme.AppCompat.DayNight" >
+        <!-- Main Items. -->
+        <item name="android:statusBarColor">?android:attr/colorBackground</item>
+        <item name="android:windowLightStatusBar">?attr/isLightTheme</item>
+
+        <!-- Colors. -->
+        <item name="colorAccent">@color/blue_600</item>
+        <item name="colorPrimary">?android:attr/colorBackground</item>  <!-- `colorPrimary` sets the background color of the app bar. -->
+
+        <!-- Icons. -->
+        <item name="appThemeIcon">@drawable/theme_night</item>
+        <item name="downloadIcon">@drawable/downloads_enabled_night</item>
+        <item name="fontSizeIcon">@drawable/font_size_night</item>
+        <item name="homepageIcon">@drawable/home_enabled_night</item>
+        <item name="searchIcon">@drawable/search_enabled_night</item>
+        <item name="userAgentIcon">@drawable/user_agent_night</item>
+    </style>
+
+    <style name="PrivacyBrowserAlertDialog" parent="Theme.AppCompat.DayNight.Dialog.Alert" >
+        <item name="colorAccent">@color/blue_600</item>
+    </style>
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-night-v27/styles.xml b/app/src/main/res/values-night-v27/styles.xml
new file mode 100644 (file)
index 0000000..b7dcc56
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2015-2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<resources>
+    <style name="PrivacyBrowser" parent="Theme.AppCompat.DayNight.NoActionBar" >
+        <!-- Main Items. -->
+        <item name="android:navigationBarColor">?android:attr/colorBackground</item>
+        <item name="android:statusBarColor">?android:attr/colorBackground</item>
+        <item name="android:windowLightNavigationBar">false</item>
+        <item name="android:windowLightStatusBar">false</item>
+        <item name="windowActionModeOverlay">true</item>  <!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar. -->
+
+        <!-- Colors.  -->
+        <item name="android:actionModeBackground">?android:attr/colorBackground</item>
+        <item name="android:textColorHighlight">@color/blue_800</item>
+        <item name="blueTextColor">@color/blue_700</item>
+        <item name="blueTitleTextColor">@color/blue_600</item>
+        <item name="buttonBackgroundColorSelector">@color/button_background_color_selector_night</item>
+        <item name="buttonTextColorSelector">@color/button_text_color_selector_night</item>
+        <item name="colorAccent">@color/blue_600</item>
+        <item name="domainSettingsIconTintColor">@color/blue_800</item>
+        <item name="redText">@color/red_900</item>
+        <item name="sslTitle">@color/blue_700</item>
+
+        <!-- Tints. -->
+        <item name="addTabIconTintColor">@color/gray_400</item>
+        <item name="findOnPageIconTintColor">@color/blue_600</item>
+        <item name="navigationIconTintColor">@color/blue_600</item>
+        <item name="progressTintColor">@color/blue_600</item>
+
+        <!-- Drawables. -->
+        <item name="listSelectorDrawable">@drawable/list_selector_night</item>
+
+        <!-- Icons. -->
+        <item name="aboutIcon">@drawable/about_night</item>
+        <item name="addIcon">@drawable/add_night</item>
+        <item name="bookmarksIcon">@drawable/bookmarks_night</item>
+        <item name="clearIcon">@drawable/clear_night</item>
+        <item name="copyIcon">@drawable/copy_night</item>
+        <item name="createBookmarkIcon">@drawable/create_bookmark_night</item>
+        <item name="createFolderIcon">@drawable/create_folder_night</item>
+        <item name="deleteIcon">@drawable/delete_night</item>
+        <item name="editIcon">@drawable/edit_night</item>
+        <item name="moveToFolderIcon">@drawable/move_to_folder_night</item>
+        <item name="saveIcon">@drawable/save_night</item>
+        <item name="selectAllIcon">@drawable/select_all_night</item>
+        <item name="sortIcon">@drawable/sort_night</item>
+    </style>
+
+    <style name="PrivacyBrowserSettings" parent="Theme.AppCompat.DayNight" >
+        <!-- Main Items. -->
+        <item name="android:navigationBarColor">?android:attr/colorBackground</item>
+        <item name="android:statusBarColor">?android:attr/colorBackground</item>
+        <item name="android:windowLightNavigationBar">?attr/isLightTheme</item>
+        <item name="android:windowLightStatusBar">?attr/isLightTheme</item>
+
+        <!-- Colors. -->
+        <item name="colorAccent">@color/blue_600</item>
+        <item name="colorPrimary">?android:attr/colorBackground</item>  <!-- `colorPrimary` sets the background color of the app bar. -->
+
+        <!-- Icons. -->
+        <item name="appThemeIcon">@drawable/theme_night</item>
+        <item name="downloadIcon">@drawable/downloads_enabled_night</item>
+        <item name="fontSizeIcon">@drawable/font_size_night</item>
+        <item name="homepageIcon">@drawable/home_enabled_night</item>
+        <item name="searchIcon">@drawable/search_enabled_night</item>
+        <item name="userAgentIcon">@drawable/user_agent_night</item>
+    </style>
+
+    <style name="PrivacyBrowserAlertDialog" parent="Theme.AppCompat.DayNight.Dialog.Alert" >
+        <item name="colorAccent">@color/blue_600</item>
+    </style>
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml
new file mode 100644 (file)
index 0000000..a585808
--- /dev/null
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2015-2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<resources>
+    <style name="PrivacyBrowser" parent="Theme.AppCompat.DayNight.NoActionBar" >
+        <!-- Main Items. -->
+        <item name="windowActionModeOverlay">true</item>  <!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar. -->
+
+        <!-- Colors.  -->
+        <item name="android:actionModeBackground">?android:attr/colorBackground</item>
+        <item name="android:textColorHighlight">@color/blue_800</item>
+        <item name="blueTextColor">@color/blue_700</item>
+        <item name="blueTitleTextColor">@color/blue_600</item>
+        <item name="buttonBackgroundColorSelector">@color/button_background_color_selector_night</item>
+        <item name="buttonTextColorSelector">@color/button_text_color_selector_night</item>
+        <item name="colorAccent">@color/blue_600</item>
+        <item name="domainSettingsIconTintColor">@color/blue_800</item>
+        <item name="redText">@color/red_900</item>
+        <item name="sslTitle">@color/blue_700</item>
+
+        <!-- Tints. -->
+        <item name="addTabIconTintColor">@color/gray_400</item>
+        <item name="findOnPageIconTintColor">@color/blue_600</item>
+        <item name="navigationIconTintColor">@color/blue_600</item>
+        <item name="progressTintColor">@color/blue_600</item>
+
+        <!-- Drawables. -->
+        <item name="listSelectorDrawable">@drawable/list_selector_night</item>
+
+        <!-- Icons. -->
+        <item name="aboutIcon">@drawable/about_night</item>
+        <item name="addIcon">@drawable/add_night</item>
+        <item name="bookmarksIcon">@drawable/bookmarks_night</item>
+        <item name="clearIcon">@drawable/clear_night</item>
+        <item name="copyIcon">@drawable/copy_night</item>
+        <item name="createBookmarkIcon">@drawable/create_bookmark_night</item>
+        <item name="createFolderIcon">@drawable/create_folder_night</item>
+        <item name="deleteIcon">@drawable/delete_night</item>
+        <item name="editIcon">@drawable/edit_night</item>
+        <item name="moveToFolderIcon">@drawable/move_to_folder_night</item>
+        <item name="saveIcon">@drawable/save_night</item>
+        <item name="selectAllIcon">@drawable/select_all_night</item>
+        <item name="sortIcon">@drawable/sort_night</item>
+    </style>
+
+    <style name="PrivacyBrowserSettings" parent="Theme.AppCompat.DayNight" >
+        <!-- Colors. -->
+        <item name="colorAccent">@color/blue_600</item>
+        <item name="colorPrimary">?android:attr/colorBackground</item>  <!-- `colorPrimary` sets the background color of the app bar. -->
+
+        <!-- Icons. -->
+        <item name="appThemeIcon">@drawable/theme_night</item>
+        <item name="downloadIcon">@drawable/downloads_enabled_night</item>
+        <item name="fontSizeIcon">@drawable/font_size_night</item>
+        <item name="homepageIcon">@drawable/home_enabled_night</item>
+        <item name="searchIcon">@drawable/search_enabled_night</item>
+        <item name="userAgentIcon">@drawable/user_agent_night</item>
+    </style>
+
+    <style name="PrivacyBrowserAlertDialog" parent="Theme.AppCompat.DayNight.Dialog.Alert" >
+        <item name="colorAccent">@color/blue_600</item>
+    </style>
+</resources>
\ No newline at end of file
index e1fc813e317fe5c0e7d7ab28aeeace50d036a414..b43d56d00656164341108de0ec14651c31396363 100644 (file)
         <string name="scroll_app_bar_summary">Прокручивает панель приложения вверху экрана при прокрутке WebView вниз.</string>
         <string name="display_additional_app_bar_icons">Отображать дополнительные значки на панели приложения</string>
         <string name="display_additional_app_bar_icons_summary">Отображать значки на панели приложения для обновления WebView и, при наличии места, для переключения файлов cookie и хранилища DOM</string>
-        <string name="dark_theme">Темная тема</string>
-        <string name="dark_theme_summary">Изменение темы перезапускает Privacy Browser.</string>
         <string name="night_mode">Ночной режим</string>
         <string name="night_mode_summary">Включение ночного режима также включает JavaScript для всех веб-страниц.</string>
         <string name="wide_viewport_preference">Широкий вид просмотра</string>
index 6a0ad6f717f02a5f0e40b8a3a054ef4748b184dc..1de6c0a4bbe87a76ba55ec728d9dfc7a83e8d38b 100644 (file)
         <string name="scroll_app_bar_summary">WebView aşağı kaydırıldığında, ekranın üst kısmından uygulama çubuğunu kaydırır.</string>
         <string name="display_additional_app_bar_icons">Ek uygulama çubuğu simgelerini göster</string>
         <string name="display_additional_app_bar_icons_summary">WebView\'ı yenilemek, yer varsa çerezleri ve DOM depolamayı değiştirmek için simgeleri uygulama çubuğunda gösterir.</string>
-        <string name="dark_theme">Koyu tema</string>
-        <string name="dark_theme_summary">Temayı değiştirmek Privacy Browser\'ı yeniden başlatır.</string>
         <string name="night_mode">Gece modu</string>
         <string name="night_mode_summary">Gece modunu etkinleştirmek, aynı zamanda tüm sitelerde JavaScript\'i etkinleştirir.</string>
         <string name="wide_viewport_preference">Geniş ekran</string>
diff --git a/app/src/main/res/values-v23/styles.xml b/app/src/main/res/values-v23/styles.xml
new file mode 100644 (file)
index 0000000..77e6829
--- /dev/null
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2015-2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<resources>
+    <style name="PrivacyBrowser" parent="Theme.AppCompat.DayNight.NoActionBar" >
+        <!-- Main Items. -->
+        <item name="android:statusBarColor">?android:attr/colorBackground</item>
+        <item name="android:windowLightStatusBar">true</item>
+        <item name="windowActionModeOverlay">true</item>  <!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar. -->
+
+        <!-- Colors. -->
+        <item name="android:actionModeBackground">?android:attr/colorBackground</item>
+        <item name="android:textColorHighlight">@color/blue_200</item>
+        <item name="blueTextColor">@color/blue_700</item>
+        <item name="blueTitleTextColor">@color/blue_900</item>
+        <item name="buttonBackgroundColorSelector">@color/button_background_color_selector_day</item>
+        <item name="buttonTextColorSelector">@color/button_text_color_selector_day</item>
+        <item name="colorAccent">@color/blue_700</item>
+        <item name="domainSettingsIconTintColor">@color/blue_800</item>
+        <item name="redText">@color/red_a700</item>
+        <item name="sslTitle">@color/blue_900</item>
+
+        <!-- Tints. -->
+        <item name="addTabIconTintColor">@color/gray_700</item>
+        <item name="findOnPageIconTintColor">@color/blue_800</item>
+        <item name="navigationIconTintColor">@color/blue_800</item>
+        <item name="progressTintColor">@color/blue_700</item>
+
+        <!-- Drawables. -->
+        <item name="listSelectorDrawable">@drawable/list_selector_day</item>
+
+        <!-- Icons. -->
+        <item name="aboutIcon">@drawable/about_day</item>
+        <item name="addIcon">@drawable/add_day</item>
+        <item name="bookmarksIcon">@drawable/bookmarks_day</item>
+        <item name="clearIcon">@drawable/clear_day</item>
+        <item name="copyIcon">@drawable/copy_day</item>
+        <item name="createBookmarkIcon">@drawable/create_bookmark_day</item>
+        <item name="createFolderIcon">@drawable/create_folder_day</item>
+        <item name="deleteIcon">@drawable/delete_day</item>
+        <item name="editIcon">@drawable/edit_day</item>
+        <item name="moveToFolderIcon">@drawable/move_to_folder_day</item>
+        <item name="saveIcon">@drawable/save_day</item>
+        <item name="selectAllIcon">@drawable/select_all_day</item>
+        <item name="sortIcon">@drawable/sort_day</item>
+    </style>
+
+    <style name="PrivacyBrowserSettings" parent="Theme.AppCompat.DayNight" >
+        <!-- Main Items. -->
+        <item name="android:statusBarColor">?android:attr/colorBackground</item>
+        <item name="android:windowLightStatusBar">?attr/isLightTheme</item>
+
+        <!-- Colors. -->
+        <item name="colorAccent">@color/blue_700</item>
+        <item name="colorPrimary">?android:attr/colorBackground</item>  <!-- `colorPrimary` sets the background color of the app bar. -->
+
+        <!-- Icons. -->
+        <item name="appThemeIcon">@drawable/theme_day</item>
+        <item name="downloadIcon">@drawable/downloads_enabled_day</item>
+        <item name="fontSizeIcon">@drawable/font_size_day</item>
+        <item name="homepageIcon">@drawable/home_enabled_day</item>
+        <item name="searchIcon">@drawable/search_enabled_day</item>
+        <item name="userAgentIcon">@drawable/user_agent_day</item>
+    </style>
+
+    <style name="PrivacyBrowserAlertDialog" parent="Theme.AppCompat.DayNight.Dialog.Alert" >
+        <item name="colorAccent">@color/blue_700</item>
+    </style>
+</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-v27/styles.xml b/app/src/main/res/values-v27/styles.xml
new file mode 100644 (file)
index 0000000..4c54246
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!--
+  Copyright © 2015-2020 Soren Stoutner <soren@stoutner.com>.
+
+  This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
+
+  Privacy Browser is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  Privacy Browser is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
+
+<resources>
+    <style name="PrivacyBrowser" parent="Theme.AppCompat.DayNight.NoActionBar" >
+        <!-- Main Items. -->
+        <item name="android:navigationBarColor">?android:attr/colorBackground</item>
+        <item name="android:statusBarColor">?android:attr/colorBackground</item>
+        <item name="android:windowLightNavigationBar">true</item>
+        <item name="android:windowLightStatusBar">true</item>
+        <item name="windowActionModeOverlay">true</item>  <!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar. -->
+
+        <!-- Colors. -->
+        <item name="android:actionModeBackground">?android:attr/colorBackground</item>
+        <item name="android:textColorHighlight">@color/blue_200</item>
+        <item name="blueTextColor">@color/blue_700</item>
+        <item name="blueTitleTextColor">@color/blue_900</item>
+        <item name="buttonBackgroundColorSelector">@color/button_background_color_selector_day</item>
+        <item name="buttonTextColorSelector">@color/button_text_color_selector_day</item>
+        <item name="colorAccent">@color/blue_700</item>
+        <item name="domainSettingsIconTintColor">@color/blue_800</item>
+        <item name="redText">@color/red_a700</item>
+        <item name="sslTitle">@color/blue_900</item>
+
+        <!-- Tints. -->
+        <item name="addTabIconTintColor">@color/gray_700</item>
+        <item name="findOnPageIconTintColor">@color/blue_800</item>
+        <item name="navigationIconTintColor">@color/blue_800</item>
+        <item name="progressTintColor">@color/blue_700</item>
+
+        <!-- Drawables. -->
+        <item name="listSelectorDrawable">@drawable/list_selector_day</item>
+
+        <!-- Icons. -->
+        <item name="aboutIcon">@drawable/about_day</item>
+        <item name="addIcon">@drawable/add_day</item>
+        <item name="bookmarksIcon">@drawable/bookmarks_day</item>
+        <item name="clearIcon">@drawable/clear_day</item>
+        <item name="copyIcon">@drawable/copy_day</item>
+        <item name="createBookmarkIcon">@drawable/create_bookmark_day</item>
+        <item name="createFolderIcon">@drawable/create_folder_day</item>
+        <item name="deleteIcon">@drawable/delete_day</item>
+        <item name="editIcon">@drawable/edit_day</item>
+        <item name="moveToFolderIcon">@drawable/move_to_folder_day</item>
+        <item name="saveIcon">@drawable/save_day</item>
+        <item name="selectAllIcon">@drawable/select_all_day</item>
+        <item name="sortIcon">@drawable/sort_day</item>
+    </style>
+
+    <style name="PrivacyBrowserSettings" parent="Theme.AppCompat.DayNight" >
+        <!-- Main Items. -->
+        <item name="android:navigationBarColor">?android:attr/colorBackground</item>
+        <item name="android:statusBarColor">?android:attr/colorBackground</item>
+        <item name="android:windowLightNavigationBar">?attr/isLightTheme</item>
+        <item name="android:windowLightStatusBar">?attr/isLightTheme</item>
+
+        <!-- Colors. -->
+        <item name="colorAccent">@color/blue_700</item>
+        <item name="colorPrimary">?android:attr/colorBackground</item>  <!-- `colorPrimary` sets the background color of the app bar. -->
+
+        <!-- Icons. -->
+        <item name="appThemeIcon">@drawable/theme_day</item>
+        <item name="downloadIcon">@drawable/downloads_enabled_day</item>
+        <item name="fontSizeIcon">@drawable/font_size_day</item>
+        <item name="homepageIcon">@drawable/home_enabled_day</item>
+        <item name="searchIcon">@drawable/search_enabled_day</item>
+        <item name="userAgentIcon">@drawable/user_agent_day</item>
+    </style>
+
+    <style name="PrivacyBrowserAlertDialog" parent="Theme.AppCompat.DayNight.Dialog.Alert" >
+        <item name="colorAccent">@color/blue_700</item>
+    </style>
+</resources>
\ No newline at end of file
index 30cc9844b1a8be80a0adb3d3a994143a6d89f7df..a564c398080e7681c90eb320d0886e42a0217254 100644 (file)
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
 <resources>
-    <attr name="appBarTheme" format="reference" />
-    <attr name="appBarTextTheme" format="reference" />
-    <attr name="dialogTabLayoutTheme" format="reference" />
-    <attr name="popupsTheme" format="reference" />
-    <attr name="tabLayoutTheme" format="reference" />
-
-    <attr name="aboutBackground" format="reference" />
-    <attr name="aboutTitle" format="reference" />
-    <attr name="aboutText" format="reference" />
-    <attr name="appbarSpinnerTextColorSelector" format="reference" />
-    <attr name="buttonBackgroundColorSelector" format="reference" />
-    <attr name="buttonTextColorSelector" format="reference" />
-    <attr name="mainStatusBarBackground" format="reference" />
-    <attr name="redText" format="reference" />
-    <attr name="sslTitle" format="reference" />
-    <attr name="sslHeader" format="reference" />
-    <attr name="spinnerHeaderTextColor" format="reference" />
-    <attr name="spinnerBackground" format="reference" />
-    <attr name="spinnerTextColorSelector" format="reference" />
-    <attr name="urlHistoryText" format="reference" />
-    <attr name="webViewBackground" format="reference" />
-
-    <attr name="navigationHeaderBackground" format="reference" />
-    <attr name="navigationHeaderTextColor" format="reference" />
-
-    <attr name="addTabIconTintColor" format="reference" />
-    <attr name="domainSettingsIconTintColor" format="reference" />
-    <attr name="findOnPageIconTintColor" format="reference" />
-    <attr name="navigationIconTintColor" format="reference" />
-    <attr name="progressTintColor" format="reference" />
-    <attr name="viewSourceIconTintColor" format="reference" />
-
+    <!-- Colors. -->
+    <attr name="aboutBackground" format="color" />
+    <attr name="activatedListViewItemBackground" format="color" />
+    <attr name="blueTextColor" format="color" />
+    <attr name="blueTitleTextColor" format="color" />
+    <attr name="buttonBackgroundColorSelector" format="color" />
+    <attr name="buttonTextColorSelector" format="color" />
+    <attr name="redText" format="color" />
+    <attr name="sslTitle" format="color" />
+    <attr name="spinnerTextColorSelector" format="color" />
+
+    <!-- Tint Colors. -->
+    <attr name="addTabIconTintColor" format="color" />
+    <attr name="domainSettingsIconTintColor" format="color" />
+    <attr name="findOnPageIconTintColor" format="color" />
+    <attr name="navigationIconTintColor" format="color" />
+    <attr name="progressTintColor" format="color" />
+
+    <!-- Drawables.  -->
     <attr name="listSelectorDrawable" format="reference" />
 
+    <!-- Icons. -->
     <attr name="aboutIcon" format="reference" />
-    <attr name="addBookmarkIcon" format="reference" />
-    <attr name="addFolderIcon" format="reference" />
     <attr name="addIcon" format="reference" />
+    <attr name="appThemeIcon" format="reference" />
+    <attr name="bookmarksIcon" format="reference" />
     <attr name="clearIcon" format="reference" />
     <attr name="copyIcon" format="reference" />
+    <attr name="createBookmarkIcon" format="reference" />
+    <attr name="createFolderIcon" format="reference" />
     <attr name="deleteIcon" format="reference" />
     <attr name="downloadIcon" format="reference" />
     <attr name="editIcon" format="reference" />
index 5fa01a5bf41bb0538b3eddb281ca1dece9b7f48d..a1896769a5a75d48235a4fe2b3dec34871b8721e 100644 (file)
         <string name="scroll_app_bar_summary">Scroll the app bar off the top of the screen when the WebView scrolls down.</string>
         <string name="display_additional_app_bar_icons">Display additional app bar icons</string>
         <string name="display_additional_app_bar_icons_summary">Display icons in the app bar for refreshing the WebView and, if there is room, for toggling cookies and DOM storage.</string>
-        <string name="dark_theme">Dark theme</string>
-        <string name="dark_theme_summary">Changing the theme will restart Privacy Browser.</string>
+        <string name="app_theme">App theme</string>
+        <string-array name="app_theme_entries">
+            <item>System default</item>
+            <item>Light</item>
+            <item>Dark</item>
+        </string-array>
+        <string-array name="app_theme_entry_values" translatable="false">  <!-- None of the items in this string array should be translated. -->
+            <item>System default</item>
+            <item>Light</item>
+            <item>Dark</item>
+        </string-array>
         <string name="night_mode">Night mode</string>
         <string name="night_mode_summary">Enabling night mode will also enable JavaScript for all web pages.</string>
         <string name="wide_viewport_preference">Wide viewport</string>
     <string name="download_location_default_value" translatable="false">Auto</string>
     <string name="download_custom_location_default_value" translatable="false" />
     <string name="font_size_default_value" translatable="false">100</string>
+    <string name="app_theme_default_value" translatable="false">System default</string>
 
     <!-- Ad Control. There are no ads in the standard flavor, but these strings must exist because they are referenced in the code. -->
     <string name="google_app_id" translatable="false">Null</string>
index 2cdc1eec7d1d689ece39071b9066033e5ae0a8fe..bead663b5a6e36cd93320ff4e243ab0da88e3749 100644 (file)
   You should have received a copy of the GNU General Public License
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
-<resources
-    xmlns:tools="http://schemas.android.com/tools">
-    <!-- Light theme styles. -->
+<resources>
+    <style name="PrivacyBrowser" parent="Theme.AppCompat.DayNight.NoActionBar" >
+        <!-- Main Items. -->
+        <item name="windowActionModeOverlay">true</item>  <!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar. -->
 
-    <!-- `android:windowTranslucentStatus` makes the system status bar translucent.  When it is specified the root layout should include `android:fitsSystemWindows="true"`. -->
-    <style name="PrivacyBrowserLight" parent="Theme.AppCompat.Light.NoActionBar" >
-        <item name="aboutIcon">@drawable/about_light</item>
-        <item name="addTabIconTintColor">@color/gray_700</item>
+        <!-- Colors. -->
+        <item name="android:actionModeBackground">?android:attr/colorBackground</item>
         <item name="android:textColorHighlight">@color/blue_200</item>
-        <item name="android:textColorPrimary">@color/primary_text_color_selector_light</item>
-        <item name="android:windowTranslucentStatus">true</item>
-        <item name="appBarTheme">@style/PrivacyBrowserAppBarLight</item>
+        <item name="blueTextColor">@color/blue_700</item>
+        <item name="blueTitleTextColor">@color/blue_900</item>
+        <item name="buttonBackgroundColorSelector">@color/button_background_color_selector_day</item>
+        <item name="buttonTextColorSelector">@color/button_text_color_selector_day</item>
         <item name="colorAccent">@color/blue_700</item>
-        <item name="dialogTabLayoutTheme">@style/PrivacyBrowserTabLayoutDialogLight</item>
+        <item name="domainSettingsIconTintColor">@color/blue_800</item>
+        <item name="redText">@color/red_a700</item>
+        <item name="sslTitle">@color/blue_900</item>
+
+        <!-- Tints. -->
+        <item name="addTabIconTintColor">@color/gray_700</item>
         <item name="findOnPageIconTintColor">@color/blue_800</item>
-        <item name="mainStatusBarBackground">@color/gray_500</item>
-        <item name="navigationHeaderBackground">@color/blue_700</item>
-        <item name="navigationHeaderTextColor">@color/white</item>
         <item name="navigationIconTintColor">@color/blue_800</item>
         <item name="progressTintColor">@color/blue_700</item>
-        <item name="redText">@color/red_a700</item>
-        <item name="sslHeader">@color/blue_700</item>
-        <item name="sslTitle">@color/blue_900</item>
-        <item name="urlHistoryText">@color/black</item>
-        <item name="viewSourceIconTintColor">@color/black</item>
-        <item name="webViewBackground">@color/gray_50</item>
-    </style>
 
-    <!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar. -->
-    <style name="PrivacyBrowserLight.SecondaryActivity" >
-        <item name="windowActionModeOverlay">true</item>
-        <item name="android:windowTranslucentStatus">false</item>
-        <item name="colorPrimaryDark">@color/blue_700</item>
-        <item name="android:statusBarColor" tools:targetApi="21">@color/blue_900</item>
-        <item name="android:textColorHighlight">@color/blue_200</item>
-        <item name="android:actionModeBackground">@color/blue_700</item>
-        <item name="spinnerHeaderTextColor">@color/white</item>
-        <item name="spinnerBackground">@color/blue_750</item>
-        <item name="spinnerTextColorSelector">@color/spinner_color_selector_light</item>
-        <item name="appbarSpinnerTextColorSelector">@color/appbar_spinner_color_selector_light</item>
-        <item name="buttonBackgroundColorSelector">@color/button_background_color_selector_light</item>
-        <item name="buttonTextColorSelector">@color/button_text_color_selector_light</item>
-        <item name="listSelectorDrawable">@drawable/list_selector_light</item>
-        <item name="aboutTitle">@color/blue_900</item>
-        <item name="aboutText">@color/blue_700</item>
-        <item name="aboutBackground">@color/white</item>
-        <item name="domainSettingsIconTintColor">@color/blue_800</item>
-        <item name="deleteIcon">@drawable/delete_light</item>
-        <item name="addIcon">@drawable/add_light</item>
-        <item name="addBookmarkIcon">@drawable/create_bookmark_light</item>
-        <item name="addFolderIcon">@drawable/create_folder_light</item>
-        <item name="copyIcon">@drawable/copy_light</item>
-        <item name="clearIcon">@drawable/clear_light</item>
-        <item name="selectAllIcon">@drawable/select_all_light</item>
-        <item name="editIcon">@drawable/edit_light</item>
-        <item name="moveToFolderIcon">@drawable/move_to_folder_light</item>
-        <item name="saveIcon">@drawable/save_light</item>
-        <item name="sortIcon">@drawable/sort_light</item>
-        <item name="actionBarPopupTheme">@style/PrivacyBrowserPopupsLight</item>
-        <item name="appBarTextTheme">@style/PrivacyBrowserAppBarWhiteText</item>
-        <item name="popupsTheme">@style/PrivacyBrowserPopupsLight</item>
-        <item name="tabLayoutTheme">@style/PrivacyBrowserTabLayoutLight</item>
+        <!-- Drawables. -->
+        <item name="listSelectorDrawable">@drawable/list_selector_day</item>
+
+        <!-- Icons. -->
+        <item name="aboutIcon">@drawable/about_day</item>
+        <item name="addIcon">@drawable/add_day</item>
+        <item name="bookmarksIcon">@drawable/bookmarks_day</item>
+        <item name="clearIcon">@drawable/clear_day</item>
+        <item name="copyIcon">@drawable/copy_day</item>
+        <item name="createBookmarkIcon">@drawable/create_bookmark_day</item>
+        <item name="createFolderIcon">@drawable/create_folder_day</item>
+        <item name="deleteIcon">@drawable/delete_day</item>
+        <item name="editIcon">@drawable/edit_day</item>
+        <item name="moveToFolderIcon">@drawable/move_to_folder_day</item>
+        <item name="saveIcon">@drawable/save_day</item>
+        <item name="selectAllIcon">@drawable/select_all_day</item>
+        <item name="sortIcon">@drawable/sort_day</item>
     </style>
 
-    <!-- `colorPrimaryDark` is the color of the status bar. -->
-    <style name="PrivacyBrowserSettingsLight" parent="Theme.AppCompat.Light.DarkActionBar" >
-        <item name="colorPrimary">@color/blue_700</item>
-        <item name="colorPrimaryDark">@color/blue_900</item>
+    <style name="PrivacyBrowserSettings" parent="Theme.AppCompat.DayNight" >
+        <!-- Colors. -->
         <item name="colorAccent">@color/blue_700</item>
-        <item name="downloadIcon">@drawable/downloads_enabled_light</item>
-        <item name="fontSizeIcon">@drawable/font_size_light</item>
-        <item name="homepageIcon">@drawable/home_enabled_light</item>
-        <item name="searchIcon">@drawable/search_enabled_light</item>
-        <item name="userAgentIcon">@drawable/user_agent_light</item>
-    </style>
-
-    <!-- `ThemeOverlay.AppCompat.ActionBar` makes the hamburger icons dark. -->
-    <style name="PrivacyBrowserAppBarLight" parent="ThemeOverlay.AppCompat.ActionBar" />
-
-    <!-- `ThemeOverlay.AppCompat.Dark.ActionBar` makes the text and the icons in the AppBar white. -->
-    <style name="PrivacyBrowserAppBarWhiteText" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
-
-    <!-- `ThemeOverlay.AppCompat.Light` makes the popups have a light background with dark text. -->
-    <style name="PrivacyBrowserPopupsLight" parent="ThemeOverlay.AppCompat.Light" />
-
-    <!-- Configure the About and Guide `TabLayouts`. -->
-    <style name="PrivacyBrowserTabLayoutLight" parent="Widget.Design.TabLayout" >
-        <item name="android:textColorPrimary">@color/white</item>
-        <item name="android:textColorSecondary">@color/blue_100</item>
-        <item name="tabIndicatorColor">@color/white</item>
-    </style>
-
-    <style name="PrivacyBrowserTabLayoutDialogLight" parent="Widget.Design.TabLayout" >
-        <item name="android:textColorPrimary">@color/blue_700</item>
-        <item name="android:textColorSecondary">@color/blue_700_50</item>
+        <item name="colorPrimary">?android:attr/colorBackground</item>  <!-- `colorPrimary` sets the background color of the app bar. -->
+
+        <!-- Icons. -->
+        <item name="appThemeIcon">@drawable/theme_day</item>
+        <item name="downloadIcon">@drawable/downloads_enabled_day</item>
+        <item name="fontSizeIcon">@drawable/font_size_day</item>
+        <item name="homepageIcon">@drawable/home_enabled_day</item>
+        <item name="searchIcon">@drawable/search_enabled_day</item>
+        <item name="userAgentIcon">@drawable/user_agent_day</item>
     </style>
 
-    <style name="PrivacyBrowserAlertDialogLight" parent="Theme.AppCompat.Light.Dialog.Alert" >
+    <style name="PrivacyBrowserAlertDialog" parent="Theme.AppCompat.DayNight.Dialog.Alert" >
         <item name="colorAccent">@color/blue_700</item>
     </style>
-
-
-    <!-- Dark theme styles. -->
-
-    <!-- `android:windowTranslucentStatus` makes the system status bar translucent.  When it is specified the root layout should include `android:fitsSystemWindows="true"`. -->
-    <style name="PrivacyBrowserDark" parent="Theme.AppCompat.NoActionBar" >
-        <item name="aboutIcon">@drawable/about_dark</item>
-        <item name="addTabIconTintColor">@color/gray_400</item>
-        <item name="android:textColorHighlight">@color/blue_800</item>
-        <item name="android:textColorPrimary">@color/primary_text_color_selector_dark</item>
-        <item name="android:windowTranslucentStatus">true</item>
-        <item name="appBarTheme">@style/PrivacyBrowserAppBarDark</item>
-        <item name="colorAccent">@color/blue_600</item>
-        <item name="findOnPageIconTintColor">@color/blue_600</item>
-        <item name="mainStatusBarBackground">@color/black</item>
-        <item name="navigationHeaderBackground">@color/blue_800</item>
-        <item name="navigationHeaderTextColor">@color/gray_300</item>
-        <item name="navigationIconTintColor">@color/blue_600</item>
-        <item name="progressTintColor">@color/blue_600</item>
-        <item name="redText">@color/red_900</item>
-        <item name="sslHeader">@color/blue_400</item>
-        <item name="sslTitle">@color/blue_700</item>
-        <item name="urlHistoryText">@color/gray_200</item>
-        <item name="viewSourceIconTintColor">@color/gray_300</item>
-        <item name="webViewBackground">@color/gray_900</item>
-    </style>
-
-    <!-- `windowActionModeOverlay` makes the contextual app bar cover the support app bar.  `colorPrimaryDark` goes behind the status bar, which is then darkened by the overlay.-->
-    <style name="PrivacyBrowserDark.SecondaryActivity" >
-        <item name="windowActionModeOverlay">true</item>
-        <item name="android:windowTranslucentStatus">false</item>
-        <item name="colorPrimaryDark">@color/blue_800</item>
-        <item name="android:statusBarColor" tools:targetApi="21">@color/blue_900</item>
-        <item name="android:actionModeBackground">@color/blue_800</item>
-        <item name="spinnerHeaderTextColor">@color/gray_300</item>
-        <item name="spinnerBackground">@color/blue_830</item>
-        <item name="spinnerTextColorSelector">@color/spinner_color_selector_dark</item>
-        <item name="appbarSpinnerTextColorSelector">@color/appbar_spinner_color_selector_dark</item>
-        <item name="buttonTextColorSelector">@color/button_text_color_selector_dark</item>
-        <item name="buttonBackgroundColorSelector">@color/button_background_color_selector_dark</item>
-        <item name="aboutTitle">@color/blue_600</item>
-        <item name="aboutText">@color/blue_400</item>
-        <item name="aboutBackground">@color/gray_850</item>
-        <item name="listSelectorDrawable">@drawable/list_selector_dark</item>
-        <item name="domainSettingsIconTintColor">@color/blue_600</item>
-        <item name="deleteIcon">@drawable/delete_dark</item>
-        <item name="addIcon">@drawable/add_dark</item>
-        <item name="addBookmarkIcon">@drawable/create_bookmark_dark</item>
-        <item name="addFolderIcon">@drawable/create_folder_dark</item>
-        <item name="clearIcon">@drawable/clear_dark</item>
-        <item name="copyIcon">@drawable/copy_dark</item>
-        <item name="selectAllIcon">@drawable/select_all_dark</item>
-        <item name="editIcon">@drawable/edit_dark</item>
-        <item name="moveToFolderIcon">@drawable/move_to_folder_dark</item>
-        <item name="saveIcon">@drawable/save_dark</item>
-        <item name="sortIcon">@drawable/sort_dark</item>
-        <item name="android:spinnerDropDownItemStyle">@style/PrivacyBrowserSpinnerDropDownItemStyleDark</item>
-        <item name="appBarTextTheme">@style/PrivacyBrowserAppBarDark</item>
-        <item name="popupsTheme">@style/PrivacyBrowserPopupsDark</item>
-        <item name="tabLayoutTheme">@style/PrivacyBrowserTabLayoutDark</item>
-    </style>
-
-    <style name="PrivacyBrowserSettingsDark" parent="Theme.AppCompat" >
-        <item name="android:textColorPrimary">@color/primary_text_color_selector_dark</item>
-        <item name="colorPrimary">@color/blue_800</item>
-        <item name="colorPrimaryDark">@color/blue_900</item>
-        <item name="colorAccent">@color/blue_600</item>
-        <item name="downloadIcon">@drawable/downloads_enabled_dark</item>
-        <item name="fontSizeIcon">@drawable/font_size_dark</item>
-        <item name="homepageIcon">@drawable/home_enabled_dark</item>
-        <item name="searchIcon">@drawable/search_enabled_dark</item>
-        <item name="userAgentIcon">@drawable/user_agent_dark</item>
-    </style>
-
-    <!-- `ThemeOverlay.AppCompat.Dark.ActionBar` makes the text and the icons in the AppBar white. -->
-    <style name="PrivacyBrowserAppBarDark" parent="ThemeOverlay.AppCompat.Dark.ActionBar" >
-        <item name="android:textColorPrimary">@color/gray_300</item>
-    </style>
-
-    <!-- Configure the About and Guide `TabLayouts`. -->
-    <style name="PrivacyBrowserTabLayoutDark" parent="Widget.Design.TabLayout" >
-        <item name="tabBackground">@color/blue_800</item>
-        <item name="android:textColorSecondary">@color/blue_300</item>
-        <item name="tabIndicatorColor">@color/gray_300</item>
-    </style>
-
-    <style name="PrivacyBrowserAlertDialogDark" parent="Theme.AppCompat.Dialog.Alert" >
-        <item name="android:windowBackground">@color/gray_850</item>
-        <item name="android:textColorPrimary">@color/gray_300</item>
-        <item name="android:textColorSecondary">@color/gray_300</item>
-        <item name="colorAccent">@color/blue_600</item>
-    </style>
-
-    <style name="PrivacyBrowserSpinnerDropDownItemStyleDark" parent="Base.Widget.AppCompat.TextView.SpinnerItem" >
-        <item name="android:textColor">@color/gray_300</item>
-    </style>
-
-    <!-- `ThemeOverlay.AppCompat.Dark` makes the popups have a dark background with light text. -->
-    <style name="PrivacyBrowserPopupsDark" parent="ThemeOverlay.AppCompat.Dark" >
-        <item name="android:textColorPrimary">@color/primary_text_color_selector_dark</item>
-    </style>
 </resources>
\ No newline at end of file
index 16a90b5cca58ba736d2cb2042bd3804a4420eef1..e499e37fb0b80292e6fe20312a9d3dff796ff247 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 
 <!--
-  Copyright © 2018 Soren Stoutner <soren@stoutner.com>.
+  Copyright © 2018,2020 Soren Stoutner <soren@stoutner.com>.
 
   This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
 
@@ -19,6 +19,7 @@
   along with Privacy Browser.  If not, see <http://www.gnu.org/licenses/>. -->
 
 <!-- Allow HTTP traffic and disable HSTS, which has no benefit for Privacy Browser (because unspecified links default to HTTPS) but has negative fingerprinting implications. -->
-<network-security-config>
-    <base-config cleartextTrafficPermitted="true" hstsEnforced="false" />
+<network-security-config
+    xmlns:tools="http://schemas.android.com/tools">
+    <base-config cleartextTrafficPermitted="true" hstsEnforced="false" tools:ignore="InsecureBaseConfiguration" />
 </network-security-config>
\ No newline at end of file
index 3234462a9c1e5e18d2c717be614c5557f24bf827..a60edb01ee354fd012049341186a3cc1a3e367a5 100644 (file)
             android:entries="@array/download_location_entries"
             android:entryValues="@array/download_location_entry_values"
             android:defaultValue="@string/download_location_default_value"
-            android:inputType="textUri"
             android:icon="?attr/downloadIcon" />
 
         <EditTextPreference
             android:summary="@string/display_additional_app_bar_icons_summary"
             android:defaultValue="false" />
 
-        <SwitchPreference
-            android:key="dark_theme"
-            android:title="@string/dark_theme"
-            android:summary="@string/dark_theme_summary"
-            android:defaultValue="false" />
+        <ListPreference
+            android:key="app_theme"
+            android:title="@string/app_theme"
+            android:entries="@array/app_theme_entries"
+            android:entryValues="@array/app_theme_entry_values"
+            android:defaultValue="@string/app_theme_default_value"
+            android:icon="?attr/appThemeIcon" />
 
         <SwitchPreference
             android:key="night_mode"