Bump the minimum API to 23. https://redmine.stoutner.com/issues/793
authorSoren Stoutner <soren@stoutner.com>
Fri, 7 Jan 2022 16:53:31 +0000 (09:53 -0700)
committerSoren Stoutner <soren@stoutner.com>
Fri, 7 Jan 2022 16:53:31 +0000 (09:53 -0700)
227 files changed:
app/build.gradle
app/src/alt/res/drawable/privacy_browser_foreground.xml
app/src/main/java/com/stoutner/privacybrowser/activities/ImportExportActivity.java
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java
app/src/main/java/com/stoutner/privacybrowser/adapters/PinnedMismatchPagerAdapter.kt
app/src/main/java/com/stoutner/privacybrowser/adapters/RequestsArrayAdapter.java
app/src/main/java/com/stoutner/privacybrowser/adapters/WebViewPagerAdapter.java
app/src/main/java/com/stoutner/privacybrowser/backgroundtasks/GetSourceBackgroundTask.java
app/src/main/java/com/stoutner/privacybrowser/dialogs/CreateHomeScreenShortcutDialog.kt
app/src/main/java/com/stoutner/privacybrowser/fragments/AboutVersionFragment.kt
app/src/main/java/com/stoutner/privacybrowser/fragments/AboutWebViewFragment.kt
app/src/main/java/com/stoutner/privacybrowser/fragments/DomainSettingsFragment.java
app/src/main/java/com/stoutner/privacybrowser/fragments/GuideWebViewFragment.java
app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.java
app/src/main/java/com/stoutner/privacybrowser/helpers/ProxyHelper.kt
app/src/main/res/drawable/about_blue_day.xml
app/src/main/res/drawable/about_blue_night.xml
app/src/main/res/drawable/about_day.xml
app/src/main/res/drawable/about_night.xml
app/src/main/res/drawable/add.xml
app/src/main/res/drawable/allow_screenshots_disabled_day.xml
app/src/main/res/drawable/allow_screenshots_disabled_night.xml
app/src/main/res/drawable/allow_screenshots_enabled_day.xml
app/src/main/res/drawable/allow_screenshots_enabled_night.xml
app/src/main/res/drawable/app_bar_disabled_day.xml
app/src/main/res/drawable/app_bar_disabled_night.xml
app/src/main/res/drawable/app_bar_enabled_day.xml
app/src/main/res/drawable/app_bar_enabled_night.xml
app/src/main/res/drawable/app_bar_ghosted_day.xml
app/src/main/res/drawable/app_bar_ghosted_night.xml
app/src/main/res/drawable/app_theme_day.xml
app/src/main/res/drawable/app_theme_night.xml
app/src/main/res/drawable/back.xml
app/src/main/res/drawable/block_ads_disabled_day.xml
app/src/main/res/drawable/block_ads_disabled_night.xml
app/src/main/res/drawable/block_ads_enabled_day.xml
app/src/main/res/drawable/block_ads_enabled_night.xml
app/src/main/res/drawable/block_all_third_party_requests_disabled_day.xml
app/src/main/res/drawable/block_all_third_party_requests_disabled_night.xml
app/src/main/res/drawable/block_all_third_party_requests_enabled_day.xml
app/src/main/res/drawable/block_all_third_party_requests_enabled_night.xml
app/src/main/res/drawable/block_tracking_disabled_day.xml
app/src/main/res/drawable/block_tracking_disabled_night.xml
app/src/main/res/drawable/block_tracking_enabled_day.xml
app/src/main/res/drawable/block_tracking_enabled_night.xml
app/src/main/res/drawable/bookmarks_day.xml
app/src/main/res/drawable/bookmarks_night.xml
app/src/main/res/drawable/bottom_app_bar_disabled_day.xml
app/src/main/res/drawable/bottom_app_bar_disabled_night.xml
app/src/main/res/drawable/bottom_app_bar_enabled_day.xml
app/src/main/res/drawable/bottom_app_bar_enabled_night.xml
app/src/main/res/drawable/bug.xml
app/src/main/res/drawable/bug_cleared_day.xml
app/src/main/res/drawable/bug_cleared_night.xml
app/src/main/res/drawable/bug_warning.xml
app/src/main/res/drawable/cache_cleared_day.xml
app/src/main/res/drawable/cache_cleared_night.xml
app/src/main/res/drawable/cache_warning.xml
app/src/main/res/drawable/clear_everything_disabled.xml
app/src/main/res/drawable/clear_everything_enabled_day.xml
app/src/main/res/drawable/clear_everything_enabled_night.xml
app/src/main/res/drawable/close_blue_day.xml
app/src/main/res/drawable/close_blue_night.xml
app/src/main/res/drawable/close_day.xml
app/src/main/res/drawable/close_night.xml
app/src/main/res/drawable/cookies_cleared_day.xml
app/src/main/res/drawable/cookies_cleared_night.xml
app/src/main/res/drawable/cookies_disabled_day.xml
app/src/main/res/drawable/cookies_disabled_night.xml
app/src/main/res/drawable/cookies_enabled.xml
app/src/main/res/drawable/cookies_warning.xml
app/src/main/res/drawable/copy_day.xml
app/src/main/res/drawable/copy_enabled_day.xml
app/src/main/res/drawable/copy_enabled_night.xml
app/src/main/res/drawable/copy_night.xml
app/src/main/res/drawable/create_bookmark.xml
app/src/main/res/drawable/create_folder.xml
app/src/main/res/drawable/custom_user_agent_enabled_day.xml
app/src/main/res/drawable/custom_user_agent_enabled_night.xml
app/src/main/res/drawable/custom_user_agent_ghosted_day.xml
app/src/main/res/drawable/custom_user_agent_ghosted_night.xml
app/src/main/res/drawable/delete_day.xml
app/src/main/res/drawable/delete_disabled.xml
app/src/main/res/drawable/delete_night.xml
app/src/main/res/drawable/dom_storage_cleared_day.xml
app/src/main/res/drawable/dom_storage_cleared_night.xml
app/src/main/res/drawable/dom_storage_disabled_day.xml
app/src/main/res/drawable/dom_storage_disabled_night.xml
app/src/main/res/drawable/dom_storage_enabled.xml
app/src/main/res/drawable/dom_storage_ghosted_day.xml
app/src/main/res/drawable/dom_storage_ghosted_night.xml
app/src/main/res/drawable/dom_storage_warning.xml
app/src/main/res/drawable/domains_day.xml
app/src/main/res/drawable/domains_night.xml
app/src/main/res/drawable/download_with_external_app_disabled_day.xml
app/src/main/res/drawable/download_with_external_app_disabled_night.xml
app/src/main/res/drawable/download_with_external_app_enabled_day.xml
app/src/main/res/drawable/download_with_external_app_enabled_night.xml
app/src/main/res/drawable/downloads_enabled_day.xml
app/src/main/res/drawable/downloads_enabled_night.xml
app/src/main/res/drawable/edit_day.xml
app/src/main/res/drawable/edit_night.xml
app/src/main/res/drawable/folder_dark_blue.xml
app/src/main/res/drawable/folder_gray.xml
app/src/main/res/drawable/font_size_day.xml
app/src/main/res/drawable/font_size_night.xml
app/src/main/res/drawable/form_data_cleared_day.xml
app/src/main/res/drawable/form_data_cleared_night.xml
app/src/main/res/drawable/form_data_disabled_day.xml
app/src/main/res/drawable/form_data_disabled_night.xml
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_day.xml
app/src/main/res/drawable/full_screen_disabled_night.xml
app/src/main/res/drawable/full_screen_enabled_day.xml
app/src/main/res/drawable/full_screen_enabled_night.xml
app/src/main/res/drawable/guide.xml
app/src/main/res/drawable/history.xml
app/src/main/res/drawable/home_enabled_day.xml
app/src/main/res/drawable/home_enabled_night.xml
app/src/main/res/drawable/images_disabled_day.xml
app/src/main/res/drawable/images_disabled_night.xml
app/src/main/res/drawable/images_enabled_day.xml
app/src/main/res/drawable/images_enabled_night.xml
app/src/main/res/drawable/images_options_day.xml
app/src/main/res/drawable/images_options_night.xml
app/src/main/res/drawable/import_export.xml
app/src/main/res/drawable/incognito_mode_disabled_day.xml
app/src/main/res/drawable/incognito_mode_disabled_night.xml
app/src/main/res/drawable/incognito_mode_enabled_day.xml
app/src/main/res/drawable/incognito_mode_enabled_night.xml
app/src/main/res/drawable/javascript_enabled.xml
app/src/main/res/drawable/lock_day.xml
app/src/main/res/drawable/lock_night.xml
app/src/main/res/drawable/modify_url_disabled_day.xml
app/src/main/res/drawable/modify_url_disabled_night.xml
app/src/main/res/drawable/modify_url_enabled_day.xml
app/src/main/res/drawable/modify_url_enabled_night.xml
app/src/main/res/drawable/more_disabled_day.xml
app/src/main/res/drawable/more_disabled_night.xml
app/src/main/res/drawable/more_enabled_day.xml
app/src/main/res/drawable/more_enabled_night.xml
app/src/main/res/drawable/move_down_disabled.xml
app/src/main/res/drawable/move_down_enabled_day.xml
app/src/main/res/drawable/move_down_enabled_night.xml
app/src/main/res/drawable/move_to_folder_blue_day.xml
app/src/main/res/drawable/move_to_folder_blue_night.xml
app/src/main/res/drawable/move_to_folder_day.xml
app/src/main/res/drawable/move_to_folder_night.xml
app/src/main/res/drawable/move_up_disabled.xml
app/src/main/res/drawable/move_up_enabled_day.xml
app/src/main/res/drawable/move_up_enabled_night.xml
app/src/main/res/drawable/next.xml
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_day.xml
app/src/main/res/drawable/proxy_disabled_night.xml
app/src/main/res/drawable/proxy_enabled_day.xml
app/src/main/res/drawable/proxy_enabled_night.xml
app/src/main/res/drawable/proxy_ghosted_day.xml
app/src/main/res/drawable/proxy_ghosted_night.xml
app/src/main/res/drawable/refresh_disabled_day.xml
app/src/main/res/drawable/refresh_disabled_night.xml
app/src/main/res/drawable/refresh_enabled_day.xml
app/src/main/res/drawable/refresh_enabled_night.xml
app/src/main/res/drawable/save_day.xml
app/src/main/res/drawable/save_night.xml
app/src/main/res/drawable/save_text_day.xml
app/src/main/res/drawable/save_text_night.xml
app/src/main/res/drawable/search_custom_url_enabled_day.xml
app/src/main/res/drawable/search_custom_url_enabled_night.xml
app/src/main/res/drawable/search_custom_url_ghosted_day.xml
app/src/main/res/drawable/search_custom_url_ghosted_night.xml
app/src/main/res/drawable/search_enabled_day.xml
app/src/main/res/drawable/search_enabled_night.xml
app/src/main/res/drawable/select_all_day.xml
app/src/main/res/drawable/select_all_night.xml
app/src/main/res/drawable/settings.xml
app/src/main/res/drawable/share_day.xml
app/src/main/res/drawable/share_night.xml
app/src/main/res/drawable/social_media_disabled_day.xml
app/src/main/res/drawable/social_media_disabled_night.xml
app/src/main/res/drawable/social_media_enabled_day.xml
app/src/main/res/drawable/social_media_enabled_night.xml
app/src/main/res/drawable/social_media_ghosted_day.xml
app/src/main/res/drawable/social_media_ghosted_night.xml
app/src/main/res/drawable/sort_day.xml
app/src/main/res/drawable/sort_night.xml
app/src/main/res/drawable/sort_selected_day.xml
app/src/main/res/drawable/sort_selected_night.xml
app/src/main/res/drawable/ssl_certificate_disabled_day.xml
app/src/main/res/drawable/ssl_certificate_disabled_night.xml
app/src/main/res/drawable/ssl_certificate_enabled_day.xml
app/src/main/res/drawable/ssl_certificate_enabled_night.xml
app/src/main/res/drawable/tab_disabled_day.xml
app/src/main/res/drawable/tab_disabled_night.xml
app/src/main/res/drawable/tab_enabled_day.xml
app/src/main/res/drawable/tab_enabled_night.xml
app/src/main/res/drawable/user_agent_day.xml
app/src/main/res/drawable/user_agent_night.xml
app/src/main/res/drawable/warning.xml
app/src/main/res/drawable/webview_dark_theme_day.xml
app/src/main/res/drawable/webview_dark_theme_night.xml
app/src/main/res/drawable/webview_light_theme_day.xml
app/src/main/res/drawable/webview_light_theme_night.xml
app/src/main/res/drawable/wide_viewport_disabled_day.xml
app/src/main/res/drawable/wide_viewport_disabled_night.xml
app/src/main/res/drawable/wide_viewport_enabled_day.xml
app/src/main/res/drawable/wide_viewport_enabled_night.xml
app/src/main/res/layout/import_export_bottom_appbar.xml
app/src/main/res/layout/import_export_top_appbar.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 [deleted file]
app/src/main/res/values-night/colors.xml
app/src/main/res/values-night/styles.xml
app/src/main/res/values-pt-rBR/strings.xml
app/src/main/res/values-ru/strings.xml
app/src/main/res/values-tr/strings.xml
app/src/main/res/values-v23/styles.xml [deleted file]
app/src/main/res/values/colors.xml
app/src/main/res/values/strings.xml
app/src/main/res/values/styles.xml

