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 {
-        minSdk 19
+        minSdk 23
         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.
-    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"
         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
-            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
-            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
-            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
-            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
-            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
-            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
-            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
-            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
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.os.Build;
 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);
 
-        // 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();
@@ -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);
-        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);
@@ -217,37 +212,28 @@ public class ImportExportActivity extends AppCompatActivity {
                         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:
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.WebResourceRequest;
 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.
-        if (Build.VERSION.SDK_INT >= 21) {
-            WebView.enableSlowWholeDocumentDraw();
-        }
+        WebView.enableSlowWholeDocumentDraw();
 
         // 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);
 
-        // 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);
 
@@ -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.
-                                // 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.
-            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);
@@ -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.
-            if (Build.VERSION.SDK_INT >= 21) {
-                finishAndRemoveTask();
-            } else {
-                finish();
-            }
+            finishAndRemoveTask();
 
             // 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:
-                // 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:
@@ -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;
 
-        // 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) {
-            redColorSpan = new ForegroundColorSpan(getResources().getColor(R.color.red_a700));
+            redColorSpan = new ForegroundColorSpan(getColor(R.color.red_a700));
         } 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.
@@ -4778,12 +4763,8 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
         // 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 {
@@ -4941,11 +4922,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         }
 
         // 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);
@@ -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.
-        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);
@@ -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.
-        // 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() {
@@ -5501,34 +5450,31 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             // 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;
             }
@@ -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
-            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.
@@ -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()));
 
@@ -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;
 
-                // 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.
@@ -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.
-                if (nestedScrollWebView.getAcceptCookies() && Build.VERSION.SDK_INT >= 21) {
+                if (nestedScrollWebView.getAcceptCookies()) {
                     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) {
-            @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 {
-            @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.
-        if (!nestedScrollWebView.pinnedIpAddresses.equals("")) {
+        if (nestedScrollWebView.pinnedIpAddresses != "") {
             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>.
  *
@@ -79,7 +79,7 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
                 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:
@@ -91,9 +91,9 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
 
                 // 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 {
-                    linearLayout.setBackgroundColor(context.getResources().getColor(R.color.blue_700_50));
+                    linearLayout.setBackgroundColor(context.getColor(R.color.blue_700_50));
                 }
                 break;
 
@@ -106,9 +106,9 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
 
                 // 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 {
-                    linearLayout.setBackgroundColor(context.getResources().getColor(R.color.yellow_700_50));
+                    linearLayout.setBackgroundColor(context.getColor(R.color.yellow_700_50));
                 }
                 break;
 
@@ -122,9 +122,9 @@ public class RequestsArrayAdapter extends ArrayAdapter<String[]> {
 
                 // 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 {
-                    linearLayout.setBackgroundColor(context.getResources().getColor(R.color.red_700_40));
+                    linearLayout.setBackgroundColor(context.getColor(R.color.red_700_40));
                 }
                 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();
 
+        // 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);
 
index 92e543cececf2dca267eb962bfa7062de7810144..b076fd38b2e62cc6d7eafd8672941b6c08ccb3cd 100644 (file)
@@ -65,10 +65,6 @@ public class GetSourceBackgroundTask {
                 // 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);
 
@@ -82,14 +78,7 @@ public class GetSourceBackgroundTask {
                     }
 
                     // 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));
                 }
@@ -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);
 
-                // 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.
-                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());
 
@@ -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"));
-                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");
 
 
@@ -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"));
-                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");
 
 
@@ -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"));
-                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);
 
@@ -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"));
-                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(":  ");
 
 
@@ -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"));
-                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");
 
 
@@ -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"));
-                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");
 
 
@@ -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"));
-                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");
 
 
@@ -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"));
-                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");
 
@@ -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"));
-                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);
 
@@ -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"));
-                    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);
                 }
@@ -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"));
-                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.
@@ -377,13 +277,7 @@ public class GetSourceBackgroundTask {
                     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());
 
@@ -398,14 +292,7 @@ public class GetSourceBackgroundTask {
                         }
 
                         // 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));
 
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.multidex.BuildConfig
 import androidx.preference.PreferenceManager
 
+import com.stoutner.privacybrowser.BuildConfig
 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.