index 571e65286a99265eaedaa57250aa87372624c681..beed05b4bd482ad41273d1e8c33c78b12a2de1ab 100644 (file)
@@ -26,7 +26,7 @@ android {
     compileSdk 31
 
     defaultConfig {
     compileSdk 31
 
     defaultConfig {
-        minSdk 19
+        minSdk 23
         targetSdk 31
         versionCode 57
         versionName "3.9"
         targetSdk 31
         versionCode 57
         versionName "3.9"
index 63f55fffb6fd4b01e55a68bdd1bb1cef0e300330..26c996b6e58278e62128fb2690d62c32df905193 100644 (file)
@@ -1,6 +1,5 @@
 <!-- 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.
 <!-- 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,2021 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-
+    Modifications copyright © 2016-2017,2021-2022 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"
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:height="108dp"
         android:translateX="27.6"
         android:translateY="27.6" >
 
         android:translateX="27.6"
         android:translateY="27.6" >
 
-        <!-- The inner shield. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <!-- Inner shield. -->
         <path
         <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" />
 
 
-        <!-- The outer shield. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+            android:fillColor="@color/blue_900"
+            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" />
+
+        <!-- Outer shield. -->
         <path
         <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:fillColor="@color/blue_700"
+            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" />
 
 
-        <!-- The globe. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <!-- Globe. -->
         <path
         <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:fillColor="@color/white"
+            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" />
 
 
-        <!-- The red banner. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <!-- Red banner. -->
         <path
         <path
-            android:pathData="M50.491,201.267h155.02v54.763h-155.02z"
-            android:fillColor="#b71c1c"/>
+            android:fillColor="@color/red_900"
+            android:pathData="M50.491,201.267h155.02v54.763h-155.02z" />
 
 
-        <!-- The T. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <!-- T. -->
         <path
         <path
-            android:pathData="m64.125,212.543h30.256v7.954L84.23,220.497L84.23,244.755L74.277,244.755L74.277,220.497L64.125,220.497Z"
-            android:fillColor="#ffffff"/>
+            android:fillColor="@color/white"
+            android:pathData="m64.125,212.543h30.256v7.954L84.23,220.497L84.23,244.755L74.277,244.755L74.277,220.497L64.125,220.497Z" />
 
 
-        <!-- The E. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <!-- E. -->
         <path
         <path
-            android:pathData="m98.864,212.543h26.675v6.877h-16.699v5.12h15.491v6.57L108.84,231.11L108.84,237.46h17.183L126.022,244.755L98.864,244.755Z"
-            android:fillColor="#ffffff"/>
+            android:fillColor="@color/white"
+            android:pathData="m98.864,212.543h26.675v6.877h-16.699v5.12h15.491v6.57L108.84,231.11L108.84,237.46h17.183L126.022,244.755L98.864,244.755Z" />
 
 
-        <!-- The S.  A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <!-- S. -->
         <path
         <path
-            android:pathData="m129.648,234.098 l9.47,-0.593q0.308,2.307 1.252,3.516 1.538,1.956 4.395,1.956 2.131,0 3.274,-0.989 1.165,-1.011 1.165,-2.329 0,-1.252 -1.099,-2.241 -1.099,-0.989 -5.098,-1.868 -6.548,-1.472 -9.338,-3.911 -2.813,-2.439 -2.813,-6.218 0,-2.483 1.428,-4.68 1.45,-2.219 4.329,-3.472 2.9,-1.274 7.932,-1.274 6.174,0 9.404,2.307 3.252,2.285 3.867,7.295l-9.382,0.549q-0.374,-2.175 -1.582,-3.164 -1.187,-0.989 -3.296,-0.989 -1.736,0 -2.615,0.747 -0.879,0.725 -0.879,1.78 0,0.769 0.725,1.384 0.703,0.637 3.34,1.187 6.526,1.406 9.338,2.856 2.834,1.428 4.109,3.56 1.296,2.131 1.296,4.768 0,3.098 -1.714,5.713 -1.714,2.615 -4.79,3.977 -3.076,1.34 -7.756,1.34 -8.218,0 -11.382,-3.164 -3.164,-3.164 -3.582,-8.042z"
-            android:fillColor="#ffffff"/>
+            android:fillColor="@color/white"
+            android:pathData="m129.648,234.098 l9.47,-0.593q0.308,2.307 1.252,3.516 1.538,1.956 4.395,1.956 2.131,0 3.274,-0.989 1.165,-1.011 1.165,-2.329 0,-1.252 -1.099,-2.241 -1.099,-0.989 -5.098,-1.868 -6.548,-1.472 -9.338,-3.911 -2.813,-2.439 -2.813,-6.218 0,-2.483 1.428,-4.68 1.45,-2.219 4.329,-3.472 2.9,-1.274 7.932,-1.274 6.174,0 9.404,2.307 3.252,2.285 3.867,7.295l-9.382,0.549q-0.374,-2.175 -1.582,-3.164 -1.187,-0.989 -3.296,-0.989 -1.736,0 -2.615,0.747 -0.879,0.725 -0.879,1.78 0,0.769 0.725,1.384 0.703,0.637 3.34,1.187 6.526,1.406 9.338,2.856 2.834,1.428 4.109,3.56 1.296,2.131 1.296,4.768 0,3.098 -1.714,5.713 -1.714,2.615 -4.79,3.977 -3.076,1.34 -7.756,1.34 -8.218,0 -11.382,-3.164 -3.164,-3.164 -3.582,-8.042z" />
 
 
-        <!-- The T. A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+        <!-- T. -->
         <path
         <path
-            android:pathData="m161.618,212.543h30.256v7.954h-10.151v24.258h-9.954v-24.258h-10.151z"
-            android:fillColor="#ffffff"/>
+            android:fillColor="@color/white"
+            android:pathData="m161.618,212.543h30.256v7.954h-10.151v24.258h-9.954v-24.258h-10.151z" />
     </group>
 </vector>
\ No newline at end of file
     </group>
 </vector>
\ No newline at end of file
index 7fe893275d8397d8a1a36d354cf8518a7d42d119..c1b3891d3fe248fdcbd951ed80b78f0cd0fad494 100644 (file)
@@ -24,7 +24,6 @@ import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
 import android.net.Uri;
-import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.preference.PreferenceManager;
 import android.os.Bundle;
 import android.os.Handler;
 import android.preference.PreferenceManager;
@@ -154,9 +153,6 @@ public class ImportExportActivity extends AppCompatActivity {
         // Display the home arrow on the support action bar.
         actionBar.setDisplayHomeAsUpEnabled(true);
 
         // Display the home arrow on the support action bar.
         actionBar.setDisplayHomeAsUpEnabled(true);
 
-        // Find out if the system is running KitKat
-        boolean runningKitKat = (Build.VERSION.SDK_INT == 19);
-
         // Find out if OpenKeychain is installed.
         try {
             openKeychainInstalled = !getPackageManager().getPackageInfo("org.sufficientlysecure.keychain", 0).versionName.isEmpty();
         // Find out if OpenKeychain is installed.
         try {
             openKeychainInstalled = !getPackageManager().getPackageInfo("org.sufficientlysecure.keychain", 0).versionName.isEmpty();
@@ -168,7 +164,6 @@ public class ImportExportActivity extends AppCompatActivity {
         encryptionSpinner = findViewById(R.id.encryption_spinner);
         encryptionPasswordTextInputLayout = findViewById(R.id.encryption_password_textinputlayout);
         encryptionPasswordEditText = findViewById(R.id.encryption_password_edittext);
         encryptionSpinner = findViewById(R.id.encryption_spinner);
         encryptionPasswordTextInputLayout = findViewById(R.id.encryption_password_textinputlayout);
         encryptionPasswordEditText = findViewById(R.id.encryption_password_edittext);
-        kitKatPasswordEncryptionTextView = findViewById(R.id.kitkat_password_encryption_textview);
         openKeychainRequiredTextView = findViewById(R.id.openkeychain_required_textview);
         fileLocationCardView = findViewById(R.id.file_location_cardview);
         importRadioButton = findViewById(R.id.import_radiobutton);
         openKeychainRequiredTextView = findViewById(R.id.openkeychain_required_textview);
         fileLocationCardView = findViewById(R.id.file_location_cardview);
         importRadioButton = findViewById(R.id.import_radiobutton);
@@ -217,37 +212,28 @@ public class ImportExportActivity extends AppCompatActivity {
                         break;
 
                     case PASSWORD_ENCRYPTION:
                         break;
 
                     case PASSWORD_ENCRYPTION:
-                        if (runningKitKat) {
-                            // Show the KitKat password encryption message.
-                            kitKatPasswordEncryptionTextView.setVisibility(View.VISIBLE);
-
-                            // Hide the OpenPGP required text view and the file location card.
-                            openKeychainRequiredTextView.setVisibility(View.GONE);
-                            fileLocationCardView.setVisibility(View.GONE);
-                        } else {
-                            // Hide the OpenPGP layout items.
-                            openKeychainRequiredTextView.setVisibility(View.GONE);
-                            openKeychainImportInstructionsTextView.setVisibility(View.GONE);
-
-                            // Show the password encryption layout items.
-                            encryptionPasswordTextInputLayout.setVisibility(View.VISIBLE);
+                        // Hide the OpenPGP layout items.
+                        openKeychainRequiredTextView.setVisibility(View.GONE);
+                        openKeychainImportInstructionsTextView.setVisibility(View.GONE);
 
 
-                            // Show the file location card.
-                            fileLocationCardView.setVisibility(View.VISIBLE);
+                        // Show the password encryption layout items.
+                        encryptionPasswordTextInputLayout.setVisibility(View.VISIBLE);
 
 
-                            // Show the file name linear layout if either import or export is checked.
-                            if (importRadioButton.isChecked() || exportRadioButton.isChecked()) {
-                                fileNameLinearLayout.setVisibility(View.VISIBLE);
-                            }
+                        // Show the file location card.
+                        fileLocationCardView.setVisibility(View.VISIBLE);
 
 
-                            // Reset the text of the import button, which may have been changed to `Decrypt`.
-                            if (importRadioButton.isChecked()) {
-                                importExportButton.setText(R.string.import_button);
-                            }
+                        // Show the file name linear layout if either import or export is checked.
+                        if (importRadioButton.isChecked() || exportRadioButton.isChecked()) {
+                            fileNameLinearLayout.setVisibility(View.VISIBLE);
+                        }
 
 
-                            // Enable the import/button if both the password and the file name are populated.
-                            importExportButton.setEnabled(!fileNameEditText.getText().toString().isEmpty() && !encryptionPasswordEditText.getText().toString().isEmpty());
+                        // Reset the text of the import button, which may have been changed to `Decrypt`.
+                        if (importRadioButton.isChecked()) {
+                            importExportButton.setText(R.string.import_button);
                         }
                         }
+
+                        // Enable the import/button if both the password and the file name are populated.
+                        importExportButton.setEnabled(!fileNameEditText.getText().toString().isEmpty() && !encryptionPasswordEditText.getText().toString().isEmpty());
                         break;
 
                     case OPENPGP_ENCRYPTION:
                         break;
 
                     case OPENPGP_ENCRYPTION:
index d44636432e2057a9d321fb4facf72b95e9e89fd7..4168f71759530b89c2946489ce5df2ba4fb8aee1 100644 (file)
@@ -79,6 +79,7 @@ import android.webkit.SslErrorHandler;
 import android.webkit.ValueCallback;
 import android.webkit.WebBackForwardList;
 import android.webkit.WebChromeClient;
 import android.webkit.ValueCallback;
 import android.webkit.WebBackForwardList;
 import android.webkit.WebChromeClient;
+import android.webkit.WebResourceRequest;
 import android.webkit.WebResourceResponse;
 import android.webkit.WebSettings;
 import android.webkit.WebStorage;
 import android.webkit.WebResourceResponse;
 import android.webkit.WebSettings;
 import android.webkit.WebStorage;
@@ -528,9 +529,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         }
 
         // 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.
         }
 
         // 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();
-        }
+        WebView.enableSlowWholeDocumentDraw();
 
         // Set the theme.
         setTheme(R.style.PrivacyBrowser);
 
         // Set the theme.
         setTheme(R.style.PrivacyBrowser);
@@ -978,9 +977,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Disable the clear form data menu item if the API >= 26 so that the status of the main Clear Data is calculated correctly.
         optionsClearFormDataMenuItem.setEnabled(Build.VERSION.SDK_INT < 26);
 
         // Disable the clear form data menu item if the API >= 26 so that the status of the main Clear Data is calculated correctly.
         optionsClearFormDataMenuItem.setEnabled(Build.VERSION.SDK_INT < 26);
 
-        // Only display the dark WebView menu item if API >= 21.
-        optionsDarkWebViewMenuItem.setVisible(Build.VERSION.SDK_INT >= 21);
-
         // Get the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
         // Get the shared preferences.
         SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
@@ -1379,12 +1375,8 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                         @Override
                         public void onDismissed(Snackbar snackbar, int event) {
                             if (event != Snackbar.Callback.DISMISS_EVENT_ACTION) {  // The snackbar was dismissed without the undo button being pushed.
                         @Override
                         public void onDismissed(Snackbar snackbar, int event) {
                             if (event != Snackbar.Callback.DISMISS_EVENT_ACTION) {  // The snackbar was dismissed without the undo button being pushed.
-                                // Delete the cookies, which command varies by SDK.
-                                if (Build.VERSION.SDK_INT < 21) {
-                                    cookieManager.removeAllCookie();
-                                } else {
-                                    cookieManager.removeAllCookies(null);
-                                }
+                                // Delete the cookies.
+                                cookieManager.removeAllCookies(null);
                             }
                         }
                     })
                             }
                         }
                     })
@@ -1811,7 +1803,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             assert printManager != null;
 
             // Create a print document adapter from the current WebView.
             assert printManager != null;
 
             // Create a print document adapter from the current WebView.
-            PrintDocumentAdapter printDocumentAdapter = currentWebView.createPrintDocumentAdapter();
+            PrintDocumentAdapter printDocumentAdapter = currentWebView.createPrintDocumentAdapter(getString(R.string.print));
 
             // Print the document.
             printManager.print(getString(R.string.privacy_browser_webpage), printDocumentAdapter, null);
 
             // Print the document.
             printManager.print(getString(R.string.privacy_browser_webpage), printDocumentAdapter, null);
@@ -2785,11 +2777,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             closeCurrentTab();
         } else {  // There isn't anything to do in Privacy Browser.
             // Close Privacy Browser.  `finishAndRemoveTask()` also removes Privacy Browser from the recent app list.
             closeCurrentTab();
         } else {  // There isn't anything to do in Privacy Browser.
             // Close Privacy Browser.  `finishAndRemoveTask()` also removes Privacy Browser from the recent app list.
-            if (Build.VERSION.SDK_INT >= 21) {
-                finishAndRemoveTask();
-            } else {
-                finish();
-            }
+            finishAndRemoveTask();
 
             // Manually kill Privacy Browser.  Otherwise, it is glitchy when restarted.
             System.exit(0);
 
             // Manually kill Privacy Browser.  Otherwise, it is glitchy when restarted.
             System.exit(0);
@@ -2805,11 +2793,8 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Run the commands that correlate to the specified request code.
         switch (requestCode) {
             case BROWSE_FILE_UPLOAD_REQUEST_CODE:
         // Run the commands that correlate to the specified request code.
         switch (requestCode) {
             case BROWSE_FILE_UPLOAD_REQUEST_CODE:
-                // File uploads only work on API >= 21.
-                if (Build.VERSION.SDK_INT >= 21) {
-                    // Pass the file to the WebView.
-                    fileChooserCallback.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, returnedIntent));
-                }
+                // Pass the file to the WebView.
+                fileChooserCallback.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, returnedIntent));
                 break;
 
             case BROWSE_OPEN_REQUEST_CODE:
                 break;
 
             case BROWSE_OPEN_REQUEST_CODE:
@@ -3095,18 +3080,18 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Remove the lint warning below that the input method manager might be null.
         assert inputMethodManager != null;
 
         // Remove the lint warning below that the input method manager might be null.
         assert inputMethodManager != null;
 
-        // Initialize the gray foreground color spans for highlighting the URLs.  The deprecated `getResources()` must be used until API >= 23.
-        initialGrayColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.gray_500));
-        finalGrayColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.gray_500));
+        // Initialize the gray foreground color spans for highlighting the URLs.
+        initialGrayColorSpan = new ForegroundColorSpan(getColor(R.color.gray_500));
+        finalGrayColorSpan = new ForegroundColorSpan(getColor(R.color.gray_500));
 
         // Get the current theme status.
         int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
         // Set the red color span according to the theme.
         if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
 
         // Get the current theme status.
         int currentThemeStatus = getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK;
 
         // Set the red color span according to the theme.
         if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-            redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_a700));
+            redColorSpan = new ForegroundColorSpan(getColor(R.color.red_a700));
         } else {
         } else {
-            redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_900));
+            redColorSpan = new ForegroundColorSpan(getColor(R.color.red_900));
         }
 
         // Remove the formatting from the URL edit text when the user is editing the text.
         }
 
         // Remove the formatting from the URL edit text when the user is editing the text.
@@ -4778,12 +4763,8 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
         // Clear cookies.
         if (clearEverything || sharedPreferences.getBoolean("clear_cookies", true)) {
 
         // Clear cookies.
         if (clearEverything || sharedPreferences.getBoolean("clear_cookies", true)) {
-            // The command to remove cookies changed slightly in API 21.
-            if (Build.VERSION.SDK_INT >= 21) {
-                CookieManager.getInstance().removeAllCookies(null);
-            } else {
-                CookieManager.getInstance().removeAllCookie();
-            }
+            // Request the cookies be deleted.
+            CookieManager.getInstance().removeAllCookies(null);
 
             // Manually delete the cookies database, as `CookieManager` sometimes will not flush its changes to disk before `System.exit(0)` is run.
             try {
 
             // Manually delete the cookies database, as `CookieManager` sometimes will not flush its changes to disk before `System.exit(0)` is run.
             try {
@@ -4941,11 +4922,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         }
 
         // Close Privacy Browser.  `finishAndRemoveTask` also removes Privacy Browser from the recent app list.
         }
 
         // Close Privacy Browser.  `finishAndRemoveTask` also removes Privacy Browser from the recent app list.
-        if (Build.VERSION.SDK_INT >= 21) {
-            finishAndRemoveTask();
-        } else {
-            finish();
-        }
+        finishAndRemoveTask();
 
         // Remove the terminated program from RAM.  The status code is `0`.
         System.exit(0);
 
         // Remove the terminated program from RAM.  The status code is `0`.
         System.exit(0);
@@ -5130,9 +5107,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         nestedScrollWebView.getSettings().setDisplayZoomControls(false);
 
         // Don't allow mixed content (HTTP and HTTPS) on the same website.
         nestedScrollWebView.getSettings().setDisplayZoomControls(false);
 
         // Don't allow mixed content (HTTP and HTTPS) on the same website.
-        if (Build.VERSION.SDK_INT >= 21) {
-            nestedScrollWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_NEVER_ALLOW);
-        }
+        nestedScrollWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_NEVER_ALLOW);
 
         // Set the WebView to load in overview mode (zoomed out to the maximum width).
         nestedScrollWebView.getSettings().setLoadWithOverviewMode(true);
 
         // Set the WebView to load in overview mode (zoomed out to the maximum width).
         nestedScrollWebView.getSettings().setLoadWithOverviewMode(true);
@@ -5304,72 +5279,46 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         });
 
         // Update the status of swipe to refresh based on the scroll position of the nested scroll WebView.  Also reinforce full screen browsing mode.
         });
 
         // Update the status of swipe to refresh based on the scroll position of the nested scroll WebView.  Also reinforce full screen browsing mode.