-        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)
@@ -411,50 +411,38 @@ class AboutVersionFragment : Fragment() {
             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()) {
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.webkit.WebResourceRequest
 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.
-            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.
-                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;
 
-        // 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) {
-            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 {
-            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.
@@ -834,100 +834,91 @@ public class DomainSettingsFragment extends Fragment {
             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);
 
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.webkit.WebResourceRequest;
 import android.webkit.WebResourceResponse;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
@@ -116,10 +117,10 @@ public class GuideWebViewFragment extends Fragment {
             }
 
             @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.
-                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:
-                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:
@@ -403,20 +399,8 @@ public class SettingsFragment extends PreferenceFragmentCompat {
             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.
@@ -1441,11 +1425,7 @@ public class SettingsFragment extends PreferenceFragmentCompat {
                             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:
index 0cc5105850f23ea07d8c0171e0003ad0b1f98784..2339d8d6f0712cd40421aa8beae8008120d1d6c9 100644 (file)
 
 package com.stoutner.privacybrowser.helpers
 
-import android.annotation.SuppressLint
 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
@@ -40,7 +36,6 @@ import com.google.android.material.snackbar.Snackbar
 
 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
@@ -56,30 +51,12 @@ class ProxyHelper {
     }
 
     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) {
-            NONE -> {
-                // Clear the proxy values.
-                System.clearProperty("proxyHost")
-                System.clearProperty("proxyPort")
-            }
-
             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")
 
@@ -100,14 +77,6 @@ class ProxyHelper {
             }
 
             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")
             }
@@ -121,17 +90,6 @@ class ProxyHelper {
 
                 // 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.
@@ -142,7 +100,7 @@ class ProxyHelper {
         }
 
         // 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()
 
@@ -161,102 +119,18 @@ class ProxyHelper {
                     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) {
-            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)
-            } 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 -> {
index ce6ee3249325976a5a837a346ac6fbcb07696779..8a79f03184d535e7619bb32ede2411f5668523e2 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FF1565C0"
+        android: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" />
-</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" >
 
-    <!-- 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="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" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <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>
index 4150caa843d632852ad6bc5bfea1fc68b8784248..017140b7db6c5b67b7d44bc77dfbc71ae2cfe8c8 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FFFFFFFF"
+        android: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>
index 87921013bb98d7159e727c3684a43096be780033..6488d6a3cbf170b9989c8ec95f7122355338f41a 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/white"
         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" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <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>
index fd4d9f1e412333fc14b4dc4879cae20fc49e9446..bdd3a0ae258eae20f31cf232634609249c8e145b 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FF9E9E9E"
+        android: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>
index 9840bb820cf4af2c0eccf9688575d6b14b77f7ef..79e90df32e44ce61937d6da85e1bd7a16683694b 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FF1565C0"
+        android: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>
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
-        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>
index 52c9ec069dbcf6aeec78a573aad98ddd13bf41d0..6c6f7e39aace165ef879d191c7e2f8ee6ff840b7 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FF757575"
+        android: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
index 6feeaf837a874b1051db6f24672621a9ccc75f05..19dba64146b617540438f01e6edc39645bdf2593 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF9E9E9E"
+        android: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
index 8bdfb69d986246d530a4d629fe3b0f0f50c8d4af..e1737386102f05b3a55dd2cc89a2a846834a0ff5 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF1565C0"
+        android: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
index 0f60fbad95c7538731872711b448a746d95806b7..7cdbcb0d1f267cb155ad62ac5a5825441fe5371e 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#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
index 83a9ec70dc93012d182e8393481aa3f6c2f2bf04..007e7eeaa25edd41d21d8e19e4570d521e6797e0 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FFB7B7B7"
+        android: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" />
-</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" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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" />
-</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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportWidth="24"
     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
-        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
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportWidth="24"
     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
-        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
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24.0"
     android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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
index 81f2d610f6cc36a0b7d2d791451bd032236b26c1..b89284799d05838570d022711686d4c000a5461c 100644 (file)
@@ -5,8 +5,7 @@
         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
-        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>
index e989a43029640751c5355f6b67a47887ec625c81..f9e3ddd69eae95ee63eb304d248f4e11a6d000aa 100644 (file)
@@ -5,8 +5,7 @@
         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
-        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>
index 706832aed4e56ac792a92c7de7963579eddfd7af..8fcd6a4251b435a1b5b524b3d7930feffcf34836 100644 (file)
@@ -5,8 +5,7 @@
         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
-        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>
index e39490a05c406616bac5582c8895ea808d0c2d23..dc60af7af6e8e4cbea1ac31584f1be71d9be1a15 100644 (file)
@@ -5,8 +5,7 @@
         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
-        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>
index bace65770521c5afc9bf78d56007581fbbedb6c6..b241424383785df9d1d589ddbde00a0cbde44296 100644 (file)
@@ -7,8 +7,7 @@
     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
-        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>
index 65d94c7e446ba54f522dbede0814e29d553bbb43..784953bc68f02a1a0b3fe7af13288efc28ca209f 100644 (file)
@@ -7,8 +7,7 @@
     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
-        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>
index 54e80474bedfaaee626e5e7f1cd8a47de207fad5..bb85d997aa4a756c4036d46d054285375aeeac87 100644 (file)
@@ -7,8 +7,7 @@
     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
-        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>
index 57bd626a790d3fb007a92f5c390109db043d6ce3..707b129e09a60bb1030c16e9e8dd00c9a3ea5433 100644 (file)
@@ -7,8 +7,7 @@
     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
-        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>
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster" >
+    android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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"/>
-</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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster" >
+    android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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"/>
-</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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster" >
+    android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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"/>
-</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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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"/>
-</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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster"
-    android:autoMirrored="true" >
+    android:viewportWidth="24" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <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"/>
-</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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    android:viewportWidth="24"
-    tools:ignore="VectorRaster"
-    android:autoMirrored="true" >
+    android:viewportWidth="24" >
 
-    <!-- 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="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" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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
index 0a891e6227c6e3b9f74aa1ad678a0f883b0ed7c9..f8542ee6ff82afe2e3b61fb646efc6ef83a1360a 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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
index fbe36d3625688050796aa51b9a25888eef3f27e8..7964a686c38826d5744ab377bb474b9b8d83cda2 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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
index 5034437609f5469a7380a7e04b46f08d844e55e9..b7a5300610507115acbc5cd1877d8054be450918 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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
index c2270aa2a0dc25bf024640196b2db94049cd9d67..7a5b071f4f54ec141a33774b8601588e6fbaeea9 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#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
index 02a0c8dfc24e83e3c281dafd8ef8e572e8785591..cf09bb5893025e45863665ab66b02659e2959880 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF1565C0"
+        android: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
index e5959931291ea577e0af06b8b865471d8f7c84a0..9d218c1bd552a862e32f10083c7c3a578195c609 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#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
index 6c6560abe366712084301b687e497d49d9ead120..1df23608c8eda508eb7d2a7f1e9263fb570040d5 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#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
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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"/>
-</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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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"/>
-</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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24.0"
     android:viewportWidth="24.0"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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"/>
-</vector>
+</vector>
\ No newline at end of file
index cbef7a0fde8ec05c0bc790cd9f5b8abab166ed1b..960aa26db0ed48fa9959fa6fe6a30029347116d1 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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>
index 06e30aa9ec26967af37622773eb53c3024c42eb6..b90b3f3cd86ad0567427b336cb3ea2f02351a006 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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>
index 295b9257d289627b76d3a9fa11c65840893b4259..79560283f0a63e12de2a278b751c2b415f530cdf 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#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>
index adb58f6843e79020c91ced7d393d37e042f2b2e3..0930e1a85523305d9234a8b62160087418f24f71 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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>
index 8a1732cdc556071875720c3732ee42884fdd00f7..e3c72fc67269a37452cb79b34d55e7a8eaa790e9 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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>
index 4d257722029500f559ba5aec21f46bb3ee65c986..b835b947ec08c6fea70b09b2b2ecf70044a05ae4 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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>
index 87a6d9676ec5d2b674429615c023955f71245845..cad9153a09cb5b8e4d1f668206e72665764f588b 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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>
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <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
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <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
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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- 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="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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FFFFFFFF"
+        android: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
index ae210b28dac762e8b6062978aee9628a80982e0e..800fad4eedeb0b7bf3d808b09fa40da3bf8e2c74 100644 (file)
@@ -7,9 +7,7 @@
     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
-        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" />
-
 </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. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FFFFFFFF"
+        android: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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster">
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    tools:ignore="VectorRaster">
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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>
index 4f5db2a2ba475bc3729d199be4791c948ea0f0e4..acf8cae033d0bcc7147e00c6710491f1471ec56f 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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"/>
-</vector>
+</vector>
\ No newline at end of file
index 99f1e6433c9c13b72abacfd78b53b729fd0ac749..1613ce95787bf476cd6ad257c5d7f05b106108ef 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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
index 8c5e5ee21ffd029443cb34b7e50f443efbe0ae0d..689cbae80cd12d0c7c163ef2d9b79ef64c24328d 100644 (file)
@@ -6,8 +6,7 @@
     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
-        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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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>
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. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <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 -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 de9ffcd86f6ed9ca362b69e96ae697fb73f75dff..fb28ef35d62dffe7f91d1ff8cab76fe8174c5de9 100644 (file)
@@ -1,26 +1,19 @@
 <!-- This file is derived from `exit_to_app`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+    Modifications copyright © 2017,2022 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24.0"
     android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF757575"
-        android:pathData="M2.096,3.377H15.51c1.064,0 1.916,0.862 1.916,1.916V9.126H15.51V5.293H2.096V18.707H15.51v-3.833h1.916v3.833c0,1.054 -0.853,1.916 -1.916,1.916H2.096c-1.054,0 -1.916,-0.862 -1.916,-1.916V5.293c0,-1.054 0.862,-1.916 1.916,-1.916z"
-        android:strokeWidth="0.95815897" />
+        android:fillColor="@color/gray_600"
+        android:pathData="M2.096,3.377H15.51c1.064,0 1.916,0.862 1.916,1.916V9.126H15.51V5.293H2.096V18.707H15.51v-3.833h1.916v3.833c0,1.054 -0.853,1.916 -1.916,1.916H2.096c-1.054,0 -1.916,-0.862 -1.916,-1.916V5.293c0,-1.054 0.862,-1.916 1.916,-1.916z" />
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF757575"
-        android:pathData="m17.845,15.44 l1.351,1.351 4.791,-4.791 -4.791,-4.791 -1.351,1.351 2.472,2.482H8.096v1.916H20.317Z"
-        android:strokeWidth="0.95815897" />
+        android:fillColor="@color/gray_600"
+        android:pathData="m17.845,15.44 l1.351,1.351 4.791,-4.791 -4.791,-4.791 -1.351,1.351 2.472,2.482H8.096v1.916H20.317Z" />
 </vector>
\ No newline at end of file
index 38e44bbd7b2a138a5def832c030a462e859a4826..d15bf91f30a26d8d9a33841169286a4cab44d41c 100644 (file)
@@ -1,26 +1,19 @@
 <!-- This file is derived from `exit_to_app`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+    Modifications copyright © 2017,2022 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24.0"
     android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="M2.096,3.377H15.51c1.064,0 1.916,0.862 1.916,1.916V9.126H15.51V5.293H2.096V18.707H15.51v-3.833h1.916v3.833c0,1.054 -0.853,1.916 -1.916,1.916H2.096c-1.054,0 -1.916,-0.862 -1.916,-1.916V5.293c0,-1.054 0.862,-1.916 1.916,-1.916z"
-        android:strokeWidth="0.95815897" />
+        android:fillColor="@color/gray_500"
+        android:pathData="M2.096,3.377H15.51c1.064,0 1.916,0.862 1.916,1.916V9.126H15.51V5.293H2.096V18.707H15.51v-3.833h1.916v3.833c0,1.054 -0.853,1.916 -1.916,1.916H2.096c-1.054,0 -1.916,-0.862 -1.916,-1.916V5.293c0,-1.054 0.862,-1.916 1.916,-1.916z" />
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF9E9E9E"
-        android:pathData="m17.845,15.44 l1.351,1.351 4.791,-4.791 -4.791,-4.791 -1.351,1.351 2.472,2.482H8.096v1.916H20.317Z"
-        android:strokeWidth="0.95815897" />
+        android:fillColor="@color/gray_500"
+        android:pathData="m17.845,15.44 l1.351,1.351 4.791,-4.791 -4.791,-4.791 -1.351,1.351 2.472,2.482H8.096v1.916H20.317Z" />
 </vector>
\ No newline at end of file
index 971eec7772fc25c883b22b9c7277e6d4d437706a..b80db4237fd2fed4513234c408b1a56bc7264a6f 100644 (file)
@@ -1,26 +1,19 @@
 <!-- This file is derived from `exit_to_app`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+    Modifications copyright © 2017,2022 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24.0"
     android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF1565C0"
-        android:pathData="M2.096,3.377H15.51c1.064,0 1.916,0.862 1.916,1.916V9.126H15.51V5.293H2.096V18.707H15.51v-3.833h1.916v3.833c0,1.054 -0.853,1.916 -1.916,1.916H2.096c-1.054,0 -1.916,-0.862 -1.916,-1.916V5.293c0,-1.054 0.862,-1.916 1.916,-1.916z"
-        android:strokeWidth="0.95815897" />
+        android:fillColor="@color/blue_800"
+        android:pathData="M2.096,3.377H15.51c1.064,0 1.916,0.862 1.916,1.916V9.126H15.51V5.293H2.096V18.707H15.51v-3.833h1.916v3.833c0,1.054 -0.853,1.916 -1.916,1.916H2.096c-1.054,0 -1.916,-0.862 -1.916,-1.916V5.293c0,-1.054 0.862,-1.916 1.916,-1.916z" />
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF1565C0"
-        android:pathData="m17.845,15.44 l1.351,1.351 4.791,-4.791 -4.791,-4.791 -1.351,1.351 2.472,2.482H8.096v1.916H20.317Z"
-        android:strokeWidth="0.95815897" />
+        android:fillColor="@color/blue_800"
+        android:pathData="m17.845,15.44 l1.351,1.351 4.791,-4.791 -4.791,-4.791 -1.351,1.351 2.472,2.482H8.096v1.916H20.317Z" />
 </vector>
\ No newline at end of file
index 78b6d66db1b4f4220956379cbc37019639bb7a28..c5bc5186fc629ddfc2eadd68115aa6de46d1500d 100644 (file)
@@ -1,26 +1,19 @@
 <!-- This file is derived from `exit_to_app`, which is part of the Android Material icon set.  It is released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+    Modifications copyright © 2017,2022 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24.0"
     android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF8AB4F8"
-        android:pathData="M2.096,3.377H15.51c1.064,0 1.916,0.862 1.916,1.916V9.126H15.51V5.293H2.096V18.707H15.51v-3.833h1.916v3.833c0,1.054 -0.853,1.916 -1.916,1.916H2.096c-1.054,0 -1.916,-0.862 -1.916,-1.916V5.293c0,-1.054 0.862,-1.916 1.916,-1.916z"
-        android:strokeWidth="0.95815897" />
+        android:fillColor="@color/violet_500"
+        android:pathData="M2.096,3.377H15.51c1.064,0 1.916,0.862 1.916,1.916V9.126H15.51V5.293H2.096V18.707H15.51v-3.833h1.916v3.833c0,1.054 -0.853,1.916 -1.916,1.916H2.096c-1.054,0 -1.916,-0.862 -1.916,-1.916V5.293c0,-1.054 0.862,-1.916 1.916,-1.916z" />
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF8AB4F8"
-        android:pathData="m17.845,15.44 l1.351,1.351 4.791,-4.791 -4.791,-4.791 -1.351,1.351 2.472,2.482H8.096v1.916H20.317Z"
-        android:strokeWidth="0.95815897" />
+        android:fillColor="@color/violet_500"
+        android:pathData="m17.845,15.44 l1.351,1.351 4.791,-4.791 -4.791,-4.791 -1.351,1.351 2.472,2.482H8.096v1.916H20.317Z" />
 </vector>
\ No newline at end of file
index a242b72e03174cde339eea366328b6fd9511ad87..d16ba682be49b638bf73206ec964e2d83fea7984 100644 (file)
@@ -6,8 +6,7 @@
     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
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
 </vector>
\ No newline at end of file
index c485dd5f50a81c7e5abe91c933607b207b084573..0ab0af0ae3de167a6898475b9a440c99656bc074 100644 (file)
@@ -6,8 +6,7 @@
     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
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z" />
 </vector>
\ No newline at end of file
index 3508d7979d3f0b45c4884d8b8a78444b844afbc2..5468c7066c0d54e9dc84c504d745c922628ddab1 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `edit`.  It is released under the Apache License 2.0. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF202020"
+        android:fillColor="@color/gray_925"
         android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
 </vector>
index bad07f55a99a9d6e091d2d0ab6b5f0db34047b77..57be2b2c9ba63f8169377267c4b6b753dc30deb1 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `edit`.  It is released under the Apache License 2.0. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/white"
         android:pathData="M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"/>
 </vector>
index 00bb4efa6e31a99e76d62bcee5293a96aae1039e..4b381e0dafb917d6aa9d0567aad97e52a302b907 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF0D47A1"
+        android:fillColor="@color/blue_900"
         android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/>
 </vector>
index a5b27aaed59e92ede9eed381981a71daa41990c7..9fac7f5ac598098e26dad925ece85a806cb8b399 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z"/>
 </vector>
index 9f7596e850e38ba80dd01d5e65bf90f927d98d48..af023a46ea4a74510f4b8474afaf11ecf03e7fb4 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `text_fields`.  It is released under the Apache License 2.0. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M2.5,4v3h5v12h3L10.5,7h5L15.5,4h-13zM21.5,9h-9v3h3v7h3v-7h3L21.5,9z" />
 </vector>
\ No newline at end of file
index 3393679188594d040693d55d93f34fb743c73e81..a27a9403bca36a55c75c36e1759310848a4cca3a 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `text_fields`.  It is released under the Apache License 2.0. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         android:pathData="M2.5,4v3h5v12h3L10.5,7h5L15.5,4h-13zM21.5,9h-9v3h3v7h3v-7h3L21.5,9z" />
 </vector>
\ No newline at end of file
index a1d2d6d0f0eae6d0009baa620654f581d787d66a..84b3941c76a0c97e70bcc98b8dabc5d3a7114a0f 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
 </vector>
index 5909f78e13376c8295e02614d4c40a787059e3e8..1dd81cfd799b3f163b1c5698d6e438887ec4e317 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
-</vector>
+</vector>
\ No newline at end of file
index 15cc20997bb4465ea4fdd989dcb79fe199b0cf6f..eb06b7d38d63f6c923e0ace9f43aba8516d42f70 100644 (file)
@@ -1,18 +1,14 @@
 <!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
 
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
-</vector>
+</vector>
\ No newline at end of file
index b3c51a9b719f9db7f4d0800287c755130db6e1f8..d3818dd4c9966baa15e868dc0694530088b33f13 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
-</vector>
+</vector>
\ No newline at end of file
index ce0cfbf5d3cec5b88bb993709e32088681375f68..432453df5effd71adab14e5b2c4180a7c5cc4cb4 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FFF57F17"
+        android:fillColor="@color/yellow_900"
         android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
-</vector>
+</vector>
\ No newline at end of file
index f0a766d1b211664923f1aa3cf6b33c37613e1bbe..3ab13bf5ace101e91d190d02206bfbab67c13240 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `subtitles`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="26dp"
     android:width="26dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FFB71C1C"
+        android:fillColor="@color/red_900"
         android:pathData="M20,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM4,12h4v2L4,14v-2zM14,18L4,18v-2h10v2zM20,18h-4v-2h4v2zM20,14L10,14v-2h10v2z"/>
-</vector>
+</vector>
\ No newline at end of file
index bea8b20f63c6ae53bfd98548cb26bf775aaa8e4f..1b8376ddac21f01b9f9d6d1e5b8d47595b69054a 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `arrow_forward`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24.0"
     android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF000000"
+        android:fillColor="@color/black"
         android:pathData="M12,4l-1.41,1.41L16.17,11H4v2h12.17l-5.58,5.59L12,20l8,-8z" />
 </vector>
\ No newline at end of file
index 61c4464ef005cd206e3b0e3a9aa06a536a336f91..8dda83e6d1ea2cf28f1a35b003b7968df8f593bf 100644 (file)
@@ -6,8 +6,7 @@
     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
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
-</vector>
+</vector>
\ No newline at end of file
index a691296dcaa00e370b314e8fae4234de51e9b70a..1733a5349f09752d1d231e846b1e84b1e706a33e 100644 (file)
@@ -6,8 +6,7 @@
     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
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
-</vector>
+</vector>
\ No newline at end of file
index 4e8ee23faf34c783622558bbd17f2ea15af07906..2d7de7de5a136b5ed25bc3e322c454d6ada24a8b 100644 (file)
@@ -6,8 +6,7 @@
     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
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
-</vector>
+</vector>
\ No newline at end of file
index 9db12ff8b827234e6a076e375ced927a48e44b21..259892b9813c9fd18ba128ee6b3c51bd4d400a3a 100644 (file)
@@ -6,8 +6,7 @@
     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
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         android:pathData="M17,1.01L7,1c-1.1,0 -2,0.9 -2,2v18c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V3c0,-1.1 -0.9,-1.99 -2,-1.99zM17,19H7V5h10v14z"/>
-</vector>
+</vector>
\ No newline at end of file
index 503f81bf2aad06a86ece0fa0850e31c07e82e06d..5e2009fc75a47d95bc9eeb7e9dc9ca16bdaf8c1f 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `import_contacts`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24.0"
     android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF000000"
+        android:fillColor="@color/black"
         android:pathData="M21,5c-1.11,-0.35 -2.33,-0.5 -3.5,-0.5 -1.95,0 -4.05,0.4 -5.5,1.5 -1.45,-1.1 -3.55,-1.5 -5.5,-1.5S2.45,4.9 1,6v14.65c0,0.25 0.25,0.5 0.5,0.5 0.1,0 0.15,-0.05 0.25,-0.05C3.1,20.45 5.05,20 6.5,20c1.95,0 4.05,0.4 5.5,1.5 1.35,-0.85 3.8,-1.5 5.5,-1.5 1.65,0 3.35,0.3 4.75,1.05 0.1,0.05 0.15,0.05 0.25,0.05 0.25,0 0.5,-0.25 0.5,-0.5L23,6c-0.6,-0.45 -1.25,-0.75 -2,-1zM21,18.5c-1.1,-0.35 -2.3,-0.5 -3.5,-0.5 -1.7,0 -4.15,0.65 -5.5,1.5L12,8c1.35,-0.85 3.8,-1.5 5.5,-1.5 1.2,0 2.4,0.15 3.5,0.5v11.5z" />
-</vector>
+</vector>
\ No newline at end of file
index 91cd43f444c4c723a9a388639915d451a1068653..01fd778fbb834ccb971bc67f015880585a75fc7c 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `list`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24.0"
     android:viewportWidth="24.0"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF000000"
+        android:fillColor="@color/black"
         android:pathData="M3,13h2v-2L3,11v2zM3,17h2v-2L3,15v2zM3,9h2L5,7L3,7v2zM7,13h14v-2L7,11v2zM7,17h14v-2L7,15v2zM7,7v2h14L21,7L7,7z" />
-</vector>
+</vector>
\ No newline at end of file
index fdd7157306f42d663e91b2947af5e2fc1f3f7e97..0762be201b84841b6bf78b902a35bed8df3185c6 100644 (file)
@@ -6,8 +6,7 @@
     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
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
 </vector>
\ No newline at end of file
index 1f683aae34c25660db12ec2646f56b74ff99c3cb..5e3e731c328809e5bdb2476324d0b6030ddf921e 100644 (file)
@@ -6,8 +6,7 @@
     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
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
 </vector>
\ No newline at end of file
index 293dc593bfd7d2ca9e8594ee23db73c5eaf2bcef..94c9c6681317b7cd50f1f243a16bc1b31600ef62 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
-</vector>
+</vector>
\ No newline at end of file
index 568c73850051dbca952771e37f8b3e2e68cfecf4..6f485fde15cb0aee720b56ad39e250f74378bd15 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
-</vector>
+</vector>
\ No newline at end of file
index c43a90e278f05a3794671e6e7072c9363ac7ec5e..ba92caea71b5acca23c676348b494dedc42cd28b 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
-</vector>
+</vector>
\ No newline at end of file
index 4dee11f32076108f1aa7d4192c258f522ea03853..3cc63a8d3a092bca8e9cc98ca0c6dbfd11829d98 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
-</vector>
+</vector>
\ No newline at end of file
index 265962824ce1769b857d90dc4702eabd806fdbeb..c5172e34c611df62402be9fefae408c0148a08a9 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF202020"
+        android:fillColor="@color/gray_925"
         android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
-</vector>
+</vector>
\ No newline at end of file
index ff0d06cbcf2505fecd5cdbfbcf6ef7389e8637d2..9b356f13320c40d3179de6b16bac118559975a0e 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `image`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/white"
         android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
-</vector>
+</vector>
\ No newline at end of file
index 577fde7ea066ea12210f1a5c1dff6cc1a07039a1..27341e3a4fa8dc1f49f16950e45b19611ba9dd9a 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `import_export`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     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
-        android:fillColor="#FF5785C5"
+        android:fillColor="@color/black"
         android:pathData="M9,3L5,6.99h3L8,14h2L10,6.99h3L9,3zM16,17.01L16,10h-2v7.01h-3L15,21l4,-3.99h-3z" />
 </vector>
\ No newline at end of file
index c6b6208133ddde7221e139f49cb9acc872f7de56..394af9773d232587cfa73dff4e2737713a101ab3 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    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
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
-</vector>
+</vector>
\ No newline at end of file
index b540b3ba66081119c5c0e42c45ca28210cc76573..c34f5ebb06967d155a7911eec7a9b7baa72a228f 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    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
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
-</vector>
+</vector>
\ No newline at end of file
index 97364d786e11849568a82d7797a4201303bccfa4..d83c062baa5b3be22ca310270c53b20210d186a5 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    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
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
-</vector>
+</vector>
\ No newline at end of file
index 725bca08834534a3dc1778436fee04de4be5deeb..9b5201679a84315439eeac8546ec3192289a357c 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `visibility_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    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
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         android:pathData="M12,7c2.76,0 5,2.24 5,5 0,0.65 -0.13,1.26 -0.36,1.83l2.92,2.92c1.51,-1.26 2.7,-2.89 3.43,-4.75 -1.73,-4.39 -6,-7.5 -11,-7.5 -1.4,0 -2.74,0.25 -3.98,0.7l2.16,2.16C10.74,7.13 11.35,7 12,7zM2,4.27l2.28,2.28 0.46,0.46C3.08,8.3 1.78,10.02 1,12c1.73,4.39 6,7.5 11,7.5 1.55,0 3.03,-0.3 4.38,-0.84l0.42,0.42L19.73,22 21,20.73 3.27,3 2,4.27zM7.53,9.8l1.55,1.55c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.66 1.34,3 3,3 0.22,0 0.44,-0.03 0.65,-0.08l1.55,1.55c-0.67,0.33 -1.41,0.53 -2.2,0.53 -2.76,0 -5,-2.24 -5,-5 0,-0.79 0.2,-1.53 0.53,-2.2zM11.84,9.02l3.15,3.15 0.02,-0.16c0,-1.66 -1.34,-3 -3,-3l-0.17,0.01z"/>
-</vector>
+</vector>
\ No newline at end of file
index fb8d18102ff6682390f690a44b5959d757318701..29b63607c50cab76a1bbd9071bb9bd00e190249c 100644 (file)
@@ -1,5 +1,5 @@
 <!-- `javascript_enabled.xml` is derived from `security` and `language`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
-    Modifications copyright © 2016-2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
+    Modifications copyright © 2016-2017,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="26dp"
@@ -7,23 +7,18 @@
     android:viewportHeight="256.0"
     android:viewportWidth="256.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <!-- Inner shield. -->
     <path
-        android:fillAlpha="1"
-        android:fillColor="#b71c1c"
-        android:pathData="m128,12.8 l-94.25,41.89 0,62.84c0,58.12 40.22,112.48 94.25,125.67 54.04,-13.2 94.25,-67.55 94.25,-125.67l0,-62.84z"
-        android:strokeColor="#00000000" />
+        android:fillColor="@color/red_900"
+        android:pathData="m128,12.8 l-94.25,41.89 0,62.84c0,58.12 40.22,112.48 94.25,125.67 54.04,-13.2 94.25,-67.55 94.25,-125.67l0,-62.84z" />
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <!-- Outer shield. -->
     <path
-        android:fillAlpha="1"
-        android:fillColor="#d32f2f"
-        android:pathData="m128,0 l-104.73,46.55 0,69.82C23.27,180.95 67.96,241.34 128,256 188.04,241.34 232.73,180.95 232.73,116.36l0,-69.82L128,0ZM128,127.88 L209.45,127.88C203.29,175.83 171.29,218.53 128,231.91l0,-103.91 -81.45,0 0,-66.33L128,25.48l0,102.4z"
-        android:strokeColor="#00000000" />
+        android:fillColor="@color/red_700"
+        android:pathData="m128,0 l-104.73,46.55 0,69.82C23.27,180.95 67.96,241.34 128,256 188.04,241.34 232.73,180.95 232.73,116.36l0,-69.82L128,0ZM128,127.88 L209.45,127.88C203.29,175.83 171.29,218.53 128,231.91l0,-103.91 -81.45,0 0,-66.33L128,25.48l0,102.4z" />
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
+    <!-- Globe. -->
     <path
-        android:fillAlpha="1"
-        android:fillColor="#ffffff"
+        android:fillColor="@color/white"
         android:pathData="m127.92,48.21c-44.04,0 -79.71,35.74 -79.71,79.79 0,44.04 35.66,79.79 79.71,79.79 44.12,0 79.87,-35.74 79.87,-79.79 0,-44.04 -35.74,-79.79 -79.87,-79.79zM183.21,96.09 L159.67,96.09c-2.55,-9.97 -6.22,-19.55 -11.01,-28.4 14.68,5.03 26.89,15.24 34.55,28.4zM128,64.49c6.62,9.57 11.81,20.19 15.24,31.6l-30.48,0c3.43,-11.41 8.62,-22.02 15.24,-31.6zM66.25,143.96C64.97,138.85 64.17,133.51 64.17,128c0,-5.51 0.8,-10.85 2.07,-15.96l26.97,0c-0.64,5.27 -1.12,10.53 -1.12,15.96 0,5.43 0.48,10.69 1.12,15.96l-26.97,0zM72.79,159.91 L96.33,159.91c2.55,9.97 6.22,19.55 11.01,28.4 -14.68,-5.03 -26.89,-15.16 -34.55,-28.4zM96.33,96.09 L72.79,96.09c7.66,-13.24 19.87,-23.38 34.55,-28.4 -4.79,8.86 -8.46,18.43 -11.01,28.4zM128,191.51c-6.62,-9.57 -11.81,-20.19 -15.24,-31.6l30.48,0C139.81,171.32 134.62,181.94 128,191.51ZM146.67,143.96 L109.33,143.96c-0.72,-5.27 -1.28,-10.53 -1.28,-15.96 0,-5.43 0.56,-10.77 1.28,-15.96l37.34,0c0.72,5.19 1.28,10.53 1.28,15.96 0,5.43 -0.56,10.69 -1.28,15.96zM148.66,188.32c4.79,-8.86 8.46,-18.43 11.01,-28.4l23.54,0c-7.66,13.16 -19.87,23.38 -34.55,28.4zM162.79,143.96c0.64,-5.27 1.12,-10.53 1.12,-15.96 0,-5.43 -0.48,-10.69 -1.12,-15.96l26.97,0c1.28,5.11 2.07,10.45 2.07,15.96 0,5.51 -0.8,10.85 -2.07,15.96l-26.97,0z" />
 </vector>
\ No newline at end of file
index e1a756db771727668a0ba03467af5d0bee2b6dbc..ff7a9dab15696cdab8ca81ffed99f7c1889f8be7 100644 (file)
@@ -6,8 +6,7 @@
     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
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
-</vector>
+</vector>
\ No newline at end of file
index 4b5d922cbf6bd238f1d5e9bc4c37354737b86708..2bf0824074b06a04b1722d06f22fc760ffd01d5e 100644 (file)
@@ -6,8 +6,7 @@
     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
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z"/>
-</vector>
+</vector>
\ No newline at end of file
index 20ff1976204fc259287056b783b16a6b5ab774c4..7031ab673fe7243abdc0fb3a1b25fb9872ac8ca6 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
-</vector>
+</vector>
\ No newline at end of file
index df266e46dd844cef5770d53dedc3a53a66d71d42..5db10d5dae1ec91acd0fe00d98e96824389ed56d 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
-</vector>
+</vector>
\ No newline at end of file
index 2f576652397f7c840b6c8049e996a3ebabfdc4ae..b6357b1e83d3dab388161a534d44e08df2b292e0 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
-</vector>
+</vector>
\ No newline at end of file
index 0a089e2c8e4addd032cb32a738b5c447a792816d..1cf02cb03e30ec04f36d14fa413758ab4873006d 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `link_off`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         android:pathData="M17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1 0,1.43 -0.98,2.63 -2.31,2.98l1.46,1.46C20.88,15.61 22,13.95 22,12c0,-2.76 -2.24,-5 -5,-5zM16,11h-2.19l2,2L16,13zM2,4.27l3.11,3.11C3.29,8.12 2,9.91 2,12c0,2.76 2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1 0,-1.59 1.21,-2.9 2.76,-3.07L8.73,11L8,11v2h2.73L13,15.27L13,17h1.73l4.01,4L20,19.74 3.27,3 2,4.27z"/>
-</vector>
+</vector>
\ No newline at end of file
index bd75de68d9b1234c5b7a979509ac9e2bf6bcefae..9f2f5f1ab6624770d55932261400c87c105e4fbb 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    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
-        android:fillColor="#FF757575"
+        android:fillColor="@color/gray_600"
         android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
-</vector>
+</vector>
\ No newline at end of file
index 94f65cf017fd8ad6bc21e50bef4b288b15460957..2f0d07bf72e66c8d9c734b902f7bbdd18792471a 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:autoMirrored="true"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
-    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
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
-</vector>
+</vector>
\ No newline at end of file
index f456ac5f0a4898f16ce06f324ae64247cbb6f191..19f2727a80cf5dc2c75920e7555f1c6ca49d45ec 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:autoMirrored="true"
     android:height="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:width="24dp"
-    tools:ignore="VectorRaster">
+    android:width="24dp" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
-</vector>
+</vector>
\ No newline at end of file
index abe7ec7c7450279a5c8ce95f9d66068db6c79c4a..9736e36a31dd5ef00e09adbd9c0f518c3e1c2688 100644 (file)
@@ -1,18 +1,13 @@
 <!-- This file comes from the Android Material icon set, where it is called `more`.  It is released under the Apache License 2.0. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
 <vector
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
     android:autoMirrored="true"
     android:height="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:width="24dp"
-    tools:ignore="VectorRaster">
+    android:width="24dp" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used instead. -->
     <path
-        android:fillColor="#FF8AB4F8"
+        android:fillColor="@color/violet_500"
         android:pathData="M22,3L7,3c-0.69,0 -1.23,0.35 -1.59,0.88L0,12l5.41,8.11c0.36,0.53 0.97,0.89 1.66,0.89L22,21c1.1,0 2,-0.9 2,-2L24,5c0,-1.1 -0.9,-2 -2,-2zM9,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM14,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5zM19,13.5c-0.83,0 -1.5,-0.67 -1.5,-1.5s0.67,-1.5 1.5,-1.5 1.5,0.67 1.5,1.5 -0.67,1.5 -1.5,1.5z"/>
-</vector>
+</vector>
\ No newline at end of file
index 580f243067befc2e1ccfa46ea20607ab92b9e26b..ab0c16daa8af636b0c208f6d6b8dbef82484fe12 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FF9E9E9E"
+        android:fillColor="@color/gray_500"
         android:pathData="M16,13h-3V3h-2v10H8l4,4 4,-4zM4,19v2h16v-2H4z"/>
-</vector>
+</vector>
\ No newline at end of file
index 643f17c409534ff6c66a42d66bd0ce60f02fd28f..5dc4af5fdf83ee9bb520d75ad8f65d4a4a0ec932 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FF202020"
+        android:fillColor="@color/gray_925"
         android:pathData="M16,13h-3V3h-2v10H8l4,4 4,-4zM4,19v2h16v-2H4z"/>
-</vector>
+</vector>
\ No newline at end of file
index bf73f3bee177e53a6ea218ff367126c845ce0bac..f5a483349f755b3a96ad36693bd7901ae6a91b79 100644 (file)
@@ -6,8 +6,7 @@
     android:viewportHeight="24.0"
     android:viewportWidth="24.0" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/white"
         android:pathData="M16,13h-3V3h-2v10H8l4,4 4,-4zM4,19v2h16v-2H4z"/>
-</vector>
+</vector>
\ No newline at end of file
index c87a64511820248a26bb8e8726e228898ca2eada..024d530a46fe74e075e42a6977ca2458651757a5 100644 (file)
@@ -1,19 +1,14 @@
 <!-- This file is derived from elements of `folder` and `exit_to_app`, which are part of the Android Material icon set.  They are released under the Apache License 2.0.
-    Modifications copyright © 2017 Soren Stoutner <soren@stoutner.com>.  The resulting image is released under the GPLv3+ license. -->
-
-<!-- `tools:ignore="VectorRaster"` removes the lint warning about `android:autoMirrored="true"` not applying to API < 21. -->
+    Modifications copyright © 2017,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"
-    xmlns:tools="http://schemas.android.com/tools"
     android:height="24dp"
     android:width="24dp"
     android:viewportHeight="24"
     android:viewportWidth="24"
-    android:autoMirrored="true"
-    tools:ignore="VectorRaster" >
+    android:autoMirrored="true" >
 
-    <!-- A hard coded color must be used until API >= 21.  Then `@color` or `?attr/colorControlNormal` may be used. -->
     <path
-        android:fillColor="#FF1565C0"
+        android:fillColor="@color/blue_800"
         android:pathData="M4,4C2.9,4 2.01,4.9 2.01,6L2,18C2,19.1 2.9,20 4,20L20,20C21.1,20 22,19.1 22,18L22,8C22,6.9 21.1,6 20,6L12,6L10,4L4,4zM13.75,7.83L18.75,12.83L13.75,17.83L12.34,16.421L14.92,13.83L5.25,13.83L5.25,11.83L14.92,11.83L12.34,9.24L13.75,7.83z" />
-</vector>
+</vector>
\ No newline at end of file