-        // On API < 23, `getViewTreeObserver().addOnScrollChangedListener()` must be used, but it is a little bit buggy and appears to get garbage collected from time to time.
-        if (Build.VERSION.SDK_INT >= 23) {
-            nestedScrollWebView.setOnScrollChangeListener((view, scrollX, scrollY, oldScrollX, oldScrollY) -> {
-                // Set the swipe to refresh status.
-                if (nestedScrollWebView.getSwipeToRefresh()) {
-                    // Only enable swipe to refresh if the WebView is scrolled to the top.
-                    swipeRefreshLayout.setEnabled(nestedScrollWebView.getScrollY() == 0);
-                } else {
-                    // Disable swipe to refresh.
-                    swipeRefreshLayout.setEnabled(false);
-                }
-
-                //  Scroll the bottom app bar if enabled.
-                if (bottomAppBar && scrollAppBar && !objectAnimator.isRunning()) {
-                    if (scrollY < oldScrollY) {  // The WebView was scrolled down.
-                        // Animate the bottom app bar onto the screen.
-                        objectAnimator = ObjectAnimator.ofFloat(appBarLayout, "translationY", 0);
+        nestedScrollWebView.setOnScrollChangeListener((view, scrollX, scrollY, oldScrollX, oldScrollY) -> {
+            // Set the swipe to refresh status.
+            if (nestedScrollWebView.getSwipeToRefresh()) {
+                // Only enable swipe to refresh if the WebView is scrolled to the top.
+                swipeRefreshLayout.setEnabled(nestedScrollWebView.getScrollY() == 0);
+            } else {
+                // Disable swipe to refresh.
+                swipeRefreshLayout.setEnabled(false);
+            }
 
 
-                        // Make it so.
-                        objectAnimator.start();
-                    } else if (scrollY > oldScrollY) {  // The WebView was scrolled up.
-                        // Animate the bottom app bar off the screen.
-                        objectAnimator = ObjectAnimator.ofFloat(appBarLayout, "translationY", appBarLayout.getHeight());
+            //  Scroll the bottom app bar if enabled.
+            if (bottomAppBar && scrollAppBar && !objectAnimator.isRunning()) {
+                if (scrollY < oldScrollY) {  // The WebView was scrolled down.
+                    // Animate the bottom app bar onto the screen.
+                    objectAnimator = ObjectAnimator.ofFloat(appBarLayout, "translationY", 0);
 
 
-                        // Make it so.
-                        objectAnimator.start();
-                    }
-                }
+                    // Make it so.
+                    objectAnimator.start();
+                } else if (scrollY > oldScrollY) {  // The WebView was scrolled up.
+                    // Animate the bottom app bar off the screen.
+                    objectAnimator = ObjectAnimator.ofFloat(appBarLayout, "translationY", appBarLayout.getHeight());
 
 
-                // Reinforce the system UI visibility flags if in full screen browsing mode.
-                // This hides the status and navigation bars, which are displayed if other elements are shown, like dialog boxes, the options menu, or the keyboard.
-                if (inFullScreenBrowsingMode) {
-                    /* 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.
-                     * SYSTEM_UI_FLAG_HIDE_NAVIGATION hides the navigation bar on the bottom or right of the screen.
-                     * SYSTEM_UI_FLAG_IMMERSIVE_STICKY makes the status and navigation bars translucent and automatically re-hides them after they are shown.
-                     */
-                    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 {
-            nestedScrollWebView.getViewTreeObserver().addOnScrollChangedListener(() -> {
-                if (nestedScrollWebView.getSwipeToRefresh()) {
-                    // Only enable swipe to refresh if the WebView is scrolled to the top.
-                    swipeRefreshLayout.setEnabled(nestedScrollWebView.getScrollY() == 0);
-                } else {
-                    // Disable swipe to refresh.
-                    swipeRefreshLayout.setEnabled(false);
+                    // Make it so.
+                    objectAnimator.start();
                 }
                 }
+            }
 
 
-                // Reinforce the system UI visibility flags if in full screen browsing mode.
-                // This hides the status and navigation bars, which are displayed if other elements are shown, like dialog boxes, the options menu, or the keyboard.
-                if (inFullScreenBrowsingMode) {
-                    /* 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.
-                     * SYSTEM_UI_FLAG_HIDE_NAVIGATION hides the navigation bar on the bottom or right of the screen.
-                     * SYSTEM_UI_FLAG_IMMERSIVE_STICKY makes the status and navigation bars translucent and automatically re-hides them after they are shown.
-                     */
-                    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);
-                }
-            });
-        }
+            // Reinforce the system UI visibility flags if in full screen browsing mode.
+            // This hides the status and navigation bars, which are displayed if other elements are shown, like dialog boxes, the options menu, or the keyboard.
+            if (inFullScreenBrowsingMode) {
+                /* 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.
+                 * SYSTEM_UI_FLAG_HIDE_NAVIGATION hides the navigation bar on the bottom or right of the screen.
+                 * SYSTEM_UI_FLAG_IMMERSIVE_STICKY makes the status and navigation bars translucent and automatically re-hides them after they are shown.
+                 */
+                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);
+            }
+        });
 
         // Set the web chrome client.
         nestedScrollWebView.setWebChromeClient(new WebChromeClient() {
 
         // Set the web chrome client.
         nestedScrollWebView.setWebChromeClient(new WebChromeClient() {
@@ -5501,34 +5450,31 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             // Upload files.
             @Override
             public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
             // Upload files.
             @Override
             public boolean onShowFileChooser(WebView webView, ValueCallback<Uri[]> filePathCallback, FileChooserParams fileChooserParams) {
-                // Show the file chooser if the device is running API >= 21.
-                if (Build.VERSION.SDK_INT >= 21) {
-                    // Store the file path callback.
-                    fileChooserCallback = filePathCallback;
+                // Store the file path callback.
+                fileChooserCallback = filePathCallback;
 
 
-                    // Create an intent to open a chooser based on the file chooser parameters.
-                    Intent fileChooserIntent = fileChooserParams.createIntent();
+                // Create an intent to open a chooser based on the file chooser parameters.
+                Intent fileChooserIntent = fileChooserParams.createIntent();
 
 
-                    // Get a handle for the package manager.
-                    PackageManager packageManager = getPackageManager();
+                // Get a handle for the package manager.
+                PackageManager packageManager = getPackageManager();
 
 
-                    // Check to see if the file chooser intent resolves to an installed package.
-                    if (fileChooserIntent.resolveActivity(packageManager) != null) {  // The file chooser intent is fine.
-                        // Start the file chooser intent.
-                        startActivityForResult(fileChooserIntent, BROWSE_FILE_UPLOAD_REQUEST_CODE);
-                    } else {  // The file chooser intent will cause a crash.
-                        // Create a generic intent to open a chooser.
-                        Intent genericFileChooserIntent = new Intent(Intent.ACTION_GET_CONTENT);
+                // Check to see if the file chooser intent resolves to an installed package.
+                if (fileChooserIntent.resolveActivity(packageManager) != null) {  // The file chooser intent is fine.
+                    // Start the file chooser intent.
+                    startActivityForResult(fileChooserIntent, BROWSE_FILE_UPLOAD_REQUEST_CODE);
+                } else {  // The file chooser intent will cause a crash.
+                    // Create a generic intent to open a chooser.
+                    Intent genericFileChooserIntent = new Intent(Intent.ACTION_GET_CONTENT);
 
 
-                        // Request an openable file.
-                        genericFileChooserIntent.addCategory(Intent.CATEGORY_OPENABLE);
+                    // Request an openable file.
+                    genericFileChooserIntent.addCategory(Intent.CATEGORY_OPENABLE);
 
 
-                        // Set the file type to everything.
-                        genericFileChooserIntent.setType("*/*");
+                    // Set the file type to everything.
+                    genericFileChooserIntent.setType("*/*");
 
 
-                        // Start the generic file chooser intent.
-                        startActivityForResult(genericFileChooserIntent, BROWSE_FILE_UPLOAD_REQUEST_CODE);
-                    }
+                    // Start the generic file chooser intent.
+                    startActivityForResult(genericFileChooserIntent, BROWSE_FILE_UPLOAD_REQUEST_CODE);
                 }
                 return true;
             }
                 }
                 return true;
             }
@@ -5618,7 +5564,10 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
             // Check requests against the block lists.  The deprecated `shouldInterceptRequest()` must be used until minimum API >= 21.
             @Override
 
             // Check requests against the block lists.  The deprecated `shouldInterceptRequest()` must be used until minimum API >= 21.
             @Override
-            public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
+            public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest webResourceRequest) {
+                // Get the URL.
+                String url = webResourceRequest.getUrl().toString();
+
                 // Check to see if the resource request is for the main URL.
                 if (url.equals(nestedScrollWebView.getCurrentUrl())) {
                     // `return null` loads the resource request, which should never be blocked if it is the main URL.
                 // Check to see if the resource request is for the main URL.
                 if (url.equals(nestedScrollWebView.getCurrentUrl())) {
                     // `return null` loads the resource request, which should never be blocked if it is the main URL.
@@ -5638,9 +5587,6 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                     }
                 }
 
                     }
                 }
 
-                // Sanitize the URL.
-                url = sanitizeUrl(url);
-
                 // Create an empty web resource response to be used if the resource request is blocked.
                 WebResourceResponse emptyWebResourceResponse = new WebResourceResponse("text/plain", "utf8", new ByteArrayInputStream("".getBytes()));
 
                 // Create an empty web resource response to be used if the resource request is blocked.
                 WebResourceResponse emptyWebResourceResponse = new WebResourceResponse("text/plain", "utf8", new ByteArrayInputStream("".getBytes()));
 
@@ -5656,31 +5602,25 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 // Store a copy of the current domain for use in later requests.
                 String currentDomain = currentBaseDomain;
 
                 // Store a copy of the current domain for use in later requests.
                 String currentDomain = currentBaseDomain;
 
-                // Nobody is happy when comparing null strings.
-                if (url != null) {
-                    // Convert the request URL to a URI.
-                    Uri requestUri = Uri.parse(url);
-
-                    // Get the request host name.
-                    String requestBaseDomain = requestUri.getHost();
-
-                    // Only check for third-party requests if the current base domain is not empty and the request domain is not null.
-                    if (!currentBaseDomain.isEmpty() && (requestBaseDomain != null)) {
-                        // Determine the current base domain.
-                        while (currentBaseDomain.indexOf(".", currentBaseDomain.indexOf(".") + 1) > 0) {  // There is at least one subdomain.
-                            // Remove the first subdomain.
-                            currentBaseDomain = currentBaseDomain.substring(currentBaseDomain.indexOf(".") + 1);
-                        }
+                // Get the request host name.
+                String requestBaseDomain = webResourceRequest.getUrl().getHost();
 
 
-                        // Determine the request base domain.
-                        while (requestBaseDomain.indexOf(".", requestBaseDomain.indexOf(".") + 1) > 0) {  // There is at least one subdomain.
-                            // Remove the first subdomain.
-                            requestBaseDomain = requestBaseDomain.substring(requestBaseDomain.indexOf(".") + 1);
-                        }
+                // Only check for third-party requests if the current base domain is not empty and the request domain is not null.
+                if (!currentBaseDomain.isEmpty() && (requestBaseDomain != null)) {
+                    // Determine the current base domain.
+                    while (currentBaseDomain.indexOf(".", currentBaseDomain.indexOf(".") + 1) > 0) {  // There is at least one subdomain.
+                        // Remove the first subdomain.
+                        currentBaseDomain = currentBaseDomain.substring(currentBaseDomain.indexOf(".") + 1);
+                    }
 
 
-                        // Update the third party request tracker.
-                        isThirdPartyRequest = !currentBaseDomain.equals(requestBaseDomain);
+                    // Determine the request base domain.
+                    while (requestBaseDomain.indexOf(".", requestBaseDomain.indexOf(".") + 1) > 0) {  // There is at least one subdomain.
+                        // Remove the first subdomain.
+                        requestBaseDomain = requestBaseDomain.substring(requestBaseDomain.indexOf(".") + 1);
                     }
                     }
+
+                    // Update the third party request tracker.
+                    isThirdPartyRequest = !currentBaseDomain.equals(requestBaseDomain);
                 }
 
                 // Get the current WebView page position.
                 }
 
                 // Get the current WebView page position.
@@ -6055,7 +5995,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             @Override
             public void onPageFinished(WebView view, String url) {
                 // Flush any cookies to persistent storage.  The cookie manager has become very lazy about flushing cookies in recent versions.
             @Override
             public void onPageFinished(WebView view, String url) {
                 // Flush any cookies to persistent storage.  The cookie manager has become very lazy about flushing cookies in recent versions.
-                if (nestedScrollWebView.getAcceptCookies() && Build.VERSION.SDK_INT >= 21) {
+                if (nestedScrollWebView.getAcceptCookies()) {
                     CookieManager.getInstance().flush();
                 }
 
                     CookieManager.getInstance().flush();
                 }
 
index f955fb8483afc86f61f0d256c23e1d4150913074..51eddb67b6571bd8257d521d60fbdcf3a859769a 100644 (file)
@@ -207,22 +207,18 @@ class PinnedMismatchPagerAdapter(private val context: Context, private val layou
 
         // Set the color spans according to the theme.  The deprecated `resources` must be used until the minimum API >= 23.
         if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
 
         // Set the color spans according to the theme.  The deprecated `resources` must be used until the minimum API >= 23.
         if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-            @Suppress("DEPRECATION")
-            blueColorSpan = ForegroundColorSpan(context.resources.getColor(R.color.blue_700))
-            @Suppress("DEPRECATION")
-            redColorSpan = ForegroundColorSpan(context.resources.getColor(R.color.red_a700))
+            blueColorSpan = ForegroundColorSpan(context.getColor(R.color.blue_700))
+            redColorSpan = ForegroundColorSpan(context.getColor(R.color.red_a700))
         } else {
         } else {
-            @Suppress("DEPRECATION")
-            blueColorSpan = ForegroundColorSpan(context.resources.getColor(R.color.violet_700))
-            @Suppress("DEPRECATION")
-            redColorSpan = ForegroundColorSpan(context.resources.getColor(R.color.red_900))
+            blueColorSpan = ForegroundColorSpan(context.getColor(R.color.violet_700))
+            redColorSpan = ForegroundColorSpan(context.getColor(R.color.red_900))
         }
 
         // Set the domain name to be blue.
         domainNameStringBuilder.setSpan(blueColorSpan, domainNameLabel.length, domainNameStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
 
         // Color coordinate the IP addresses if they are pinned.
         }
 
         // Set the domain name to be blue.
         domainNameStringBuilder.setSpan(blueColorSpan, domainNameLabel.length, domainNameStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
 
         // Color coordinate the IP addresses if they are pinned.
-        if (!nestedScrollWebView.pinnedIpAddresses.equals("")) {
+        if (nestedScrollWebView.pinnedIpAddresses != "") {
             if (nestedScrollWebView.currentIpAddresses == nestedScrollWebView.pinnedIpAddresses) {
                 ipAddressesStringBuilder.setSpan(blueColorSpan, ipAddressesLabel.length, ipAddressesStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
             } else {
             if (nestedScrollWebView.currentIpAddresses == nestedScrollWebView.pinnedIpAddresses) {
                 ipAddressesStringBuilder.setSpan(blueColorSpan, ipAddressesLabel.length, ipAddressesStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
             } else {
index 49634bae40b71c887ab2e28c1aa4e30d7470bf06..f729cb23319edb1708989800661d10ff7ac148f6 100644 (file)
@@ -1,5 +1,5 @@
 /*
 /*
- * Copyright © 2018-2020 Soren Stoutner <soren@stoutner.com>.
+ * Copyright © 2018-2021 Soren Stoutner <soren@stoutner.com>.
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
  *
  * This file is part of Privacy Browser <https://www.stoutner.com/privacy-browser>.
  *
@@ -79,7 +79,7 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
                 dispositionTextView.setText(requestDefault);
 
                 // Set the background color.
                 dispositionTextView.setText(requestDefault);
 
                 // Set the background color.
-                linearLayout.setBackgroundColor(context.getResources().getColor(R.color.transparent));
+                linearLayout.setBackgroundColor(context.getColor(R.color.transparent));
                 break;
 
             case BlocklistHelper.REQUEST_ALLOWED:
                 break;
 
             case BlocklistHelper.REQUEST_ALLOWED:
@@ -91,9 +91,9 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
 
                 // Set the background color.
                 if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
 
                 // Set the background color.
                 if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-                    linearLayout.setBackgroundColor(context.getResources().getColor(R.color.blue_100));
+                    linearLayout.setBackgroundColor(context.getColor(R.color.blue_100));
                 } else {
                 } else {
-                    linearLayout.setBackgroundColor(context.getResources().getColor(R.color.blue_700_50));
+                    linearLayout.setBackgroundColor(context.getColor(R.color.blue_700_50));
                 }
                 break;
 
                 }
                 break;
 
@@ -106,9 +106,9 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
 
                 // Set the background color.
                 if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
 
                 // Set the background color.
                 if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-                    linearLayout.setBackgroundColor(context.getResources().getColor(R.color.yellow_100));
+                    linearLayout.setBackgroundColor(context.getColor(R.color.yellow_100));
                 } else {
                 } else {
-                    linearLayout.setBackgroundColor(context.getResources().getColor(R.color.yellow_700_50));
+                    linearLayout.setBackgroundColor(context.getColor(R.color.yellow_700_50));
                 }
                 break;
 
                 }
                 break;
 
@@ -122,9 +122,9 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
 
                 // Set the background color.
                 if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
 
                 // Set the background color.
                 if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-                    linearLayout.setBackgroundColor(context.getResources().getColor(R.color.red_100));
+                    linearLayout.setBackgroundColor(context.getColor(R.color.red_100));
                 } else {
                 } else {
-                    linearLayout.setBackgroundColor(context.getResources().getColor(R.color.red_700_40));
+                    linearLayout.setBackgroundColor(context.getColor(R.color.red_700_40));
                 }
                 break;
         }
                 }
                 break;
         }
index 15cfc2cc8795c0731ae3dd96992cbbf84d21ba6a..8c15bc51753ced8a94ee2ec4c1a8a8ff2483bccc 100644 (file)
@@ -134,6 +134,9 @@ public class WebViewPagerAdapter extends FragmentPagerAdapter {
         // Get the WebView frame layout.
         FrameLayout webViewFrameLayout = (FrameLayout) webViewTabFragment.getView();
 
         // Get the WebView frame layout.
         FrameLayout webViewFrameLayout = (FrameLayout) webViewTabFragment.getView();
 
+        // Remove the warning below that the WebView frame layout might be null.
+        assert webViewFrameLayout != null;
+
         // Get a handle for the nested scroll WebView.
         NestedScrollWebView nestedScrollWebView = webViewFrameLayout.findViewById(R.id.nestedscroll_webview);
 
         // Get a handle for the nested scroll WebView.
         NestedScrollWebView nestedScrollWebView = webViewFrameLayout.findViewById(R.id.nestedscroll_webview);
 
index 92e543cececf2dca267eb962bfa7062de7810144..b076fd38b2e62cc6d7eafd8672941b6c08ccb3cd 100644 (file)
@@ -65,10 +65,6 @@ public class GetSourceBackgroundTask {
                 // Get a URI for the content URL.
                 Uri contentUri = Uri.parse(urlString);
 
                 // Get a URI for the content URL.
                 Uri contentUri = Uri.parse(urlString);
 
-                // Define the variables necessary to build the response headers.
-                int oldResponseHeadersBuilderLength;
-                int newResponseHeadersBuilderLength;
-
                 // Get a cursor with metadata about the content URL.
                 Cursor contentCursor = contentResolver.query(contentUri, null, null, null, null);
 
                 // Get a cursor with metadata about the content URL.
                 Cursor contentCursor = contentResolver.query(contentUri, null, null, null, null);
 
@@ -82,14 +78,7 @@ public class GetSourceBackgroundTask {
                     }
 
                     // Add each header to the string builder.
                     }
 
                     // Add each header to the string builder.
-                    if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                        responseHeadersBuilder.append(contentCursor.getColumnName(i), new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                    } else {  // Older versions are not so much.
-                        oldResponseHeadersBuilderLength = responseHeadersBuilder.length();
-                        responseHeadersBuilder.append(contentCursor.getColumnName(i));
-                        newResponseHeadersBuilderLength = responseHeadersBuilder.length();
-                        responseHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldResponseHeadersBuilderLength, newResponseHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                    }
+                    responseHeadersBuilder.append(contentCursor.getColumnName(i), new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                     responseHeadersBuilder.append(":  ");
                     responseHeadersBuilder.append(contentCursor.getString(i));
                 }
                     responseHeadersBuilder.append(":  ");
                     responseHeadersBuilder.append(contentCursor.getString(i));
                 }
@@ -121,23 +110,11 @@ public class GetSourceBackgroundTask {
                 // Open a connection to the URL.  No data is actually sent at this point.
                 HttpURLConnection httpUrlConnection = (HttpURLConnection) url.openConnection(proxy);
 
                 // Open a connection to the URL.  No data is actually sent at this point.
                 HttpURLConnection httpUrlConnection = (HttpURLConnection) url.openConnection(proxy);
 
-                // Define the variables necessary to build the request headers.
-                int oldRequestHeadersBuilderLength;
-                int newRequestHeadersBuilderLength;
-
-
                 // Set the `Host` header property.
                 httpUrlConnection.setRequestProperty("Host", url.getHost());
 
                 // Add the `Host` header to the string builder and format the text.
                 // Set the `Host` header property.
                 httpUrlConnection.setRequestProperty("Host", url.getHost());
 
                 // Add the `Host` header to the string builder and format the text.
-                if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                    requestHeadersBuilder.append("Host", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {  // Older versions not so much.
-                    oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.append("Host");
-                    newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
+                requestHeadersBuilder.append("Host", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                 requestHeadersBuilder.append(":  ");
                 requestHeadersBuilder.append(url.getHost());
 
                 requestHeadersBuilder.append(":  ");
                 requestHeadersBuilder.append(url.getHost());
 
@@ -147,14 +124,7 @@ public class GetSourceBackgroundTask {
 
                 // Add the `Connection` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
 
                 // Add the `Connection` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
-                if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                    requestHeadersBuilder.append("Connection", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {  // Older versions not so much.
-                    oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.append("Connection");
-                    newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
+                requestHeadersBuilder.append("Connection", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                 requestHeadersBuilder.append(":  keep-alive");
 
 
                 requestHeadersBuilder.append(":  keep-alive");
 
 
@@ -163,14 +133,7 @@ public class GetSourceBackgroundTask {
 
                 // Add the `Upgrade-Insecure-Requests` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
 
                 // Add the `Upgrade-Insecure-Requests` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
-                if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                    requestHeadersBuilder.append("Upgrade-Insecure-Requests", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {  // Older versions not so much.
-                    oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.append("Upgrade-Insecure_Requests");
-                    newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
+                requestHeadersBuilder.append("Upgrade-Insecure-Requests", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                 requestHeadersBuilder.append(":  1");
 
 
                 requestHeadersBuilder.append(":  1");
 
 
@@ -179,14 +142,7 @@ public class GetSourceBackgroundTask {
 
                 // Add the `User-Agent` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
 
                 // Add the `User-Agent` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
-                if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                    requestHeadersBuilder.append("User-Agent", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {  // Older versions not so much.
-                    oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.append("User-Agent");
-                    newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
+                requestHeadersBuilder.append("User-Agent", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                 requestHeadersBuilder.append(":  ");
                 requestHeadersBuilder.append(userAgent);
 
                 requestHeadersBuilder.append(":  ");
                 requestHeadersBuilder.append(userAgent);
 
@@ -196,14 +152,7 @@ public class GetSourceBackgroundTask {
 
                 // Add the `x-requested-with` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
 
                 // Add the `x-requested-with` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
-                if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                    requestHeadersBuilder.append("x-requested-with", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {  // Older versions not so much.
-                    oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.append("x-requested-with");
-                    newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
+                requestHeadersBuilder.append("x-requested-with", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                 requestHeadersBuilder.append(":  ");
 
 
                 requestHeadersBuilder.append(":  ");
 
 
@@ -212,14 +161,7 @@ public class GetSourceBackgroundTask {
 
                 // Add the `Sec-Fetch-Site` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
 
                 // Add the `Sec-Fetch-Site` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
-                if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                    requestHeadersBuilder.append("Sec-Fetch-Site", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {  // Older versions not so much.
-                    oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.append("Sec-Fetch-Site");
-                    newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
+                requestHeadersBuilder.append("Sec-Fetch-Site", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                 requestHeadersBuilder.append(":  none");
 
 
                 requestHeadersBuilder.append(":  none");
 
 
@@ -228,14 +170,7 @@ public class GetSourceBackgroundTask {
 
                 // Add the `Sec-Fetch-Mode` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
 
                 // Add the `Sec-Fetch-Mode` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
-                if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                    requestHeadersBuilder.append("Sec-Fetch-Mode", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {  // Older versions not so much.
-                    oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.append("Sec-Fetch-Mode");
-                    newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
+                requestHeadersBuilder.append("Sec-Fetch-Mode", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                 requestHeadersBuilder.append(":  navigate");
 
 
                 requestHeadersBuilder.append(":  navigate");
 
 
@@ -244,14 +179,7 @@ public class GetSourceBackgroundTask {
 
                 // Add the `Sec-Fetch-User` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
 
                 // Add the `Sec-Fetch-User` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
-                if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                    requestHeadersBuilder.append("Sec-Fetch-User", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {  // Older versions not so much.
-                    oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.append("Sec-Fetch-User");
-                    newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
+                requestHeadersBuilder.append("Sec-Fetch-User", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                 requestHeadersBuilder.append(":  ?1");
 
 
                 requestHeadersBuilder.append(":  ?1");
 
 
@@ -260,14 +188,7 @@ public class GetSourceBackgroundTask {
 
                 // Add the `Accept` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
 
                 // Add the `Accept` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
-                if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                    requestHeadersBuilder.append("Accept", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {  // Older versions not so much.
-                    oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.append("Accept");
-                    newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
+                requestHeadersBuilder.append("Accept", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                 requestHeadersBuilder.append(":  ");
                 requestHeadersBuilder.append("text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3");
 
                 requestHeadersBuilder.append(":  ");
                 requestHeadersBuilder.append("text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3");
 
@@ -277,14 +198,7 @@ public class GetSourceBackgroundTask {
 
                 // Add the `Accept-Language` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
 
                 // Add the `Accept-Language` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
-                if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                    requestHeadersBuilder.append("Accept-Language", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {  // Older versions not so much.
-                    oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.append("Accept-Language");
-                    newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
+                requestHeadersBuilder.append("Accept-Language", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                 requestHeadersBuilder.append(":  ");
                 requestHeadersBuilder.append(localeString);
 
                 requestHeadersBuilder.append(":  ");
                 requestHeadersBuilder.append(localeString);
 
@@ -299,14 +213,7 @@ public class GetSourceBackgroundTask {
 
                     // Add the cookie header to the string builder and format the text.
                     requestHeadersBuilder.append(System.getProperty("line.separator"));
 
                     // Add the cookie header to the string builder and format the text.
                     requestHeadersBuilder.append(System.getProperty("line.separator"));
-                    if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                        requestHeadersBuilder.append("Cookie", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                    } else {  // Older versions not so much.
-                        oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                        requestHeadersBuilder.append("Cookie");
-                        newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                        requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                    }
+                    requestHeadersBuilder.append("Cookie", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                     requestHeadersBuilder.append(":  ");
                     requestHeadersBuilder.append(cookiesString);
                 }
                     requestHeadersBuilder.append(":  ");
                     requestHeadersBuilder.append(cookiesString);
                 }
@@ -315,14 +222,7 @@ public class GetSourceBackgroundTask {
                 // `HttpUrlConnection` sets `Accept-Encoding` to be `gzip` by default.  If the property is manually set, than `HttpUrlConnection` does not process the decoding.
                 // Add the `Accept-Encoding` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
                 // `HttpUrlConnection` sets `Accept-Encoding` to be `gzip` by default.  If the property is manually set, than `HttpUrlConnection` does not process the decoding.
                 // Add the `Accept-Encoding` header to the string builder and format the text.
                 requestHeadersBuilder.append(System.getProperty("line.separator"));
-                if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                    requestHeadersBuilder.append("Accept-Encoding", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                } else {  // Older versions not so much.
-                    oldRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.append("Accept-Encoding");
-                    newRequestHeadersBuilderLength = requestHeadersBuilder.length();
-                    requestHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldRequestHeadersBuilderLength, newRequestHeadersBuilderLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                }
+                requestHeadersBuilder.append("Accept-Encoding", new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                 requestHeadersBuilder.append(":  gzip");
 
                 // Ignore SSL errors if requested.
                 requestHeadersBuilder.append(":  gzip");
 
                 // Ignore SSL errors if requested.
@@ -377,13 +277,7 @@ public class GetSourceBackgroundTask {
                     int responseCode = httpUrlConnection.getResponseCode();
 
                     // Populate the response message string builder.
                     int responseCode = httpUrlConnection.getResponseCode();
 
                     // Populate the response message string builder.
-                    if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                        responseMessageBuilder.append(String.valueOf(responseCode), new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                    } else {  // Older versions not so much.
-                        responseMessageBuilder.append(String.valueOf(responseCode));
-                        int newLength = responseMessageBuilder.length();
-                        responseMessageBuilder.setSpan(new StyleSpan(Typeface.BOLD), 0, newLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                    }
+                    responseMessageBuilder.append(String.valueOf(responseCode), new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                     responseMessageBuilder.append(":  ");
                     responseMessageBuilder.append(httpUrlConnection.getResponseMessage());
 
                     responseMessageBuilder.append(":  ");
                     responseMessageBuilder.append(httpUrlConnection.getResponseMessage());
 
@@ -398,14 +292,7 @@ public class GetSourceBackgroundTask {
                         }
 
                         // Add the header to the string builder and format the text.
                         }
 
                         // Add the header to the string builder and format the text.
-                        if (Build.VERSION.SDK_INT >= 21) {  // Newer versions of Android are so smart.
-                            responseHeadersBuilder.append(httpUrlConnection.getHeaderFieldKey(i), new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                        } else {  // Older versions not so much.
-                            int oldLength = responseHeadersBuilder.length();
-                            responseHeadersBuilder.append(httpUrlConnection.getHeaderFieldKey(i));
-                            int newLength = responseHeadersBuilder.length();
-                            responseHeadersBuilder.setSpan(new StyleSpan(Typeface.BOLD), oldLength, newLength, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-                        }
+                        responseHeadersBuilder.append(httpUrlConnection.getHeaderFieldKey(i), new StyleSpan(Typeface.BOLD), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
                         responseHeadersBuilder.append(":  ");
                         responseHeadersBuilder.append(httpUrlConnection.getHeaderField(i));
 
                         responseHeadersBuilder.append(":  ");
                         responseHeadersBuilder.append(httpUrlConnection.getHeaderField(i));
 
index bbbc9d12d8685fb7d457f09c88333bebae03ebce..0a0932fbab31a35fdb17eb3ca1a99003aab4a9b6 100644 (file)
@@ -42,9 +42,9 @@ import androidx.core.content.pm.ShortcutInfoCompat
 import androidx.core.content.pm.ShortcutManagerCompat
 import androidx.core.graphics.drawable.IconCompat
 import androidx.fragment.app.DialogFragment
 import androidx.core.content.pm.ShortcutManagerCompat
 import androidx.core.graphics.drawable.IconCompat
 import androidx.fragment.app.DialogFragment
-import androidx.multidex.BuildConfig
 import androidx.preference.PreferenceManager
 
 import androidx.preference.PreferenceManager
 
+import com.stoutner.privacybrowser.BuildConfig
 import com.stoutner.privacybrowser.R
 
 import java.io.ByteArrayOutputStream
 import com.stoutner.privacybrowser.R
 
 import java.io.ByteArrayOutputStream
index d2e9790b426e8fc928f4c7e420bde8d4be4c5019..f134d5e12538eeff76873b506bf29ea60633768e 100644 (file)
@@ -357,7 +357,7 @@ class AboutVersionFragment : Fragment() {
         val ultraPrivacyStringBuilder = SpannableStringBuilder(ultraPrivacyLabel + blocklistVersions[5])
 
         // Set the blue color span according to the theme.  The deprecated `getColor()` must be used until the minimum API >= 23.
         val ultraPrivacyStringBuilder = SpannableStringBuilder(ultraPrivacyLabel + blocklistVersions[5])
 
         // Set the blue color span according to the theme.  The deprecated `getColor()` must be used until the minimum API >= 23.
-        blueColorSpan = ForegroundColorSpan(resources.getColor(R.color.about_version_blue_text))
+        blueColorSpan = ForegroundColorSpan(requireContext().getColor(R.color.about_version_blue_text))
 
         // Set the spans to display the device information in blue.  `SPAN_INCLUSIVE_INCLUSIVE` allows the span to grow in either direction.
         brandStringBuilder.setSpan(blueColorSpan, brandLabel.length, brandStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
 
         // Set the spans to display the device information in blue.  `SPAN_INCLUSIVE_INCLUSIVE` allows the span to grow in either direction.
         brandStringBuilder.setSpan(blueColorSpan, brandLabel.length, brandStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
@@ -411,50 +411,38 @@ class AboutVersionFragment : Fragment() {
             radioTextView.visibility = View.GONE
         }
 
             radioTextView.visibility = View.GONE
         }
 
-        // Build.VERSION.SECURITY_PATCH is only available for SDK_INT >= 23.
-        if (Build.VERSION.SDK_INT >= 23) {
-            // Setup the label.
-            val securityPatchLabel = getString(R.string.security_patch) + "  "
+        // Setup the label.
+        val securityPatchLabel = getString(R.string.security_patch) + "  "
 
 
-            // Get the security patch version.
-            val securityPatch = Build.VERSION.SECURITY_PATCH
+        // Get the security patch version.
+        val securityPatch = Build.VERSION.SECURITY_PATCH
 
 
-            // Create a spannable string builder.
-            val securityPatchStringBuilder = SpannableStringBuilder(securityPatchLabel + securityPatch)
+        // Create a spannable string builder.
+        val securityPatchStringBuilder = SpannableStringBuilder(securityPatchLabel + securityPatch)
 
 
-            // Set the span to display the security patch version in blue.
-            securityPatchStringBuilder.setSpan(blueColorSpan, securityPatchLabel.length, securityPatchStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
+        // Set the span to display the security patch version in blue.
+        securityPatchStringBuilder.setSpan(blueColorSpan, securityPatchLabel.length, securityPatchStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
 
 
-            // Display the string in the text view.
-            securityPatchTextView.text = securityPatchStringBuilder
-        } else {  // The API < 23.
-            // Hide the security patch text view.
-            securityPatchTextView.visibility = View.GONE
-        }
+        // Display the string in the text view.
+        securityPatchTextView.text = securityPatchStringBuilder
 
 
-        // Only populate the WebView provider if the SDK >= 21.
-        if (Build.VERSION.SDK_INT >= 21) {
-            // Create the WebView provider label.
-            val webViewProviderLabel = getString(R.string.webview_provider) + "  "
+        // Create the WebView provider label.
+        val webViewProviderLabel = getString(R.string.webview_provider) + "  "
 
 
-            // Get the current WebView package info.
-            val webViewPackageInfo = WebViewCompat.getCurrentWebViewPackage(requireContext())!!
+        // Get the current WebView package info.
+        val webViewPackageInfo = WebViewCompat.getCurrentWebViewPackage(requireContext())!!
 
 
-            // Get the WebView provider name.
-            val webViewPackageName = webViewPackageInfo.packageName
+        // Get the WebView provider name.
+        val webViewPackageName = webViewPackageInfo.packageName
 
 
-            // Create the spannable string builder.
-            val webViewProviderStringBuilder = SpannableStringBuilder(webViewProviderLabel + webViewPackageName)
+        // Create the spannable string builder.
+        val webViewProviderStringBuilder = SpannableStringBuilder(webViewProviderLabel + webViewPackageName)
 
 
-            // Apply the coloration.
-            webViewProviderStringBuilder.setSpan(blueColorSpan, webViewProviderLabel.length, webViewProviderStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
+        // Apply the coloration.
+        webViewProviderStringBuilder.setSpan(blueColorSpan, webViewProviderLabel.length, webViewProviderStringBuilder.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
 
 
-            // Display the WebView provider.
-            webViewProviderTextView.text = webViewProviderStringBuilder
-        } else {  // The API < 21.
-            // Hide the WebView provider text view.
-            webViewProviderTextView.visibility = View.GONE
-        }
+        // Display the WebView provider.
+        webViewProviderTextView.text = webViewProviderStringBuilder
 
         // Only populate the Orbot text view if it is installed.
         if (orbot.isNotEmpty()) {
 
         // Only populate the Orbot text view if it is installed.
         if (orbot.isNotEmpty()) {
index 44bae91dd7591c39c038f792843bae75ada7cce0..9ee7dbed2008a8cd3a2a7a82101f0f21e5c5f35f 100644 (file)
@@ -26,6 +26,7 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.webkit.WebResourceRequest
 import android.webkit.WebResourceResponse
 import android.webkit.WebView
 import android.webkit.WebViewClient
 import android.webkit.WebResourceResponse
 import android.webkit.WebView
 import android.webkit.WebViewClient
@@ -105,9 +106,9 @@ class AboutWebViewFragment : Fragment() {
             }
             
             // Process asset requests with the asset loader.
             }
             
             // Process asset requests with the asset loader.
-            override fun shouldInterceptRequest(webView: WebView, url: String): WebResourceResponse? {
+            override fun shouldInterceptRequest(webView: WebView, webResourceRequest: WebResourceRequest): WebResourceResponse? {
                 // This allows using the `appassets.androidplatform.net` URL, which handles the loading of SVG files, which otherwise is prevented by the CORS policy.
                 // This allows using the `appassets.androidplatform.net` URL, which handles the loading of SVG files, which otherwise is prevented by the CORS policy.
-                return webViewAssetLoader.shouldInterceptRequest(Uri.parse(url))
+                return webViewAssetLoader.shouldInterceptRequest(webResourceRequest.url)
             }
         }
 
             }
         }
 
index e26853c856e63ea162e87c22e8958c14c56417f6..4ae52c94c00698e7498cb394a68f76d48f579dfd 100644 (file)
@@ -303,13 +303,13 @@ public class DomainSettingsFragment extends Fragment {
         final ForegroundColorSpan blueColorSpan;
         final ForegroundColorSpan redColorSpan;
 
         final ForegroundColorSpan blueColorSpan;
         final ForegroundColorSpan redColorSpan;
 
-        // Set the color spans according to the theme.  The deprecated `getColor()` must be used until the minimum API >= 23.
+        // Set the color spans according to the theme.
         if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
         if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-            blueColorSpan = new ForegroundColorSpan(resources.getColor(R.color.blue_700));
-            redColorSpan = new ForegroundColorSpan(resources.getColor(R.color.red_a700));
+            blueColorSpan = new ForegroundColorSpan(context.getColor(R.color.blue_700));
+            redColorSpan = new ForegroundColorSpan(context.getColor(R.color.red_a700));
         } else {
         } else {
-            blueColorSpan = new ForegroundColorSpan(resources.getColor(R.color.violet_700));
-            redColorSpan = new ForegroundColorSpan(resources.getColor(R.color.red_900));
+            blueColorSpan = new ForegroundColorSpan(context.getColor(R.color.violet_700));
+            redColorSpan = new ForegroundColorSpan(context.getColor(R.color.red_900));
         }
 
         // Set the domain name from the the database cursor.
         }
 
         // Set the domain name from the the database cursor.
@@ -834,100 +834,91 @@ public class DomainSettingsFragment extends Fragment {
             appWebViewThemeEntryNumber = 0;
         }
 
             appWebViewThemeEntryNumber = 0;
         }
 
-        // Set the WebView theme visibility.
-        if (Build.VERSION.SDK_INT < 21) {  // The WebView theme cannot be set on API 19.
-            // Get a handle for the webView theme linear layout.
-            LinearLayout webViewThemeLinearLayout = domainSettingsView.findViewById(R.id.webview_theme_linearlayout);
+        // Select the WebView theme in the spinner.
+        webViewThemeSpinner.setSelection(webViewThemeInt);
 
 
-            // Hide the WebView theme linear layout.
-            webViewThemeLinearLayout.setVisibility(View.GONE);
-        } else {  // The WebView theme can be set on API >= 21.
-            // Select the WebView theme in the spinner.
-            webViewThemeSpinner.setSelection(webViewThemeInt);
-
-            // Set the WebView theme text.
-            if (appWebViewThemeEntryNumber == DomainsDatabaseHelper.SYSTEM_DEFAULT) {  // The app WebView theme is system default.
-                // Set the text according to the current UI theme.
-                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-                    webViewThemeTextView.setText(webViewThemeStringArray[DomainsDatabaseHelper.LIGHT_THEME]);
-                } else {
-                    webViewThemeTextView.setText(webViewThemeStringArray[DomainsDatabaseHelper.DARK_THEME]);
-                }
-            } else {  // The app WebView theme is not system default.
-                // Set the text according to the app WebView theme.
-                webViewThemeTextView.setText(webViewThemeStringArray[appWebViewThemeEntryNumber]);
-            }
-
-            // Set the WebView theme icon and text visibility.  Once the minimum API >= 21 a selector can be used as the tint mode instead of specifying different icons.
-            switch (webViewThemeInt) {
-                case DomainsDatabaseHelper.SYSTEM_DEFAULT:  // The domain WebView theme is system default.
-                    // Set the icon according to the app WebView theme.
-                    switch (appWebViewThemeEntryNumber) {
-                        case DomainsDatabaseHelper.SYSTEM_DEFAULT:  // The default WebView theme is system default.
-                            // Set the icon according to the app theme.
-                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-                                // Set the light mode icon.
-                                webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_light_theme_day, null));
-                            } else {
-                                // Set the dark theme icon.
-                                webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_dark_theme_night, null));
-                            }
-                            break;
+        // Set the WebView theme text.
+        if (appWebViewThemeEntryNumber == DomainsDatabaseHelper.SYSTEM_DEFAULT) {  // The app WebView theme is system default.
+            // Set the text according to the current UI theme.
+            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
+                webViewThemeTextView.setText(webViewThemeStringArray[DomainsDatabaseHelper.LIGHT_THEME]);
+            } else {
+                webViewThemeTextView.setText(webViewThemeStringArray[DomainsDatabaseHelper.DARK_THEME]);
+            }
+        } else {  // The app WebView theme is not system default.
+            // Set the text according to the app WebView theme.
+            webViewThemeTextView.setText(webViewThemeStringArray[appWebViewThemeEntryNumber]);
+        }
 
 
-                        case DomainsDatabaseHelper.LIGHT_THEME:  // the default WebView theme is light.
-                            // Set the icon according to the app theme.
-                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-                                webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_light_theme_day, null));
-                            } else {
-                                webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_light_theme_night, null));
-                            }
-                            break;
+        // Set the WebView theme icon and text visibility.  Once the minimum API >= 21 a selector can be used as the tint mode instead of specifying different icons.
+        switch (webViewThemeInt) {
+            case DomainsDatabaseHelper.SYSTEM_DEFAULT:  // The domain WebView theme is system default.
+                // Set the icon according to the app WebView theme.
+                switch (appWebViewThemeEntryNumber) {
+                    case DomainsDatabaseHelper.SYSTEM_DEFAULT:  // The default WebView theme is system default.
+                        // Set the icon according to the app theme.
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
+                            // Set the light mode icon.
+                            webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_light_theme_day, null));
+                        } else {
+                            // Set the dark theme icon.
+                            webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_dark_theme_night, null));
+                        }
+                        break;
 
 
-                        case DomainsDatabaseHelper.DARK_THEME:  // the default WebView theme is dark.
-                            // Set the icon according to the app theme.
-                            if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-                                webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_dark_theme_day, null));
-                            } else {
-                                webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_dark_theme_night, null));                            }
-                            break;
-                    }
+                    case DomainsDatabaseHelper.LIGHT_THEME:  // the default WebView theme is light.
+                        // Set the icon according to the app theme.
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
+                            webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_light_theme_day, null));
+                        } else {
+                            webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_light_theme_night, null));
+                        }
+                        break;
 
 
-                    // Show the WebView theme text view.
-                    webViewThemeTextView.setVisibility(View.VISIBLE);
-                    break;
+                    case DomainsDatabaseHelper.DARK_THEME:  // the default WebView theme is dark.
+                        // Set the icon according to the app theme.
+                        if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
+                            webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_dark_theme_day, null));
+                        } else {
+                            webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_dark_theme_night, null));                            }
+                        break;
+                }
 
 
-                case DomainsDatabaseHelper.LIGHT_THEME:  // The domain WebView theme is light.
-                    // Set the icon according to the app theme.
-                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-                        webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_light_theme_day, null));
-                    } else {
-                        webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_light_theme_night, null));
-                    }
+                // Show the WebView theme text view.
+                webViewThemeTextView.setVisibility(View.VISIBLE);
+                break;
 
 
-                    // Hide the WebView theme text view.
-                    webViewThemeTextView.setVisibility(View.GONE);
-                    break;
+            case DomainsDatabaseHelper.LIGHT_THEME:  // The domain WebView theme is light.
+                // Set the icon according to the app theme.
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
+                    webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_light_theme_day, null));
+                } else {
+                    webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_light_theme_night, null));
+                }
 
 
-                case DomainsDatabaseHelper.DARK_THEME:  // The domain WebView theme is dark.
-                    // Set the icon according to the app theme.
-                    if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
-                        webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_dark_theme_day, null));
-                    } else {
-                        webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_dark_theme_night, null));
-                    }
+                // Hide the WebView theme text view.
+                webViewThemeTextView.setVisibility(View.GONE);
+                break;
 
 
-                    // Hide the WebView theme text view.
-                    webViewThemeTextView.setVisibility(View.GONE);
-                    break;
-            }
+            case DomainsDatabaseHelper.DARK_THEME:  // The domain WebView theme is dark.
+                // Set the icon according to the app theme.
+                if (currentThemeStatus == Configuration.UI_MODE_NIGHT_NO) {
+                    webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_dark_theme_day, null));
+                } else {
+                    webViewThemeImageView.setImageDrawable(ResourcesCompat.getDrawable(resources, R.drawable.webview_dark_theme_night, null));
+                }
 
 
-            // Open the WebView theme spinner when the text view is clicked.
-            webViewThemeTextView.setOnClickListener((View v) -> {
-                // Open the WebView theme spinner.
-                webViewThemeSpinner.performClick();
-            });
+                // Hide the WebView theme text view.
+                webViewThemeTextView.setVisibility(View.GONE);
+                break;
         }
 
         }
 
+        // Open the WebView theme spinner when the text view is clicked.
+        webViewThemeTextView.setOnClickListener((View v) -> {
+            // Open the WebView theme spinner.
+            webViewThemeSpinner.performClick();
+        });
+
         // Select the wide viewport in the spinner.
         wideViewportSpinner.setSelection(wideViewportInt);
 
         // Select the wide viewport in the spinner.
         wideViewportSpinner.setSelection(wideViewportInt);
 
index 3e1019ac930c615e9c9b731de683d236b14a8a20..fc817af6700d13ef628f30c05dfd1009b63554b2 100644 (file)
@@ -27,6 +27,7 @@ import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.webkit.WebResourceRequest;
 import android.webkit.WebResourceResponse;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.webkit.WebResourceResponse;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
@@ -116,10 +117,10 @@ public class GuideWebViewFragment extends Fragment {
             }
 
             @Override
             }
 
             @Override
-            public WebResourceResponse shouldInterceptRequest(WebView webView, String url) {
+            public WebResourceResponse shouldInterceptRequest(WebView webView, WebResourceRequest webResourceRequest) {
                 // Have the WebView asset loader process the request.
                 // This allows using the `appassets.androidplatform.net` URL, which handles the loading of SVG files, which otherwise is prevented by the CORS policy.
                 // Have the WebView asset loader process the request.
                 // This allows using the `appassets.androidplatform.net` URL, which handles the loading of SVG files, which otherwise is prevented by the CORS policy.
-                return webViewAssetLoader.shouldInterceptRequest(Uri.parse(url));
+                return webViewAssetLoader.shouldInterceptRequest(webResourceRequest.getUrl());
             }
         });
 
             }
         });
 
index a43e30bd82279d0b9689dbe20e0cd4015e8d3961..bac86c1e1eb3dda46e0346bce93c2d97fba8f1c6 100644 (file)
@@ -316,11 +316,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                 break;
 
             case ProxyHelper.TOR:
                 break;
 
             case ProxyHelper.TOR:
-                if (Build.VERSION.SDK_INT == 19) {  // Proxying through SOCKS doesn't work on Android KitKat.
-                    proxyPreference.setSummary(getString(R.string.tor_enabled_kitkat));
-                } else {
-                    proxyPreference.setSummary(getString(R.string.tor_enabled));
-                }
+                proxyPreference.setSummary(getString(R.string.tor_enabled));
                 break;
 
             case ProxyHelper.I2P:
                 break;
 
             case ProxyHelper.I2P:
@@ -403,20 +399,8 @@ public class SettingsFragment extends PreferenceFragmentCompat {
             webViewThemeEntryNumber = 0;
         }
 
             webViewThemeEntryNumber = 0;
         }
 
-        // Set the visibility of the WebView theme preference.
-        if (Build.VERSION.SDK_INT < 21) {  // The device is running API 19.
-            // Get a handle for the general category.
-            PreferenceCategory generalCategory = findPreference("general");
-
-            // Remove the incorrect lint warning below that the general preference category might be null.
-            assert generalCategory != null;
-
-            // Remove the WebView theme preference.
-            generalCategory.removePreference(webViewThemePreference);
-        } else {  // The device is running API >= 21
-            // Set the current theme as the summary text for the preference.
-            webViewThemePreference.setSummary(webViewThemeEntriesStringArray[webViewThemeEntryNumber]);
-        }
+        // Set the current theme as the summary text for the preference.
+        webViewThemePreference.setSummary(webViewThemeEntriesStringArray[webViewThemeEntryNumber]);
 
 
         // Set the JavaScript icon.
 
 
         // Set the JavaScript icon.
@@ -1441,11 +1425,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                             break;
 
                         case ProxyHelper.TOR:
                             break;
 
                         case ProxyHelper.TOR:
-                            if (Build.VERSION.SDK_INT == 19) {  // Proxying through SOCKS doesn't work on Android KitKat.
-                                proxyPreference.setSummary(context.getString(R.string.tor_enabled_kitkat));
-                            } else {
-                                proxyPreference.setSummary(context.getString(R.string.tor_enabled));
-                            }
+                            proxyPreference.setSummary(context.getString(R.string.tor_enabled));
                             break;
 
                         case ProxyHelper.I2P:
                             break;
 
                         case ProxyHelper.I2P:
index 0cc5105850f23ea07d8c0171e0003ad0b1f98784..2339d8d6f0712cd40421aa8beae8008120d1d6c9 100644 (file)
 
 package com.stoutner.privacybrowser.helpers
 
 
 package com.stoutner.privacybrowser.helpers
 
-import android.annotation.SuppressLint
 import android.content.Context
 import android.content.Intent
 import android.net.Uri
 import android.content.Context
 import android.content.Intent
 import android.net.Uri
-import android.os.Build
-import android.os.Parcelable
-import android.util.ArrayMap
 import android.view.View
 
 import androidx.preference.PreferenceManager
 import android.view.View
 
 import androidx.preference.PreferenceManager
@@ -40,7 +36,6 @@ import com.google.android.material.snackbar.Snackbar
 
 import java.lang.Exception
 import java.lang.IllegalArgumentException
 
 import java.lang.Exception
 import java.lang.IllegalArgumentException
-import java.lang.reflect.InvocationTargetException
 import java.net.InetSocketAddress
 import java.net.Proxy
 import java.net.SocketAddress
 import java.net.InetSocketAddress
 import java.net.Proxy
 import java.net.SocketAddress
@@ -56,30 +51,12 @@ class ProxyHelper {
     }
 
     fun setProxy(context: Context, activityView: View, proxyMode: String) {
     }
 
     fun setProxy(context: Context, activityView: View, proxyMode: String) {
-        // Initialize the proxy host and port strings.
-        var proxyHost = "0"
-        var proxyPort = "0"
-
         // Create a proxy config builder.
         val proxyConfigBuilder = ProxyConfig.Builder()
 
         // Run the commands that correlate to the proxy mode.
         when (proxyMode) {
         // Create a proxy config builder.
         val proxyConfigBuilder = ProxyConfig.Builder()
 
         // Run the commands that correlate to the proxy mode.
         when (proxyMode) {
-            NONE -> {
-                // Clear the proxy values.
-                System.clearProperty("proxyHost")
-                System.clearProperty("proxyPort")
-            }
-
             TOR -> {
             TOR -> {
-                // Update the proxy host and port strings.  These can be removed once the minimum API >= 21.
-                proxyHost = "localhost"
-                proxyPort = "8118"
-
-                // Set the proxy values.  These can be removed once the minimum API >= 21.
-                System.setProperty("proxyHost", proxyHost)
-                System.setProperty("proxyPort", proxyPort)
-
                 // Add the proxy to the builder.  The proxy config builder can use a SOCKS proxy.
                 proxyConfigBuilder.addProxyRule("socks://localhost:9050")
 
                 // Add the proxy to the builder.  The proxy config builder can use a SOCKS proxy.
                 proxyConfigBuilder.addProxyRule("socks://localhost:9050")
 
@@ -100,14 +77,6 @@ class ProxyHelper {
             }
 
             I2P -> {
             }
 
             I2P -> {
-                // Update the proxy host and port strings.  These can be removed once the minimum API >= 21.
-                proxyHost = "localhost"
-                proxyPort = "4444"
-
-                // Set the proxy values.  These can be removed once the minimum API >= 21.
-                System.setProperty("proxyHost", proxyHost)
-                System.setProperty("proxyPort", proxyPort)
-
                 // Add the proxy to the builder.
                 proxyConfigBuilder.addProxyRule("http://localhost:4444")
             }
                 // Add the proxy to the builder.
                 proxyConfigBuilder.addProxyRule("http://localhost:4444")
             }
@@ -121,17 +90,6 @@ class ProxyHelper {
 
                 // Parse the custom proxy URL.
                 try {
 
                 // Parse the custom proxy URL.
                 try {
-                    // Convert the custom proxy URL string to a URI.
-                    val customProxyUri = Uri.parse(customProxyUrlString)
-
-                    // Get the proxy host and port strings from the shared preferences.  These can be removed once the minimum API >= 21.
-                    proxyHost = customProxyUri.host!!
-                    proxyPort = customProxyUri.port.toString()
-
-                    // Set the proxy values.  These can be removed once the minimum API >= 21.
-                    System.setProperty("proxyHost", proxyHost)
-                    System.setProperty("proxyPort", proxyPort)
-
                     // Add the proxy to the builder.
                     proxyConfigBuilder.addProxyRule(customProxyUrlString!!)
                 } catch (exception: Exception) {  // The custom proxy URL is invalid.
                     // Add the proxy to the builder.
                     proxyConfigBuilder.addProxyRule(customProxyUrlString!!)
                 } catch (exception: Exception) {  // The custom proxy URL is invalid.
@@ -142,7 +100,7 @@ class ProxyHelper {
         }
 
         // Apply the proxy settings
         }
 
         // Apply the proxy settings
-        if (WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE)) {  // The fancy new proxy config can be used because the API >= 21.
+        if (WebViewFeature.isFeatureSupported(WebViewFeature.PROXY_OVERRIDE)) {
             // Convert the proxy config builder into a proxy config.
             val proxyConfig = proxyConfigBuilder.build()
 
             // Convert the proxy config builder into a proxy config.
             val proxyConfig = proxyConfigBuilder.build()
 
@@ -161,102 +119,18 @@ class ProxyHelper {
                     Snackbar.make(activityView, R.string.custom_proxy_invalid, Snackbar.LENGTH_LONG).show()
                 }
             }
                     Snackbar.make(activityView, R.string.custom_proxy_invalid, Snackbar.LENGTH_LONG).show()
                 }
             }
-        } else {  // The old proxy method must be used, either because an old WebView is installed or because the API == 19;
-            // Get a handle for the shared preferences.
-            val sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context)
-
-            // Check to make sure a SOCKS proxy is not selected.
-            if ((proxyMode == CUSTOM) &&
-                sharedPreferences.getString(context.getString(R.string.proxy_custom_url_key), context.getString(R.string.proxy_custom_url_default_value))!!.startsWith("socks://")) {
-                // Display a Snackbar.
-                Snackbar.make(activityView, R.string.socks_proxies_do_not_work_on_kitkat, Snackbar.LENGTH_LONG).show()
-            } else {  // Use reflection to apply the new proxy values.
-                try {
-                    // Get the application and APK classes.
-                    val applicationClass = Class.forName("android.app.Application")
-
-                    // Suppress the lint warning that reflection may not always work in the future and on all devices.
-                    @SuppressLint("PrivateApi") val loadedApkClass = Class.forName("android.app.LoadedApk")
-
-                    // Get the declared fields.  Suppress the lint that it is discouraged to access private APIs.
-                    @SuppressLint("DiscouragedPrivateApi") val methodLoadedApkField = applicationClass.getDeclaredField("mLoadedApk")
-                    @SuppressLint("DiscouragedPrivateApi") val methodReceiversField = loadedApkClass.getDeclaredField("mReceivers")
-
-                    // Allow the values to be changed.
-                    methodLoadedApkField.isAccessible = true
-                    methodReceiversField.isAccessible = true
-
-                    // Get the APK object.
-                    val methodLoadedApkObject = methodLoadedApkField[context]
-
-                    // Get an array map of the receivers.
-                    val receivers = methodReceiversField[methodLoadedApkObject] as ArrayMap<*, *>
-
-                    // Set the proxy.
-                    for (receiverMap in receivers.values) {
-                        for (receiver in (receiverMap as ArrayMap<*, *>).keys) {
-                            // Get the receiver class.
-                            // `Class<*>`, which is an `unbounded wildcard parameterized type`, must be used instead of `Class`, which is a `raw type`.  Otherwise, `receiveClass.getDeclaredMethod()` is unhappy.
-                            val receiverClass: Class<*> = receiver.javaClass
-
-                            // Apply the new proxy settings to any classes whose names contain `ProxyChangeListener`.
-                            if (receiverClass.name.contains("ProxyChangeListener")) {
-                                // Get the `onReceive` method from the class.
-                                val onReceiveMethod = receiverClass.getDeclaredMethod("onReceive", Context::class.java, Intent::class.java)
-
-                                // Create a proxy change intent.
-                                val proxyChangeIntent = Intent(android.net.Proxy.PROXY_CHANGE_ACTION)
-
-                                // Set the proxy for API >= 21.
-                                if (Build.VERSION.SDK_INT >= 21) {
-                                    // Get the proxy info class.
-                                    val proxyInfoClass = Class.forName("android.net.ProxyInfo")
-
-                                    // Get the build direct proxy method from the proxy info class.
-                                    val buildDirectProxyMethod = proxyInfoClass.getMethod("buildDirectProxy", String::class.java, Integer.TYPE)
-
-                                    // Populate a proxy info object with the new proxy information.
-                                    val proxyInfoObject = buildDirectProxyMethod.invoke(proxyInfoClass, proxyHost, Integer.valueOf(proxyPort))
-
-                                    // Add the proxy info object into the proxy change intent.
-                                    proxyChangeIntent.putExtra("proxy", proxyInfoObject as Parcelable)
-                                }
-
-                                // Pass the proxy change intent to the `onReceive` method of the receiver class.
-                                onReceiveMethod.invoke(receiver, context, proxyChangeIntent)
-                            }
-                        }
-                    }
-                } catch (exception: ClassNotFoundException) {
-                    // Do nothing.
-                } catch (exception: NoSuchFieldException) {
-                    // Do nothing.
-                } catch (exception: IllegalAccessException) {
-                    // Do nothing.
-                } catch (exception: NoSuchMethodException) {
-                    // Do nothing.
-                } catch (exception: InvocationTargetException) {
-                    // Do nothing.
-                }
-            }
         }
     }
 
     fun getCurrentProxy(context: Context): Proxy {
         // Get the proxy according to the current proxy mode.
         val proxy = when (MainWebViewActivity.proxyMode) {
         }
     }
 
     fun getCurrentProxy(context: Context): Proxy {
         // Get the proxy according to the current proxy mode.
         val proxy = when (MainWebViewActivity.proxyMode) {
-            TOR -> if (Build.VERSION.SDK_INT >= 21) {
+            TOR -> {
                 // Use localhost port 9050 as the socket address.
                 val torSocketAddress: SocketAddress = InetSocketAddress.createUnresolved("localhost", 9050)
 
                 // Create a SOCKS proxy.
                 Proxy(Proxy.Type.SOCKS, torSocketAddress)
                 // Use localhost port 9050 as the socket address.
                 val torSocketAddress: SocketAddress = InetSocketAddress.createUnresolved("localhost", 9050)
 
                 // Create a SOCKS proxy.
                 Proxy(Proxy.Type.SOCKS, torSocketAddress)
-            } else {
-                // Use localhost port 8118 as the socket address.
-                val oldTorSocketAddress: SocketAddress = InetSocketAddress.createUnresolved("localhost", 8118)
-
-                // Create an HTTP proxy.
-                Proxy(Proxy.Type.HTTP, oldTorSocketAddress)
             }
 
             I2P -> {
             }
 
             I2P -> {
index ce6ee3249325976a5a837a346ac6fbcb07696779..8a79f03184d535e7619bb32ede2411f5668523e2 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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" />
         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>
+</vector>
\ No newline at end of file
index 8506e915fecd0ae6761901371e61f94af14ec733..04b7e860127dc7410c014ab573265a4a5775c5f1 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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" />
         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>
+</vector>
\ No newline at end of file
index ae8f192f4b3fd446c27161cec89c426e1e107d7c..cc3f0f8a974e58e9f3cea965dc734e0a590b9387 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF202020"
+        android:fillColor="@color/black"
         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>
         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>
index 4150caa843d632852ad6bc5bfea1fc68b8784248..017140b7db6c5b67b7d44bc77dfbc71ae2cfe8c8 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/white"
         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>
         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>
index 87921013bb98d7159e727c3684a43096be780033..6488d6a3cbf170b9989c8ec95f7122355338f41a 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/white"
         android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
 </vector>
         android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
 </vector>
index 838e4cefd66910dacef4dfeae2169572d72abff3..f4530a376ade2bae6bc284e8a69d40cacf49bcc9 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         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>
         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>
index fd4d9f1e412333fc14b4dc4879cae20fc49e9446..bdd3a0ae258eae20f31cf232634609249c8e145b 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         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>
         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>
index 9840bb820cf4af2c0eccf9688575d6b14b77f7ef..79e90df32e44ce61937d6da85e1bd7a16683694b 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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>
         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>
index ff9fe3978441cbcddf3b21559e7a68daa4c7e802..d75a88a650a61f9e83125a82dc9a6ba35de5c4a3 100644 (file)
@@ -8,6 +8,6 @@
 
     <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
 
     <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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>
         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>
index 52c9ec069dbcf6aeec78a573aad98ddd13bf41d0..6c6f7e39aace165ef879d191c7e2f8ee6ff840b7 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         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>
\ No newline at end of file
         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>
\ No newline at end of file
index 6feeaf837a874b1051db6f24672621a9ccc75f05..19dba64146b617540438f01e6edc39645bdf2593 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         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>
\ No newline at end of file
         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>
\ No newline at end of file
index 8bdfb69d986246d530a4d629fe3b0f0f50c8d4af..e1737386102f05b3a55dd2cc89a2a846834a0ff5 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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>
\ No newline at end of file
         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>
\ No newline at end of file
index 0f60fbad95c7538731872711b448a746d95806b7..7cdbcb0d1f267cb155ad62ac5a5825441fe5371e 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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>
\ No newline at end of file
         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>
\ No newline at end of file
index 83a9ec70dc93012d182e8393481aa3f6c2f2bf04..007e7eeaa25edd41d21d8e19e4570d521e6797e0 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FFB7B7B7"
+        android:fillColor="@color/gray_425"
         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" />
         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>
+</vector>
\ No newline at end of file
index 578362a5d8ba67ef44832178c8bd59619f42220b..b1f93776eac30414cf05703b6d13caa786dbb615 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF616161"
+        android:fillColor="@color/gray_700"
         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" />
         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>
+</vector>
\ No newline at end of file
index 1aea192857cf108e76a79d747b3838f15be38cce..b4bcb03495ec400aa81aad537b6277efbcdda74f 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `style`.  It is released under the Apache License 2.0. -->
 <!-- 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"
 <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"
     android:viewportHeight="24"
     android:height="24dp"
     android:width="24dp"
     android:viewportWidth="24"
     android:viewportHeight="24"
-    android:autoMirrored="true"
-    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
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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
         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
index 7fac5d55ac2033d872cd1b49391fd71371a8ab37..d7e17f5d7965c928429d13b50325e248914c8f5b 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `style`.  It is released under the Apache License 2.0. -->
 <!-- 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"
 <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"
     android:viewportHeight="24"
     android:height="24dp"
     android:width="24dp"
     android:viewportWidth="24"
     android:viewportHeight="24"
-    android:autoMirrored="true"
-    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
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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
         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
index c4f0873fe497af15a4edd2a55969ef0d765a8621..ebe4068ed0a6c7b28d2e91131c489c856575cc40 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24.0"
     android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF000000"
+        android:fillColor="@color/black"
         android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
 </vector>
\ No newline at end of file
         android:pathData="M20,11H7.83l5.59,-5.59L12,4l-8,8 8,8 1.41,-1.41L7.83,13H20v-2z" />
 </vector>
\ No newline at end of file
index 81f2d610f6cc36a0b7d2d791451bd032236b26c1..b89284799d05838570d022711686d4c000a5461c 100644 (file)
@@ -5,8 +5,7 @@
         android:viewportHeight="24"
         android:viewportWidth="24" >
 
         android:viewportHeight="24"
         android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         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>
         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>
index e989a43029640751c5355f6b67a47887ec625c81..f9e3ddd69eae95ee63eb304d248f4e11a6d000aa 100644 (file)
@@ -5,8 +5,7 @@
         android:viewportHeight="24"
         android:viewportWidth="24" >
 
         android:viewportHeight="24"
         android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         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>
         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>
index 706832aed4e56ac792a92c7de7963579eddfd7af..8fcd6a4251b435a1b5b524b3d7930feffcf34836 100644 (file)
@@ -5,8 +5,7 @@
         android:viewportHeight="24"
         android:viewportWidth="24" >
 
         android:viewportHeight="24"
         android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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>
         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>
index e39490a05c406616bac5582c8895ea808d0c2d23..dc60af7af6e8e4cbea1ac31584f1be71d9be1a15 100644 (file)
@@ -5,8 +5,7 @@
         android:viewportHeight="24"
         android:viewportWidth="24" >
 
         android:viewportHeight="24"
         android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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>
         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>
index bace65770521c5afc9bf78d56007581fbbedb6c6..b241424383785df9d1d589ddbde00a0cbde44296 100644 (file)
@@ -7,8 +7,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         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>
         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>
index 65d94c7e446ba54f522dbede0814e29d553bbb43..784953bc68f02a1a0b3fe7af13288efc28ca209f 100644 (file)
@@ -7,8 +7,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         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>
         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>
index 54e80474bedfaaee626e5e7f1cd8a47de207fad5..bb85d997aa4a756c4036d46d054285375aeeac87 100644 (file)
@@ -7,8 +7,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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>
         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>
index 57bd626a790d3fb007a92f5c390109db043d6ce3..707b129e09a60bb1030c16e9e8dd00c9a3ea5433 100644 (file)
@@ -7,8 +7,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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>
         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>
index fc5037fbae85c1d746b63f10233e9bd0f0907933..1cba6edeedb1900dd43034328f49ac5d18b5f2c0 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
 <!-- 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"
 <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:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster" >
+    android:viewportWidth="24" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         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"/>
         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>
+</vector>
\ No newline at end of file
index 44fab862e256af8ca00d5aff6bf9fb43f23ee7b5..63bde342ca52eb3b993ff1a6b5430882002592b9 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
 <!-- 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"
 <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:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster" >
+    android:viewportWidth="24" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         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"/>
         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>
+</vector>
\ No newline at end of file
index 9fa2641d00fb686d8f50b8fc0b4a0a8767cec324..e215933812638a493d1f142d4ce620740292bd78 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
 <!-- 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"
 <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:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster" >
+    android:viewportWidth="24" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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"/>
         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>
+</vector>
\ No newline at end of file
index df51448334bbc931a3f7f2ba6004535f6868d1c9..322176c172a2762b0b654b3a9e9f1b1e46dfe067 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `location_off`.  It is released under the Apache License 2.0. -->
 <!-- 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"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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"/>
         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>
+</vector>
\ No newline at end of file
index cca74f5569476c360ac8f2cf43db523dcf671a02..a46c9f17c291404265c6c8af85d99e2738679b24 100644 (file)
@@ -1,18 +1,12 @@
 <!-- This file comes from the Android Material icon set, where it is called `bookmarks`.  It is released under the Apache License 2.0. -->
 <!-- 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"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster"
-    android:autoMirrored="true" >
+    android:viewportWidth="24" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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"/>
         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>
+</vector>
\ No newline at end of file
index 4caf351459117f6ce4714016ffe934dd21b890e7..b92020e2197d79eb79bcfc1ddfbc4c8b223b8b7b 100644 (file)
@@ -1,18 +1,12 @@
 <!-- This file comes from the Android Material icon set, where it is called `bookmarks`.  It is released under the Apache License 2.0. -->
 <!-- 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"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster"
-    android:autoMirrored="true" >
+    android:viewportWidth="24" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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"/>
         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>
+</vector>
\ No newline at end of file
index 735a435e944de700e48a95673ddc8533715bca9a..313f1a4d27c1ea9707fdad4ba2bab7de50a58950 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         android:pathData="M21,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,19L3,19v-3h18v3z"/>
 </vector>
\ No newline at end of file
         android:pathData="M21,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,19L3,19v-3h18v3z"/>
 </vector>
\ No newline at end of file
index 0a891e6227c6e3b9f74aa1ad678a0f883b0ed7c9..f8542ee6ff82afe2e3b61fb646efc6ef83a1360a 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         android:pathData="M21,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,19L3,19v-3h18v3z"/>
 </vector>
\ No newline at end of file
         android:pathData="M21,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,19L3,19v-3h18v3z"/>
 </vector>
\ No newline at end of file
index fbe36d3625688050796aa51b9a25888eef3f27e8..7964a686c38826d5744ab377bb474b9b8d83cda2 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M21,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,19L3,19v-3h18v3z"/>
 </vector>
\ No newline at end of file
         android:pathData="M21,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,19L3,19v-3h18v3z"/>
 </vector>
\ No newline at end of file
index 5034437609f5469a7380a7e04b46f08d844e55e9..b7a5300610507115acbc5cd1877d8054be450918 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         android:pathData="M21,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,19L3,19v-3h18v3z"/>
 </vector>
\ No newline at end of file
         android:pathData="M21,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,19L3,19v-3h18v3z"/>
 </vector>
\ No newline at end of file
index c2270aa2a0dc25bf024640196b2db94049cd9d67..7a5b071f4f54ec141a33774b8601588e6fbaeea9 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF000000"
+        android:fillColor="@color/black"
         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"/>
 </vector>
\ No newline at end of file
         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"/>
 </vector>
\ No newline at end of file
index 02a0c8dfc24e83e3c281dafd8ef8e572e8785591..cf09bb5893025e45863665ab66b02659e2959880 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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"/>
 </vector>
\ No newline at end of file
         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"/>
 </vector>
\ No newline at end of file
index e5959931291ea577e0af06b8b865471d8f7c84a0..9d218c1bd552a862e32f10083c7c3a578195c609 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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"/>
 </vector>
\ No newline at end of file
         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"/>
 </vector>
\ No newline at end of file
index 6c6560abe366712084301b687e497d49d9ead120..1df23608c8eda508eb7d2a7f1e9263fb570040d5 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FFB71C1C"
+        android:fillColor="@color/red_900"
         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"/>
 </vector>
\ No newline at end of file
         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"/>
 </vector>
\ No newline at end of file
index 091b4161544799eaa9213b47cd8a7800071f683d..8b185391a81ac465c2565833309b2f9405139dc5 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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"/>
         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>
+</vector>
\ No newline at end of file
index 9bf2fa0a95aa9eb5f62e840a1fbabffecaac125f..fbf6d794ef8769d9cf76c25938521c0ab4f12878 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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"/>
         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>
+</vector>
\ No newline at end of file
index df3a5c2cf1d80843cff41759cc9f4a61347afb3c..4369ed5a1fcae4e1346816ca32ef2a89a1af4569 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24.0"
     android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FFB71C1C"
+        android:fillColor="@color/red_900"
         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"/>
         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>
+</vector>
\ No newline at end of file
index cbef7a0fde8ec05c0bc790cd9f5b8abab166ed1b..960aa26db0ed48fa9959fa6fe6a30029347116d1 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FFB71C1C"
+        android:fillColor="@color/red_900"
         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>
         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>
index 06e30aa9ec26967af37622773eb53c3024c42eb6..b90b3f3cd86ad0567427b336cb3ea2f02351a006 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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>
         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>
index 295b9257d289627b76d3a9fa11c65840893b4259..79560283f0a63e12de2a278b751c2b415f530cdf 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
     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
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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>
         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>
index adb58f6843e79020c91ced7d393d37e042f2b2e3..0930e1a85523305d9234a8b62160087418f24f71 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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>
         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>
index 8a1732cdc556071875720c3732ee42884fdd00f7..e3c72fc67269a37452cb79b34d55e7a8eaa790e9 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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>
         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>
index 4d257722029500f559ba5aec21f46bb3ee65c986..b835b947ec08c6fea70b09b2b2ecf70044a05ae4 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF202020"
+        android:fillColor="@color/black"
         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>
         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>
index 87a6d9676ec5d2b674429615c023955f71245845..cad9153a09cb5b8e4d1f668206e72665764f588b 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/white"
         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>
         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>
index 6f9baa8f5016aadd72294129d259facd8c711a09..6abbdf2397b9a797be947b3529d55f8f92cd8157 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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
         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 b87b1cd80ae0045bb98b2df97e7776df6386b3be..bc980e5d5b5d5877e14f9b9f938fd317d5522514 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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
         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 4468a8f757a87a5ae82fb708c677ae1e6bf3f86a..a2eae91c545947f7eec9c9acdb59fadf6ce3a6f2 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         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
         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 5bbbefdf20d42ec4e64c3c69262d3ab2db595202..d0922eae346df5595fb44c51e33d4f45cfd3fa0b 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         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
         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 361bafe4fa1f243fa6e7d8f12eba3b5445956f45..6e982b6c7fda9a080de1d27fef0de6c6a0086146 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FFF57F17"
+        android:fillColor="@color/yellow_900"
         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
         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 445ce90b0e20886481ad04bdc35f36c84fa81ae3..ea405395883710e1c72e250b99efdb5e64cf4549 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FFB71C1C"
+        android:fillColor="@color/red_900"
         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
         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 05a8fa627b2e94a3622e2fe6cadcd64f77034867..513ff017e6ac4dc680a62241e9445548bec673aa 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.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"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    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
     <path
-        android:fillColor="#FF202020"
+        android:fillColor="@color/gray_925"
         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
         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
index 32d7b9d440ebdea902b8f456b53b43f8ec7d02a6..2435c22abdff66cd361d04867f07d02edee0a70c 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.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"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    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
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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
         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
index 1ff95b1180bd683e739bcec4b214d400587d1e8d..ec0b91e76135790721b589b3d51091ffe2a662f8 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.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"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    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
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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
         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
index 1742244f6232b275cd1341fd874688da3f8afdd2..bee5cae3b842d5547bd0592626f0bfffbcbfb7e3 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `file_copy`.  It is released under the Apache License 2.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"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    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
     <path
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/white"
         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
         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
index ae210b28dac762e8b6062978aee9628a80982e0e..800fad4eedeb0b7bf3d808b09fa40da3bf8e2c74 100644 (file)
@@ -7,9 +7,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
     <path
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/white"
         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" />
         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>
 </vector>
index 5b598c2c200fc4ffc2582cb7d2990543b748b9be..91e0b2935fdf5c2d61c1fc9462bd1055d855389b 100644 (file)
@@ -1,18 +1,13 @@
 <!-- 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. -->
 <!-- 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"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    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
     <path
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/white"
         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>
         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>
index 1f31c430d8ddb8167bdc8d909cbe1f59b247ca84..940fde6a080220652aa2190878d94666f6bb6ad6 100644 (file)
@@ -1,18 +1,14 @@
 <!-- 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. -->
 
 <!-- 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"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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>
         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>
index 1b67c431d4401461d2052fbbb94441bfc5f410c9..19fe9d6f7df13c4dd55b398acabaf44e35f4795c 100644 (file)
@@ -1,18 +1,14 @@
 <!-- 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. -->
 
 <!-- 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"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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>
         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>
index bb0084fe448ea2b4d4b5c59ee9b524d9edbceb67..dc3c6a8f7058eb472ccf0f598f1877f297ba188c 100644 (file)
@@ -1,18 +1,14 @@
 <!-- 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. -->
 
 <!-- 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"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FFB7B7B7"
+        android:fillColor="@color/gray_425"
         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>
         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>
index 903cf5185ee259fd2cbe7235d49647d6094f0822..760c7cc238ee1c26162ac935303da24b410ebc32 100644 (file)
@@ -1,18 +1,14 @@
 <!-- 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. -->
 
 <!-- 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"
 <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"
     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 instead. -->
     <path
     <path
-        android:fillColor="#FF616161"
+        android:fillColor="@color/gray_700"
         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>
         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>
index 4f5db2a2ba475bc3729d199be4791c948ea0f0e4..acf8cae033d0bcc7147e00c6710491f1471ec56f 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
     <path
-        android:fillColor="#FF202020"
+        android:fillColor="@color/gray_925"
         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"/>
         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>
+</vector>
\ No newline at end of file
index 99f1e6433c9c13b72abacfd78b53b729fd0ac749..1613ce95787bf476cd6ad257c5d7f05b106108ef 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         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
         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
index 8c5e5ee21ffd029443cb34b7e50f443efbe0ae0d..689cbae80cd12d0c7c163ef2d9b79ef64c24328d 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
     android:viewportHeight="24"
     android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
     <path
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/white"
         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>
         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>
index 7a117c6fe734c6b018cc5d9efbbf7265ede652d9..6af9fa08a0c13334acf352ae2391ee84bb26bd0c 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.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"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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>
         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 971c21ee202e679ae0769094d61809e49a58bc49..b5f8202f2c153c49d0cde8750e44227a26fa6106 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.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"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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>
         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 3edbfb911a6175a7508dcb2c537cff803ae0e69a..145ba997060924a8416abbebefdd5055033bb143 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.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"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         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>
         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 e123a5609e8b2131d1585ffd9c8247d552b78704..cb60ee03a27567babe0bb12e65857aeeea07f00e 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.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"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         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>
         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 5a5e495541580dfcc5749d5dc94c6863d7d8e49a..1a50aafcb1b518f29b088fe25d903962c8c31a01 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.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"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FFF57F17"
+        android:fillColor="@color/yellow_900"
         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>
         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 e26431acae7e929c5c6a2b0b3225ede10eae07f9..5215d138e4aa1ce23bdc2f96127c50c03beff9d8 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.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"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FFB7B7B7"
+        android:fillColor="@color/gray_425"
         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>
         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 800ad1728ed7cd76f7c571054a65473792346e95..3e57af1a56f890cc766114a08e26ba32e4c840f0 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.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"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF616161"
+        android:fillColor="@color/gray_700"
         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>
         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 c7e772af1f0df8aa5360f57d02dec054a6446226..c028230190f23980b22de211f0ab349cd673db17 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `web`.  It is released under the Apache License 2.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"
 <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"
     android:viewportWidth="24"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FFB71C1C"
+        android:fillColor="@color/red_900"
         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>
         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 23a4bab2e1994971f14d6729a2c2e3fbb20b9fbe..75aba930f8698d067f34dd6f61a69e6ac54b448f 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         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>
         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 28f64bb22c355a1e473a48cc64e72d88aecfaa85..b9a481be23ca09970430c57f0b0fed60a363e11c 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file 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
     xmlns:android="http://schemas.android.com/apk/res/android"
 <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:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         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&n