Update a11y shortcut images
- Update QS, gesture, volume keys shortcut type images - Change FAB image to animated image - Change 2-finger double tap, triple tap animated images - Fix the alpha value set in the FAB preview Bug: 324312956 Test: Run and view the images Test: atest com.android.settings.accessibility Flag: EXEMPT low risk, resource change Change-Id: Ic0f1953ca20fc8a3dc7b684f95ee18dae67c4f09
This commit is contained in:
@@ -661,12 +661,12 @@
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" android:textColor="@color/power_anomaly_primary_button_text_color""
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
errorLine1=" <item android:offset="0" android:color="#00669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/layout/battery_tips_card.xml"
|
||||
line="58"
|
||||
column="13"/>
|
||||
file="res/drawable-night/accessibility_shortcut_type_gesture_preview.xml"
|
||||
line="26"
|
||||
column="34"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
@@ -677,12 +677,300 @@
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" android:textColor="@color/power_anomaly_primary_button_text_color""
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
errorLine1=" <item android:offset="0" android:color="#001A73E8"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/layout/battery_tips_card.xml"
|
||||
line="58"
|
||||
column="13"/>
|
||||
file="res/drawable/accessibility_shortcut_type_gesture_preview.xml"
|
||||
line="26"
|
||||
column="34"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0.69" android:color="#FF669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable-night/accessibility_shortcut_type_gesture_preview.xml"
|
||||
line="27"
|
||||
column="37"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0.69" android:color="#FF669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable/accessibility_shortcut_type_gesture_preview.xml"
|
||||
line="27"
|
||||
column="37"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0" android:color="#00669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable-night/accessibility_shortcut_type_gesture_preview.xml"
|
||||
line="40"
|
||||
column="34"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0" android:color="#001A73E8"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable/accessibility_shortcut_type_gesture_preview.xml"
|
||||
line="40"
|
||||
column="34"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0.69" android:color="#FF669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable-night/accessibility_shortcut_type_gesture_preview.xml"
|
||||
line="41"
|
||||
column="37"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0.69" android:color="#FF669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable/accessibility_shortcut_type_gesture_preview.xml"
|
||||
line="41"
|
||||
column="37"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0" android:color="#00669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable-night/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="26"
|
||||
column="34"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0" android:color="#001A73E8"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="26"
|
||||
column="34"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0.69" android:color="#FF669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable-night/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="27"
|
||||
column="37"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0.69" android:color="#FF669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="27"
|
||||
column="37"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0" android:color="#00669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable-night/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="40"
|
||||
column="34"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0" android:color="#001A73E8"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="40"
|
||||
column="34"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0.69" android:color="#FF669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable-night/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="41"
|
||||
column="37"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0.69" android:color="#FF669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="41"
|
||||
column="37"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0" android:color="#00669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable-night/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="54"
|
||||
column="34"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0" android:color="#001A73E8"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="54"
|
||||
column="34"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0.69" android:color="#FF669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable-night/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="55"
|
||||
column="37"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <item android:offset="0.69" android:color="#FF669DF6"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable/accessibility_shortcut_type_gesture_preview_screen_reader_on.xml"
|
||||
line="55"
|
||||
column="37"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
@@ -1325,22 +1613,6 @@
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <color name="power_anomaly_primary_button_text_color">#2E3300</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values-night/colors.xml"
|
||||
line="61"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
@@ -1373,6 +1645,22 @@
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <color name="udfps_enroll_icon">#7DA7F1</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values-night/colors.xml"
|
||||
line="63"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
@@ -1397,8 +1685,8 @@
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <color name="udfps_enroll_icon">#7DA7F1</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
errorLine1=" <color name="udfps_moving_target_fill">#475670</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values-night/colors.xml"
|
||||
line="64"
|
||||
@@ -1429,10 +1717,10 @@
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <color name="udfps_moving_target_fill">#475670</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
errorLine1=" <color name="homepage_system_background">#9E9E9E</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values-night/colors.xml"
|
||||
file="res/values/colors.xml"
|
||||
line="65"
|
||||
column="5"/>
|
||||
</issue>
|
||||
@@ -1445,11 +1733,11 @@
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <color name="homepage_system_background">#9E9E9E</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
errorLine1=" <color name="udfps_moving_target_fill_error">#80475670</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="65"
|
||||
file="res/values-night/colors.xml"
|
||||
line="66"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -1477,8 +1765,8 @@
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <color name="udfps_moving_target_fill_error">#80475670</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
errorLine1=" <color name="udfps_enroll_progress">#7DA7F1</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values-night/colors.xml"
|
||||
line="67"
|
||||
@@ -1509,8 +1797,8 @@
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <color name="udfps_enroll_progress">#7DA7F1</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
errorLine1=" <color name="udfps_enroll_progress_help">#607DA7F1</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values-night/colors.xml"
|
||||
line="68"
|
||||
@@ -1541,8 +1829,8 @@
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <color name="udfps_enroll_progress_help">#607DA7F1</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
errorLine1=" <color name="udfps_enroll_progress_help_with_talkback">#FFEE675C</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values-night/colors.xml"
|
||||
line="69"
|
||||
@@ -1573,11 +1861,11 @@
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <color name="udfps_enroll_progress_help_with_talkback">#FFEE675C</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
errorLine1=" <color name="screen_flash_color_button_outer_circle_stroke_color">#FFFFFF</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values-night/colors.xml"
|
||||
line="70"
|
||||
line="75"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -1597,22 +1885,6 @@
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <color name="screen_flash_color_button_outer_circle_stroke_color">#FFFFFF</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values-night/colors.xml"
|
||||
line="76"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
@@ -1641,7 +1913,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values-night/colors.xml"
|
||||
line="79"
|
||||
line="78"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2477,22 +2749,6 @@
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" <color name="power_anomaly_primary_button_text_color">#FFFFFF</color>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="176"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
@@ -2505,7 +2761,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="179"
|
||||
line="178"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2521,7 +2777,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="180"
|
||||
line="179"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2537,7 +2793,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="182"
|
||||
line="181"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2553,7 +2809,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="183"
|
||||
line="182"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2569,7 +2825,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="184"
|
||||
line="183"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2585,7 +2841,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="185"
|
||||
line="184"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2601,7 +2857,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="189"
|
||||
line="188"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2617,7 +2873,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="190"
|
||||
line="189"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2633,7 +2889,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="193"
|
||||
line="192"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2649,7 +2905,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="194"
|
||||
line="193"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2665,7 +2921,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="195"
|
||||
line="194"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2681,7 +2937,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="196"
|
||||
line="195"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2697,7 +2953,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="197"
|
||||
line="196"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2713,7 +2969,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="198"
|
||||
line="197"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2729,7 +2985,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="199"
|
||||
line="198"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2745,7 +3001,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="200"
|
||||
line="199"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2761,7 +3017,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="201"
|
||||
line="200"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2777,7 +3033,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="202"
|
||||
line="201"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2793,7 +3049,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="203"
|
||||
line="202"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2809,7 +3065,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="204"
|
||||
line="203"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2825,7 +3081,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="207"
|
||||
line="206"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2841,7 +3097,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="208"
|
||||
line="207"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2857,7 +3113,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="209"
|
||||
line="208"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2873,7 +3129,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="210"
|
||||
line="209"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2889,7 +3145,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="211"
|
||||
line="210"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2905,7 +3161,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="212"
|
||||
line="211"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2921,7 +3177,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="213"
|
||||
line="212"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2937,7 +3193,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="214"
|
||||
line="213"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2953,7 +3209,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="215"
|
||||
line="214"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2969,7 +3225,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="216"
|
||||
line="215"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -2985,7 +3241,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="217"
|
||||
line="216"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -3001,7 +3257,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="218"
|
||||
line="217"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -3017,7 +3273,7 @@
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/values/colors.xml"
|
||||
line="221"
|
||||
line="220"
|
||||
column="5"/>
|
||||
</issue>
|
||||
|
||||
@@ -3949,22 +4205,6 @@
|
||||
column="13"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
message="Avoid using hardcoded color"
|
||||
category="Correctness"
|
||||
priority="4"
|
||||
summary="Using hardcoded color"
|
||||
explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.
This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
|
||||
errorLine1=" android:color="@color/accessibility_feature_background"/>"
|
||||
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
||||
<location
|
||||
file="res/drawable/ic_color_contrast.xml"
|
||||
line="22"
|
||||
column="13"/>
|
||||
</issue>
|
||||
|
||||
<issue
|
||||
id="HardCodedColor"
|
||||
severity="Error"
|
||||
|
@@ -14,9 +14,6 @@
|
||||
limitations under the License.
|
||||
-->
|
||||
<resources>
|
||||
<drawable name="a11y_button_preview_base" product="default">@drawable/accessibility_button_preview_base</drawable>
|
||||
<drawable name="a11y_button_preview_base" product="tablet">@drawable/accessibility_button_preview_base_tablet</drawable>
|
||||
|
||||
<drawable name="a11y_button_preview_large_floating_menu" product="default">@drawable/accessibility_button_preview_large_floating_menu</drawable>
|
||||
<drawable name="a11y_button_preview_large_floating_menu" product="tablet">@drawable/accessibility_button_preview_large_floating_menu_tablet</drawable>
|
||||
|
||||
@@ -29,8 +26,6 @@
|
||||
<drawable name="a11y_captioning_banner" product="default">@drawable/accessibility_captioning_banner</drawable>
|
||||
<drawable name="a11y_captioning_banner" product="tablet">@drawable/accessibility_captioning_banner_tablet</drawable>
|
||||
|
||||
<drawable name="a11y_shortcut_type_quick_settings" product="default">@drawable/accessibility_shortcut_type_quick_settings</drawable>
|
||||
|
||||
<drawable name="a11y_shortcut_type_hardware" product="default">@drawable/accessibility_shortcut_type_hardware</drawable>
|
||||
<drawable name="a11y_shortcut_type_hardware" product="tablet">@drawable/accessibility_shortcut_type_hardware_tablet</drawable>
|
||||
|
||||
|
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2021 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"/>
|
||||
<path
|
||||
android:pathData="M325.4,231.9c0,9.8 -7.9,17.7 -17.7,17.7H103.9c-9.8,0 -17.7,-7.9 -17.7,-17.7V0h-4.4v231.9c0,12.2 9.9,22.2 22.1,22.2h203.8c12.2,0 22.1,-9.9 22.1,-22.2V14.8c2.4,0 4.4,-2 4.4,-4.4V0h-8.9L325.4,231.9L325.4,231.9z"
|
||||
android:fillColor="#808589"/>
|
||||
</vector>
|
@@ -1,18 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M384.18,300H27.82C12.53,300 0,287.17 0,271.52V28.48C0,12.83 12.53,0 27.82,0H384.29c15.18,0 27.71,12.83 27.71,28.48v243.15c0,15.54 -12.53,28.37 -27.82,28.37Z"/>
|
||||
<path
|
||||
android:pathData="M368.24,143.47L368.24,60.55c0,-5.67 -4.59,-10.26 -10.26,-10.26L54.02,50.29c-5.67,0 -10.26,4.59 -10.26,10.26L43.76,242.76c0,5.67 4.59,10.26 10.26,10.26L357.98,253.02c5.67,0 10.26,-4.59 10.26,-10.26v-99.29ZM365.88,243.14c0,4.15 -3.75,7.52 -7.9,7.52L54.02,250.66c-4.15,0 -7.9,-3.37 -7.9,-7.52L46.12,60.55c0,-4.15 3.75,-7.9 7.9,-7.9L357.98,52.65c4.15,0 7.9,3.75 7.9,7.9L365.88,243.14Z"
|
||||
android:fillColor="#80868b"/>
|
||||
<path
|
||||
android:pathData="M319.83,50.29c-0,-1.28 -1.04,-2.31 -2.31,-2.31h-23.11c-1.28,0 -2.31,1.03 -2.31,2.31h27.74Z"
|
||||
android:fillColor="#80868b"/>
|
||||
<path
|
||||
android:pathData="M344.42,50.29c-0,-1.28 -1.03,-2.31 -2.31,-2.31h-9.25c-1.28,0 -2.31,1.03 -2.31,2.31h13.87Z"
|
||||
android:fillColor="#80868b"/>
|
||||
</vector>
|
@@ -0,0 +1,21 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M412,0H0V300H412V0Z"/>
|
||||
<path
|
||||
android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"
|
||||
android:fillColor="#000000"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M412,116H336.04C316.92,116 298.61,123.61 285.1,137.24C271.6,150.83 264,169.26 264,188.5C264,207.74 271.6,226.17 285.1,239.76C298.61,253.35 316.92,261 336.04,261H412"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#E8EAED"/>
|
||||
<path
|
||||
android:pathData="M336.04,132C324.96,131.96 314.14,135.26 304.91,141.41C295.68,147.57 288.5,156.31 284.27,166.54C280.05,176.77 278.9,188.04 281.08,198.9C283.27,209.76 288.57,219.73 296.39,227.59C304.21,235.41 314.21,240.74 325.07,242.93C335.93,245.08 347.2,243.97 357.42,239.74C367.65,235.48 376.4,228.33 382.55,219.1C388.7,209.91 392,199.05 392,188C392,173.14 386.11,158.91 375.62,148.42C365.13,137.89 350.9,132 336.04,132ZM336.04,158.98C337.52,159.09 338.89,159.76 339.9,160.84C340.9,161.95 341.45,163.36 341.45,164.84C341.45,166.32 340.9,167.77 339.9,168.84C338.89,169.92 337.52,170.58 336.04,170.73C335.23,170.77 334.41,170.7 333.63,170.4C332.86,170.14 332.15,169.73 331.56,169.18C330.96,168.62 330.48,167.95 330.15,167.21C329.82,166.47 329.67,165.65 329.67,164.84C329.67,164.02 329.85,163.21 330.15,162.47C330.48,161.73 330.96,161.06 331.56,160.5C332.15,159.95 332.86,159.54 333.63,159.28C334.41,159.02 335.23,158.91 336.04,158.98ZM344.83,179.52V217.65H338.97V200.01H333.08V217.62H327.22V179.52C321.29,179.03 315.4,178.07 309.62,176.59L311.1,170.73C327.48,174.62 344.6,174.62 360.98,170.73L362.43,176.59C356.61,178.07 350.68,179.07 344.68,179.52H344.83Z"
|
||||
android:fillColor="#E8EAED"/>
|
||||
</vector>
|
@@ -0,0 +1,21 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M412,0H0V300H412V0Z"/>
|
||||
<path
|
||||
android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"
|
||||
android:fillColor="#000000"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M412,169H363.75C351.61,169 339.98,173.83 331.4,182.47C322.83,191.1 318,202.79 318,215C318,227.21 322.83,238.9 331.4,247.53C339.98,256.15 351.61,261 363.75,261H412"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#E8EAED"/>
|
||||
<path
|
||||
android:pathData="M363.53,179C356.5,178.98 349.64,181.07 343.79,184.97C337.94,188.87 333.39,194.41 330.71,200.9C328.03,207.38 327.3,214.53 328.69,221.41C330.07,228.29 333.43,234.62 338.39,239.6C343.35,244.55 349.69,247.94 356.57,249.32C363.46,250.69 370.6,249.98 377.08,247.3C383.57,244.6 389.11,240.07 393.01,234.21C396.91,228.39 399,221.5 399,214.5C399,205.08 395.27,196.06 388.62,189.41C381.97,182.74 372.95,179 363.53,179ZM363.53,196.1C364.47,196.18 365.33,196.6 365.97,197.28C366.6,197.99 366.96,198.88 366.96,199.82C366.96,200.76 366.6,201.67 365.97,202.35C365.33,203.04 364.47,203.46 363.53,203.55C363.01,203.58 362.49,203.53 362,203.34C361.51,203.18 361.06,202.92 360.68,202.57C360.31,202.21 360,201.79 359.79,201.32C359.58,200.85 359.49,200.34 359.49,199.82C359.49,199.3 359.6,198.78 359.79,198.31C360,197.84 360.31,197.42 360.68,197.07C361.06,196.72 361.51,196.46 362,196.29C362.49,196.13 363.01,196.06 363.53,196.1ZM369.09,209.12V233.3H365.38V222.12H361.65V233.28H357.93V209.12C354.18,208.82 350.44,208.21 346.78,207.27L347.72,203.55C358.1,206.02 368.95,206.02 379.34,203.55L380.25,207.27C376.57,208.21 372.81,208.84 369,209.12H369.09Z"
|
||||
android:fillColor="#E8EAED"/>
|
||||
</vector>
|
25
res/drawable-night/accessibility_shortcut_type_gesture.xml
Normal file
25
res/drawable-night/accessibility_shortcut_type_gesture.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"/>
|
||||
<path
|
||||
android:pathData="M206,401C344.62,401 457,288.62 457,150C457,11.38 344.62,-101 206,-101C67.38,-101 -45,11.38 -45,150C-45,288.62 67.38,401 206,401Z"
|
||||
android:fillColor="#000000"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M0,28C0,12.54 12.54,0 28,0H384C399.46,0 412,12.54 412,28V251H0V28Z"
|
||||
android:fillColor="#3C4043"/>
|
||||
<path
|
||||
android:pathData="M286.79,185.64H266.26H253.9H158.09H147.72H125.2C121.45,185.64 118.36,188.7 118.36,192.41C118.36,196.12 121.45,199.18 125.2,199.18H147.72H156.33H255.66H266.26H286.79C290.54,199.18 293.63,196.12 293.63,192.41C293.63,188.7 290.54,185.64 286.79,185.64Z"
|
||||
android:fillColor="#80868B"/>
|
||||
<path
|
||||
android:pathData="M179.64,177.98V139.31H196.02L172.87,98L149.71,139.31H166.1V177.98C162.6,179.52 159.76,182.17 157.79,185.49C156.26,188.14 155.39,191.01 155.39,194.33C155.39,195.87 155.61,197.64 156.05,199.19C158.01,206.48 164.78,212 172.87,212C180.73,212 187.5,206.48 189.69,199.19C190.13,197.64 190.34,196.09 190.34,194.33C190.34,191.01 189.47,188.14 187.94,185.49C186.19,182.17 183.13,179.52 179.64,177.98Z"
|
||||
android:fillColor="#669DF6"/>
|
||||
<path
|
||||
android:pathData="M245.65,177.98V139.31H262.28L238.77,98L215.26,139.31H231.89V177.98C228.35,179.52 225.46,182.17 223.46,185.49C221.91,188.14 221.02,191.01 221.02,194.33C221.02,195.87 221.25,197.64 221.69,199.19C223.69,206.48 230.56,212 238.77,212C246.76,212 253.63,206.48 255.85,199.19C256.29,197.64 256.52,196.09 256.52,194.33C256.52,191.01 255.63,188.14 254.08,185.49C252.08,182.17 249.2,179.52 245.65,177.98Z"
|
||||
android:fillColor="#669DF6"/>
|
||||
</vector>
|
@@ -0,0 +1,45 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"/>
|
||||
<path
|
||||
android:pathData="M206,401C344.62,401 457,288.62 457,150C457,11.38 344.62,-101 206,-101C67.38,-101 -45,11.38 -45,150C-45,288.62 67.38,401 206,401Z"
|
||||
android:fillColor="#000000"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M0,28C0,12.54 12.54,0 28,0H384C399.46,0 412,12.54 412,28V251H0V28Z"
|
||||
android:fillColor="#3C4043"/>
|
||||
<path
|
||||
android:pathData="M155.95,98C142.52,98 132,108.89 132,121.95V211.2H180.26V121.95C180.26,108.89 169.37,98 155.95,98Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="156.13"
|
||||
android:startY="211.55"
|
||||
android:endX="156.13"
|
||||
android:endY="98.12"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#00669DF6"/>
|
||||
<item android:offset="0.69" android:color="#FF669DF6"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M255.06,98C241.64,98 231.12,108.89 231.12,121.95V211.2H279.37V121.95C279.37,108.89 268.49,98 255.06,98Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="255.25"
|
||||
android:startY="211.55"
|
||||
android:endX="255.25"
|
||||
android:endY="98.12"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#00669DF6"/>
|
||||
<item android:offset="0.69" android:color="#FF669DF6"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</vector>
|
@@ -0,0 +1,59 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"/>
|
||||
<path
|
||||
android:pathData="M206,401C344.62,401 457,288.62 457,150C457,11.38 344.62,-101 206,-101C67.38,-101 -45,11.38 -45,150C-45,288.62 67.38,401 206,401Z"
|
||||
android:fillColor="#000000"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M0,28C0,12.54 12.54,0 28,0H384C399.46,0 412,12.54 412,28V251H0V28Z"
|
||||
android:fillColor="#3C4043"/>
|
||||
<path
|
||||
android:pathData="M123.95,98C110.52,98 100,108.89 100,121.95V211.2H148.26V121.95C148.26,108.89 137.37,98 123.95,98Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="124.13"
|
||||
android:startY="211.55"
|
||||
android:endX="124.13"
|
||||
android:endY="98.12"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#00669DF6"/>
|
||||
<item android:offset="0.69" android:color="#FF669DF6"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M205.95,98C192.52,98 182,108.89 182,121.95V211.2H230.26V121.95C230.26,108.89 219.37,98 205.95,98Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="206.13"
|
||||
android:startY="211.55"
|
||||
android:endX="206.13"
|
||||
android:endY="98.12"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#00669DF6"/>
|
||||
<item android:offset="0.69" android:color="#FF669DF6"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M287.95,98C274.52,98 264,108.89 264,121.95V211.2H312.26V121.95C312.26,108.89 301.37,98 287.95,98Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="288.13"
|
||||
android:startY="211.55"
|
||||
android:endX="288.13"
|
||||
android:endY="98.12"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#00669DF6"/>
|
||||
<item android:offset="0.69" android:color="#FF669DF6"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</vector>
|
@@ -0,0 +1,28 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"/>
|
||||
<path
|
||||
android:pathData="M206,401C344.62,401 457,288.62 457,150C457,11.38 344.62,-101 206,-101C67.38,-101 -45,11.38 -45,150C-45,288.62 67.38,401 206,401Z"
|
||||
android:fillColor="#171717"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M0,28C0,12.54 12.54,0 28,0H384C399.46,0 412,12.54 412,28V251H0V28Z"
|
||||
android:fillColor="#3C4043"/>
|
||||
<path
|
||||
android:pathData="M286.43,185.64H265.9H253.54H157.74H147.36H124.84C121.09,185.64 118,188.7 118,192.41C118,196.12 121.09,199.18 124.84,199.18H147.36H155.97H255.31H265.9H286.43C290.18,199.18 293.27,196.12 293.27,192.41C293.27,188.7 290.18,185.64 286.43,185.64Z"
|
||||
android:fillColor="#80868B"/>
|
||||
<path
|
||||
android:pathData="M159.33,177.98V139.31H175.71L152.55,98L129.4,139.31H145.78V177.98C142.29,179.52 139.45,182.17 137.48,185.49C135.95,188.14 135.08,191.01 135.08,194.33C135.08,195.87 135.3,197.64 135.73,199.19C137.7,206.48 144.47,212 152.55,212C160.42,212 167.19,206.48 169.38,199.19C169.81,197.64 170.03,196.09 170.03,194.33C170.03,191.01 169.16,188.14 167.63,185.49C165.88,182.17 162.82,179.52 159.33,177.98Z"
|
||||
android:fillColor="#669DF6"/>
|
||||
<path
|
||||
android:pathData="M212.51,177.98V139.31H229.15L205.64,98L182.13,139.31H198.76V177.98C195.21,179.52 192.33,182.17 190.33,185.49C188.78,188.14 187.89,191.01 187.89,194.33C187.89,195.87 188.11,197.64 188.56,199.19C190.55,206.48 197.43,212 205.64,212C213.62,212 220.5,206.48 222.72,199.19C223.16,197.64 223.38,196.09 223.38,194.33C223.38,191.01 222.5,188.14 220.94,185.49C218.95,182.17 216.06,179.52 212.51,177.98Z"
|
||||
android:fillColor="#669DF6"/>
|
||||
<path
|
||||
android:pathData="M265.95,177.98V139.31H282.59L259.08,98L235.56,139.31H252.2V177.98C248.65,179.52 245.77,182.17 243.77,185.49C242.22,188.14 241.33,191.01 241.33,194.33C241.33,195.87 241.55,197.64 241.99,199.19C243.99,206.48 250.87,212 259.08,212C267.06,212 273.94,206.48 276.15,199.19C276.6,197.64 276.82,196.09 276.82,194.33C276.82,191.01 275.93,188.14 274.38,185.49C272.38,182.17 269.5,179.52 265.95,177.98Z"
|
||||
android:fillColor="#669DF6"/>
|
||||
</vector>
|
26
res/drawable-night/accessibility_shortcut_type_navbar.xml
Normal file
26
res/drawable-night/accessibility_shortcut_type_navbar.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<path
|
||||
android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"
|
||||
android:fillColor="#000000"/>
|
||||
<path
|
||||
android:pathData="M0,156H412V272C412,287.46 399.46,300 384,300H28C12.54,300 0,287.46 0,272V156Z"
|
||||
android:fillColor="#3C4043"/>
|
||||
<path
|
||||
android:pathData="M320.5,203C323.27,203 325.48,205.26 325.48,208.08C325.48,210.9 323.27,213.16 320.5,213.16C317.73,213.16 315.52,210.9 315.52,208.08C315.52,205.26 317.73,203 320.5,203ZM328.06,220.88V254H322.9V238.76H317.92V254H312.94V220.88C307.96,220.5 302.61,219.56 298,218.24L299.29,213.16C305.75,214.86 313.49,215.8 320.5,215.8C327.51,215.8 335.25,215.04 341.71,213.16L343,218.24C338.39,219.56 333.04,220.5 328.06,220.88Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M206.5,248C216.16,248 224,240.16 224,230.5C224,220.84 216.16,213 206.5,213C196.84,213 189,220.84 189,230.5C189,240.16 196.84,248 206.5,248Z"
|
||||
android:fillColor="#80868B"/>
|
||||
<path
|
||||
android:pathData="M69,230.6L99,248V213L69,230.6Z"
|
||||
android:fillColor="#80868B"/>
|
||||
<path
|
||||
android:pathData="M320.5,228.5m-57.5,0a57.5,57.5 0,1 1,115 0a57.5,57.5 0,1 1,-115 0"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#669DF6"/>
|
||||
</vector>
|
@@ -0,0 +1,28 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M384,300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300z"/>
|
||||
<path
|
||||
android:pathData="M206,-101C67.38,-101 -45,11.38 -45,150C-45,288.62 67.38,401 206,401C344.62,401 457,288.62 457,150C457,11.38 344.62,-101 206,-101Z"
|
||||
android:fillColor="#000000"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M412,272C412,287.46 399.46,300 384,300L28,300C12.54,300 0,287.46 0,272L0,49L412,49L412,272Z"
|
||||
android:fillColor="#3C4043"/>
|
||||
<path
|
||||
android:pathData="M364.36,75H226.64C218,75 211,82.04 211,90.71V153.29C211,161.96 218,169 226.64,169H364.36C373,169 380,161.96 380,153.29V90.71C380,82.04 373,75 364.36,75Z"
|
||||
android:fillColor="#669DF6"/>
|
||||
<path
|
||||
android:pathData="M364.36,178H226.64C218,178 211,184.96 211,193.55V255.45C211,264.04 218,271 226.64,271H364.36C373,271 380,264.04 380,255.45V193.55C380,184.96 373,178 364.36,178Z"
|
||||
android:fillColor="#80868B"/>
|
||||
<path
|
||||
android:pathData="M185.27,75H46.74C38.04,75 31,82.04 31,90.71V153.29C31,161.96 38.04,169 46.74,169H185.27C193.96,169 201,161.96 201,153.29V90.71C201,82.04 193.96,75 185.27,75Z"
|
||||
android:fillColor="#80868B"/>
|
||||
<path
|
||||
android:pathData="M185.27,178H46.74C38.04,178 31,184.96 31,193.55V255.45C31,264.04 38.04,271 46.74,271H185.27C193.96,271 201,264.04 201,255.45V193.55C201,184.96 193.96,178 185.27,178Z"
|
||||
android:fillColor="#80868B"/>
|
||||
</vector>
|
@@ -0,0 +1,48 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M0,0h412v300h-412z"/>
|
||||
<path
|
||||
android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"
|
||||
android:fillColor="#000000"/>
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M28,344C12.54,344 -0,331.46 -0,316L-0,-40C-0,-55.46 12.54,-68 28,-68L295,-68C310.46,-68 323,-55.46 323,-40L323,316C323,331.46 310.46,344 295,344L28,344Z"/>
|
||||
<path
|
||||
android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"
|
||||
android:fillColor="#3C4043"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M328.51,34.32V-139.64C328.51,-165.22 307.73,-186 282.15,-186H-106.64C-132.22,-186 -153,-165.22 -153,-139.64V401.64V403.72L-151.29,404.91C-149.88,405.9 -148.53,406.9 -147.14,407.92L-147.12,407.93C-145.74,408.95 -144.32,410 -142.82,411.05L-136.53,415.45V407.77V-139.64C-136.53,-156.13 -123.13,-169.53 -106.64,-169.53H282.15C298.64,-169.53 312.04,-156.13 312.04,-139.64V-1.84V135.96V411.57V419.25L318.33,414.85C321.36,412.73 324.07,410.62 327.01,408.27L328.51,407.06V405.14V260.97C333.43,259.3 336.98,254.64 336.98,249.15V209.14V208.75V205.14V204.75V164.74C336.98,159.25 333.43,154.59 328.51,152.92V91.84C333.43,90.17 336.98,85.51 336.98,80.02V46.14C336.98,40.65 333.43,35.99 328.51,34.32Z"
|
||||
android:strokeWidth="8"
|
||||
android:fillColor="#80868B"
|
||||
android:strokeColor="#80868B"/>
|
||||
<path
|
||||
android:pathData="M332,258.99C336.67,258.99 340.47,255.2 340.47,250.52V230.08V209.63L340,209.63V207L340.47,207V166.1C340.47,161.43 336.67,157.63 332,157.63"
|
||||
android:fillColor="#669DF6"/>
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M332,149.63h17v118h-17zM332,258.99C336.67,258.99 340.47,255.2 340.47,250.52V230.08V209.63L340,209.63V207L340.47,207V166.1C340.47,161.43 336.67,157.63 332,157.63"/>
|
||||
<path
|
||||
android:pathData="M340.47,209.63H348.47V201.63L340.47,201.63L340.47,209.63ZM340,209.63H332V217.63L340,217.63L340,209.63ZM340,207L340,199L332,199V207H340ZM340.47,207L340.47,215L348.47,215V207H340.47ZM332,266.99C341.09,266.99 348.47,259.62 348.47,250.52H332.47C332.47,250.78 332.26,250.99 332,250.99V266.99ZM340.47,201.63L340,201.63L340,217.63L340.47,217.63L340.47,201.63ZM348,209.63V207H332V209.63H348ZM340,215L340.47,215L340.47,199L340,199L340,215ZM348.47,207V166.1H332.47V207H348.47ZM348.47,166.1C348.47,157.01 341.09,149.63 332,149.63V165.63C332.26,165.63 332.47,165.85 332.47,166.1H348.47ZM348.47,250.52V230.08H332.47V250.52H348.47ZM348.47,230.08V209.63H332.47V230.08H348.47Z"
|
||||
android:fillColor="#669DF6"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M332,93C336.41,93 340,91.01 340,88.57V77.88V67.19L339.55,67.19V65.81L340,65.81V44.43C340,41.99 336.41,40 332,40"
|
||||
android:fillColor="#80868B"/>
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M331,32h17v69h-17zM332,93C336.41,93 340,91.01 340,88.57V77.88V67.19L339.55,67.19V65.81L340,65.81V44.43C340,41.99 336.41,40 332,40"/>
|
||||
<path
|
||||
android:pathData="M340,67.19H348V59.19L340,59.19L340,67.19ZM339.55,67.19H331.55V75.19L339.55,75.19L339.55,67.19ZM339.55,65.81L339.55,57.81L331.55,57.81V65.81H339.55ZM340,65.81L340,73.81L348,73.81V65.81H340ZM332,101C335.3,101 338.69,100.27 341.53,98.7C344.09,97.28 348,94.04 348,88.57H332C332,87.12 332.55,86.04 333.02,85.43C333.24,85.14 333.44,84.96 333.56,84.86C333.69,84.75 333.77,84.71 333.78,84.7C333.79,84.7 333.63,84.78 333.29,84.86C332.95,84.94 332.51,85 332,85V101ZM340,59.19L339.55,59.19L339.55,75.19L340,75.19L340,59.19ZM347.55,67.19V65.81H331.55V67.19H347.55ZM339.55,73.81H340L340,57.81L339.55,57.81L339.55,73.81ZM348,65.81V44.43H332V65.81H348ZM348,44.43C348,38.96 344.09,35.72 341.53,34.3C338.69,32.73 335.3,32 332,32V48C332.51,48 332.95,48.06 333.29,48.14C333.63,48.22 333.79,48.3 333.78,48.3C333.77,48.29 333.69,48.25 333.56,48.14C333.44,48.04 333.24,47.85 333.02,47.57C332.55,46.96 332,45.88 332,44.43H348ZM348,88.57V77.88H332V88.57H348ZM348,77.88V67.19H332V77.88H348Z"
|
||||
android:fillColor="#80868B"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M332,206h20v4h-20z"
|
||||
android:fillColor="#000000"/>
|
||||
</group>
|
||||
</vector>
|
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2021 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<path
|
||||
android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5v-243C0,12.8 12.5,0 27.8,0h356.5C399.5,0 412,12.8 412,28.5v243.2C412,287.2 399.5,300 384.2,300z"
|
||||
android:fillColor="#FFFFFF"/>
|
||||
<path
|
||||
android:pathData="M325.4,231.9c0,9.8 -7.9,17.7 -17.7,17.7H103.9c-9.8,0 -17.7,-7.9 -17.7,-17.7V0h-4.4v231.9c0,12.2 9.9,22.2 22.1,22.2h203.8c12.2,0 22.1,-9.9 22.1,-22.2V14.8c2.4,0 4.4,-2 4.4,-4.4V0h-8.9L325.4,231.9L325.4,231.9z"
|
||||
android:fillColor="#DADCE0"/>
|
||||
</vector>
|
@@ -1,18 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<path
|
||||
android:pathData="M384.18,300H27.82C12.53,300 0,287.17 0,271.52V28.48C0,12.83 12.53,0 27.82,0H384.29c15.18,0 27.71,12.83 27.71,28.48v243.15c0,15.54 -12.53,28.37 -27.82,28.37Z"
|
||||
android:fillColor="#fff"/>
|
||||
<path
|
||||
android:pathData="M368.24,143.47L368.24,60.55c0,-5.67 -4.59,-10.26 -10.26,-10.26L54.02,50.29c-5.67,0 -10.26,4.59 -10.26,10.26L43.76,242.76c0,5.67 4.59,10.26 10.26,10.26L357.98,253.02c5.67,0 10.26,-4.59 10.26,-10.26v-99.29ZM365.88,243.14c0,4.15 -3.75,7.52 -7.9,7.52L54.02,250.66c-4.15,0 -7.9,-3.37 -7.9,-7.52L46.12,60.55c0,-4.15 3.75,-7.9 7.9,-7.9L357.98,52.65c4.15,0 7.9,3.75 7.9,7.9L365.88,243.14Z"
|
||||
android:fillColor="#dadce0"/>
|
||||
<path
|
||||
android:pathData="M319.83,50.29c-0,-1.28 -1.04,-2.31 -2.31,-2.31h-23.11c-1.28,0 -2.31,1.03 -2.31,2.31h27.74Z"
|
||||
android:fillColor="#dadce0"/>
|
||||
<path
|
||||
android:pathData="M344.42,50.29c-0,-1.28 -1.03,-2.31 -2.31,-2.31h-9.25c-1.28,0 -2.31,1.03 -2.31,2.31h13.87Z"
|
||||
android:fillColor="#dadce0"/>
|
||||
</vector>
|
@@ -0,0 +1,21 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M412,0H0V300H412V0Z"/>
|
||||
<path
|
||||
android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M412,116H336.04C316.92,116 298.61,123.61 285.1,137.24C271.6,150.83 264,169.26 264,188.5C264,207.74 271.6,226.17 285.1,239.76C298.61,253.35 316.92,261 336.04,261H412"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#3C4043"/>
|
||||
<path
|
||||
android:pathData="M336.04,132C324.96,131.96 314.14,135.26 304.91,141.41C295.68,147.57 288.5,156.31 284.27,166.54C280.05,176.77 278.9,188.04 281.08,198.9C283.27,209.76 288.57,219.73 296.39,227.59C304.21,235.41 314.21,240.74 325.07,242.93C335.93,245.08 347.2,243.97 357.42,239.74C367.65,235.48 376.4,228.33 382.55,219.1C388.7,209.91 392,199.05 392,188C392,173.14 386.11,158.91 375.62,148.42C365.13,137.89 350.9,132 336.04,132ZM336.04,158.98C337.52,159.09 338.89,159.76 339.9,160.84C340.9,161.95 341.45,163.36 341.45,164.84C341.45,166.32 340.9,167.77 339.9,168.84C338.89,169.92 337.52,170.58 336.04,170.73C335.23,170.77 334.41,170.7 333.63,170.4C332.86,170.14 332.15,169.73 331.56,169.18C330.96,168.62 330.48,167.95 330.15,167.21C329.82,166.47 329.67,165.65 329.67,164.84C329.67,164.02 329.85,163.21 330.15,162.47C330.48,161.73 330.96,161.06 331.56,160.5C332.15,159.95 332.86,159.54 333.63,159.28C334.41,159.02 335.23,158.91 336.04,158.98ZM344.83,179.52V217.65H338.97V200.01H333.08V217.62H327.22V179.52C321.29,179.03 315.4,178.07 309.62,176.59L311.1,170.73C327.48,174.62 344.6,174.62 360.98,170.73L362.43,176.59C356.61,178.07 350.68,179.07 344.68,179.52H344.83Z"
|
||||
android:fillColor="#3C4043"/>
|
||||
</vector>
|
@@ -0,0 +1,21 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M412,0H0V300H412V0Z"/>
|
||||
<path
|
||||
android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M412,169H363.75C351.61,169 339.98,173.83 331.4,182.47C322.83,191.1 318,202.79 318,215C318,227.21 322.83,238.9 331.4,247.53C339.98,256.15 351.61,261 363.75,261H412"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#3C4043"/>
|
||||
<path
|
||||
android:pathData="M363.53,179C356.5,178.98 349.64,181.07 343.79,184.97C337.94,188.87 333.39,194.41 330.71,200.9C328.03,207.38 327.3,214.53 328.69,221.41C330.07,228.29 333.43,234.62 338.39,239.6C343.35,244.55 349.69,247.94 356.57,249.32C363.46,250.69 370.6,249.98 377.08,247.3C383.57,244.6 389.11,240.07 393.01,234.21C396.91,228.39 399,221.5 399,214.5C399,205.08 395.27,196.06 388.62,189.41C381.97,182.74 372.95,179 363.53,179ZM363.53,196.1C364.47,196.18 365.33,196.6 365.97,197.28C366.6,197.99 366.96,198.88 366.96,199.82C366.96,200.76 366.6,201.67 365.97,202.35C365.33,203.04 364.47,203.46 363.53,203.55C363.01,203.58 362.49,203.53 362,203.34C361.51,203.18 361.06,202.92 360.68,202.57C360.31,202.21 360,201.79 359.79,201.32C359.58,200.85 359.49,200.34 359.49,199.82C359.49,199.3 359.6,198.78 359.79,198.31C360,197.84 360.31,197.42 360.68,197.07C361.06,196.72 361.51,196.46 362,196.29C362.49,196.13 363.01,196.06 363.53,196.1ZM369.09,209.12V233.3H365.38V222.12H361.65V233.28H357.93V209.12C354.18,208.82 350.44,208.21 346.78,207.27L347.72,203.55C358.1,206.02 368.95,206.02 379.34,203.55L380.25,207.27C376.57,208.21 372.81,208.84 369,209.12H369.09Z"
|
||||
android:fillColor="#3C4043"/>
|
||||
</vector>
|
25
res/drawable/accessibility_shortcut_type_gesture.xml
Normal file
25
res/drawable/accessibility_shortcut_type_gesture.xml
Normal file
@@ -0,0 +1,25 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="413dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="413"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M29,0L385,0A28,28 0,0 1,413 28L413,272A28,28 0,0 1,385 300L29,300A28,28 0,0 1,1 272L1,28A28,28 0,0 1,29 0z"/>
|
||||
<path
|
||||
android:pathData="M207,401C345.62,401 458,288.62 458,150C458,11.38 345.62,-101 207,-101C68.38,-101 -44,11.38 -44,150C-44,288.62 68.38,401 207,401Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M0,28C0,12.54 12.54,0 28,0H385C400.46,0 413,12.54 413,28V251H0V28Z"
|
||||
android:fillColor="#E8EAED"/>
|
||||
<path
|
||||
android:pathData="M287.79,185.64H267.26H254.9H159.09H148.72H126.2C122.45,185.64 119.36,188.7 119.36,192.41C119.36,196.12 122.45,199.18 126.2,199.18H148.72H157.33H256.67H267.26H287.79C291.54,199.18 294.63,196.12 294.63,192.41C294.63,188.7 291.54,185.64 287.79,185.64Z"
|
||||
android:fillColor="#DADCE0"/>
|
||||
<path
|
||||
android:pathData="M180.64,177.98V139.31H197.02L173.87,98L150.71,139.31H167.1V177.98C163.6,179.52 160.76,182.17 158.79,185.49C157.26,188.14 156.39,191.01 156.39,194.33C156.39,195.87 156.61,197.64 157.05,199.19C159.01,206.48 165.78,212 173.87,212C181.73,212 188.5,206.48 190.69,199.19C191.13,197.64 191.34,196.09 191.34,194.33C191.34,191.01 190.47,188.14 188.94,185.49C187.19,182.17 184.13,179.52 180.64,177.98Z"
|
||||
android:fillColor="#1A73E8"/>
|
||||
<path
|
||||
android:pathData="M246.65,177.98V139.31H263.28L239.77,98L216.26,139.31H232.89V177.98C229.35,179.52 226.46,182.17 224.46,185.49C222.91,188.14 222.02,191.01 222.02,194.33C222.02,195.87 222.25,197.64 222.69,199.19C224.69,206.48 231.56,212 239.77,212C247.76,212 254.63,206.48 256.85,199.19C257.29,197.64 257.52,196.09 257.52,194.33C257.52,191.01 256.63,188.14 255.08,185.49C253.08,182.17 250.2,179.52 246.65,177.98Z"
|
||||
android:fillColor="#1A73E8"/>
|
||||
</vector>
|
45
res/drawable/accessibility_shortcut_type_gesture_preview.xml
Normal file
45
res/drawable/accessibility_shortcut_type_gesture_preview.xml
Normal file
@@ -0,0 +1,45 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="413dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="413"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"/>
|
||||
<path
|
||||
android:pathData="M206,401C344.62,401 457,288.62 457,150C457,11.38 344.62,-101 206,-101C67.38,-101 -45,11.38 -45,150C-45,288.62 67.38,401 206,401Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M0,28C0,12.54 12.54,0 28,0H385C400.46,0 413,12.54 413,28V251H0V28Z"
|
||||
android:fillColor="#E8EAED"/>
|
||||
<path
|
||||
android:pathData="M155.95,98C142.52,98 132,108.89 132,121.95V211.2H180.26V121.95C180.26,108.89 169.37,98 155.95,98Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="156.13"
|
||||
android:startY="211.55"
|
||||
android:endX="156.13"
|
||||
android:endY="98.12"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#001A73E8"/>
|
||||
<item android:offset="0.69" android:color="#FF669DF6"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M255.06,98C241.64,98 231.12,108.89 231.12,121.95V211.2H279.37V121.95C279.37,108.89 268.49,98 255.06,98Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="255.25"
|
||||
android:startY="211.55"
|
||||
android:endX="255.25"
|
||||
android:endY="98.12"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#001A73E8"/>
|
||||
<item android:offset="0.69" android:color="#FF669DF6"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</vector>
|
@@ -0,0 +1,59 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"/>
|
||||
<path
|
||||
android:pathData="M206,401C344.62,401 457,288.62 457,150C457,11.38 344.62,-101 206,-101C67.38,-101 -45,11.38 -45,150C-45,288.62 67.38,401 206,401Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M0,28C0,12.54 12.54,0 28,0H384C399.46,0 412,12.54 412,28V251H0V28Z"
|
||||
android:fillColor="#E8EAED"/>
|
||||
<path
|
||||
android:pathData="M123.95,98C110.52,98 100,108.89 100,121.95V211.2H148.26V121.95C148.26,108.89 137.37,98 123.95,98Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="124.13"
|
||||
android:startY="211.55"
|
||||
android:endX="124.13"
|
||||
android:endY="98.12"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#001A73E8"/>
|
||||
<item android:offset="0.69" android:color="#FF669DF6"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M205.95,98C192.52,98 182,108.89 182,121.95V211.2H230.26V121.95C230.26,108.89 219.37,98 205.95,98Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="206.13"
|
||||
android:startY="211.55"
|
||||
android:endX="206.13"
|
||||
android:endY="98.12"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#001A73E8"/>
|
||||
<item android:offset="0.69" android:color="#FF669DF6"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
<path
|
||||
android:pathData="M287.95,98C274.52,98 264,108.89 264,121.95V211.2H312.26V121.95C312.26,108.89 301.37,98 287.95,98Z">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="288.13"
|
||||
android:startY="211.55"
|
||||
android:endX="288.13"
|
||||
android:endY="98.12"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#001A73E8"/>
|
||||
<item android:offset="0.69" android:color="#FF669DF6"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</vector>
|
@@ -0,0 +1,28 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="413dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="413"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"/>
|
||||
<path
|
||||
android:pathData="M206,401C344.62,401 457,288.62 457,150C457,11.38 344.62,-101 206,-101C67.38,-101 -45,11.38 -45,150C-45,288.62 67.38,401 206,401Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M0,28C0,12.54 12.54,0 28,0H385C400.46,0 413,12.54 413,28V251H0V28Z"
|
||||
android:fillColor="#E8EAED"/>
|
||||
<path
|
||||
android:pathData="M286.43,185.64H265.9H253.54H157.74H147.36H124.84C121.09,185.64 118,188.7 118,192.41C118,196.12 121.09,199.18 124.84,199.18H147.36H155.97H255.31H265.9H286.43C290.18,199.18 293.27,196.12 293.27,192.41C293.27,188.7 290.18,185.64 286.43,185.64Z"
|
||||
android:fillColor="#DADCE0"/>
|
||||
<path
|
||||
android:pathData="M159.33,177.98V139.31H175.71L152.55,98L129.4,139.31H145.78V177.98C142.29,179.52 139.45,182.17 137.48,185.49C135.95,188.14 135.08,191.01 135.08,194.33C135.08,195.87 135.3,197.64 135.73,199.19C137.7,206.48 144.47,212 152.55,212C160.42,212 167.19,206.48 169.38,199.19C169.81,197.64 170.03,196.09 170.03,194.33C170.03,191.01 169.16,188.14 167.63,185.49C165.88,182.17 162.82,179.52 159.33,177.98Z"
|
||||
android:fillColor="#1A73E8"/>
|
||||
<path
|
||||
android:pathData="M212.51,177.98V139.31H229.15L205.64,98L182.13,139.31H198.76V177.98C195.21,179.52 192.33,182.17 190.33,185.49C188.78,188.14 187.89,191.01 187.89,194.33C187.89,195.87 188.11,197.64 188.56,199.19C190.55,206.48 197.43,212 205.64,212C213.62,212 220.5,206.48 222.72,199.19C223.16,197.64 223.38,196.09 223.38,194.33C223.38,191.01 222.5,188.14 220.94,185.49C218.95,182.17 216.06,179.52 212.51,177.98Z"
|
||||
android:fillColor="#1A73E8"/>
|
||||
<path
|
||||
android:pathData="M265.95,177.98V139.31H282.59L259.08,98L235.56,139.31H252.2V177.98C248.65,179.52 245.77,182.17 243.77,185.49C242.22,188.14 241.33,191.01 241.33,194.33C241.33,195.87 241.55,197.64 241.99,199.19C243.99,206.48 250.87,212 259.08,212C267.06,212 273.94,206.48 276.15,199.19C276.6,197.64 276.82,196.09 276.82,194.33C276.82,191.01 275.93,188.14 274.38,185.49C272.38,182.17 269.5,179.52 265.95,177.98Z"
|
||||
android:fillColor="#1A73E8"/>
|
||||
</vector>
|
26
res/drawable/accessibility_shortcut_type_navbar.xml
Normal file
26
res/drawable/accessibility_shortcut_type_navbar.xml
Normal file
@@ -0,0 +1,26 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<path
|
||||
android:pathData="M28,0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M0,156H412V272C412,287.46 399.46,300 384,300H28C12.54,300 0,287.46 0,272V156Z"
|
||||
android:fillColor="#E8EAED"/>
|
||||
<path
|
||||
android:pathData="M320.5,203C323.27,203 325.48,205.26 325.48,208.08C325.48,210.9 323.27,213.16 320.5,213.16C317.73,213.16 315.52,210.9 315.52,208.08C315.52,205.26 317.73,203 320.5,203ZM328.06,220.88V254H322.9V238.76H317.92V254H312.94V220.88C307.96,220.5 302.61,219.56 298,218.24L299.29,213.16C305.75,214.86 313.49,215.8 320.5,215.8C327.51,215.8 335.25,215.04 341.71,213.16L343,218.24C338.39,219.56 333.04,220.5 328.06,220.88Z"
|
||||
android:fillColor="#000000"/>
|
||||
<path
|
||||
android:pathData="M206.5,248C216.16,248 224,240.16 224,230.5C224,220.84 216.16,213 206.5,213C196.84,213 189,220.84 189,230.5C189,240.16 196.84,248 206.5,248Z"
|
||||
android:fillColor="#BEC1C5"/>
|
||||
<path
|
||||
android:pathData="M69,230.6L99,248V213L69,230.6Z"
|
||||
android:fillColor="#BEC1C5"/>
|
||||
<path
|
||||
android:pathData="M320.5,228.5m-57.5,0a57.5,57.5 0,1 1,115 0a57.5,57.5 0,1 1,-115 0"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#1A73E8"/>
|
||||
</vector>
|
@@ -1,56 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
~
|
||||
~ Copyright 2024 The Android Open Source Project
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ https://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
~
|
||||
~
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="312dp"
|
||||
android:height="130dp"
|
||||
android:viewportWidth="312"
|
||||
android:viewportHeight="130">
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M24,0L288,0A24,24 0,0 1,312 24L312,106A24,24 0,0 1,288 130L24,130A24,24 0,0 1,0 106L0,24A24,24 0,0 1,24 0z"/>
|
||||
android:pathData="M384,300L28,300A28,28 0,0 1,0 272L0,28A28,28 0,0 1,28 0L384,0A28,28 0,0 1,412 28L412,272A28,28 0,0 1,384 300z"/>
|
||||
<path
|
||||
android:pathData="M24,0L288,0A24,24 0,0 1,312 24L312,106A24,24 0,0 1,288 130L24,130A24,24 0,0 1,0 106L0,24A24,24 0,0 1,24 0z"
|
||||
android:fillColor="@color/settingslib_protection_color"/>
|
||||
<path
|
||||
android:pathData="M209,139.62H210V138.62V32C210,24.82 204.18,19 197,19H115C107.82,19 102,24.82 102,32V138.62V139.62H103H209Z"
|
||||
android:strokeWidth="2"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#6D6D6D"/>
|
||||
<path
|
||||
android:pathData="M103,32C103,25.37 108.37,20 115,20H197C203.63,20 209,25.37 209,32V91.93H103V32Z"
|
||||
android:fillColor="#484848"/>
|
||||
<path
|
||||
android:pathData="M113.31,38.93L149.48,38.93A4,4 0,0 1,153.48 42.93L153.48,52.6A4,4 0,0 1,149.48 56.6L113.31,56.6A4,4 0,0 1,109.31 52.6L109.31,42.93A4,4 0,0 1,113.31 38.93z"
|
||||
android:fillColor="#69B2C9"/>
|
||||
<path
|
||||
android:pathData="M113.31,61.64L149.48,61.64A4,4 0,0 1,153.48 65.64L153.48,75.31A4,4 0,0 1,149.48 79.31L113.31,79.31A4,4 0,0 1,109.31 75.31L109.31,65.64A4,4 0,0 1,113.31 61.64z"
|
||||
android:fillColor="#646464"/>
|
||||
<path
|
||||
android:pathData="M162.52,38.93L198.69,38.93A4,4 0,0 1,202.69 42.93L202.69,52.6A4,4 0,0 1,198.69 56.6L162.52,56.6A4,4 0,0 1,158.52 52.6L158.52,42.93A4,4 0,0 1,162.52 38.93z"
|
||||
android:fillColor="#646464"/>
|
||||
<path
|
||||
android:pathData="M162.52,61.64L198.69,61.64A4,4 0,0 1,202.69 65.64L202.69,75.31A4,4 0,0 1,198.69 79.31L162.52,79.31A4,4 0,0 1,158.52 75.31L158.52,65.64A4,4 0,0 1,162.52 61.64z"
|
||||
android:fillColor="#646464"/>
|
||||
android:pathData="M206,-101C67.38,-101 -45,11.38 -45,150C-45,288.62 67.38,401 206,401C344.62,401 457,288.62 457,150C457,11.38 344.62,-101 206,-101Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M412,272C412,287.46 399.46,300 384,300L28,300C12.54,300 0,287.46 0,272L0,49L412,49L412,272Z"
|
||||
android:fillColor="#E8EAED"/>
|
||||
<path
|
||||
android:pathData="M364.36,75H226.64C218,75 211,82.04 211,90.71V153.29C211,161.96 218,169 226.64,169H364.36C373,169 380,161.96 380,153.29V90.71C380,82.04 373,75 364.36,75Z"
|
||||
android:fillColor="#1A73E8"/>
|
||||
<path
|
||||
android:pathData="M364.36,178H226.64C218,178 211,184.96 211,193.55V255.45C211,264.04 218,271 226.64,271H364.36C373,271 380,264.04 380,255.45V193.55C380,184.96 373,178 364.36,178Z"
|
||||
android:fillColor="#DADCE0"/>
|
||||
<path
|
||||
android:pathData="M185.27,75H46.74C38.04,75 31,82.04 31,90.71V153.29C31,161.96 38.04,169 46.74,169H185.27C193.96,169 201,161.96 201,153.29V90.71C201,82.04 193.96,75 185.27,75Z"
|
||||
android:fillColor="#DADCE0"/>
|
||||
<path
|
||||
android:pathData="M185.27,178H46.74C38.04,178 31,184.96 31,193.55V255.45C31,264.04 38.04,271 46.74,271H185.27C193.96,271 201,264.04 201,255.45V193.55C201,184.96 193.96,178 185.27,178Z"
|
||||
android:fillColor="#DADCE0"/>
|
||||
</vector>
|
||||
|
||||
|
||||
|
||||
|
48
res/drawable/accessibility_shortcut_type_volume_keys.xml
Normal file
48
res/drawable/accessibility_shortcut_type_volume_keys.xml
Normal file
@@ -0,0 +1,48 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="412dp"
|
||||
android:height="300dp"
|
||||
android:viewportWidth="412"
|
||||
android:viewportHeight="300">
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M0,0h412v300h-412z"/>
|
||||
<path
|
||||
android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M28,344C12.54,344 -0,331.46 -0,316L-0,-40C-0,-55.46 12.54,-68 28,-68L295,-68C310.46,-68 323,-55.46 323,-40L323,316C323,331.46 310.46,344 295,344L28,344Z"/>
|
||||
<path
|
||||
android:pathData="M384.2,300H27.8C12.5,300 0,287.2 0,271.5V28.5C0,12.8 12.5,0 27.8,0H384.3C399.5,0 412,12.8 412,28.5V271.7C412,287.2 399.5,300 384.2,300Z"
|
||||
android:fillColor="#E8EAED"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M328.51,34.32V-139.64C328.51,-165.22 307.73,-186 282.15,-186H-106.64C-132.22,-186 -153,-165.22 -153,-139.64V401.64V403.72L-151.29,404.91C-149.88,405.9 -148.53,406.9 -147.14,407.92L-147.12,407.93C-145.74,408.95 -144.32,410 -142.82,411.05L-136.53,415.45V407.77V-139.64C-136.53,-156.13 -123.13,-169.53 -106.64,-169.53H282.15C298.64,-169.53 312.04,-156.13 312.04,-139.64V-1.84V135.96V411.57V419.25L318.33,414.85C321.36,412.73 324.07,410.62 327.01,408.27L328.51,407.06V405.14V260.97C333.43,259.3 336.98,254.64 336.98,249.15V209.14V208.75V205.14V204.75V164.74C336.98,159.25 333.43,154.59 328.51,152.92V91.84C333.43,90.17 336.98,85.51 336.98,80.02V46.14C336.98,40.65 333.43,35.99 328.51,34.32Z"
|
||||
android:strokeWidth="8"
|
||||
android:fillColor="#DADCE0"
|
||||
android:strokeColor="#DADCE0"/>
|
||||
<path
|
||||
android:pathData="M332,258.99C336.67,258.99 340.47,255.2 340.47,250.52V230.08V209.63L340,209.63V207L340.47,207V166.1C340.47,161.43 336.67,157.63 332,157.63"
|
||||
android:fillColor="#1A73E8"/>
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M332,149.63h17v118h-17zM332,258.99C336.67,258.99 340.47,255.2 340.47,250.52V230.08V209.63L340,209.63V207L340.47,207V166.1C340.47,161.43 336.67,157.63 332,157.63"/>
|
||||
<path
|
||||
android:pathData="M340.47,209.63H348.47V201.63L340.47,201.63L340.47,209.63ZM340,209.63H332V217.63L340,217.63L340,209.63ZM340,207L340,199L332,199V207H340ZM340.47,207L340.47,215L348.47,215V207H340.47ZM332,266.99C341.09,266.99 348.47,259.62 348.47,250.52H332.47C332.47,250.78 332.26,250.99 332,250.99V266.99ZM340.47,201.63L340,201.63L340,217.63L340.47,217.63L340.47,201.63ZM348,209.63V207H332V209.63H348ZM340,215L340.47,215L340.47,199L340,199L340,215ZM348.47,207V166.1H332.47V207H348.47ZM348.47,166.1C348.47,157.01 341.09,149.63 332,149.63V165.63C332.26,165.63 332.47,165.85 332.47,166.1H348.47ZM348.47,250.52V230.08H332.47V250.52H348.47ZM348.47,230.08V209.63H332.47V230.08H348.47Z"
|
||||
android:fillColor="#1A73E8"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M332,93C336.41,93 340,91.01 340,88.57V77.88V67.19L339.55,67.19V65.81L340,65.81V44.43C340,41.99 336.41,40 332,40"
|
||||
android:fillColor="#DADCE0"/>
|
||||
<group>
|
||||
<clip-path
|
||||
android:pathData="M331,32h17v69h-17zM332,93C336.41,93 340,91.01 340,88.57V77.88V67.19L339.55,67.19V65.81L340,65.81V44.43C340,41.99 336.41,40 332,40"/>
|
||||
<path
|
||||
android:pathData="M340,67.19H348V59.19L340,59.19L340,67.19ZM339.55,67.19H331.55V75.19L339.55,75.19L339.55,67.19ZM339.55,65.81L339.55,57.81L331.55,57.81V65.81H339.55ZM340,65.81L340,73.81L348,73.81V65.81H340ZM332,101C335.3,101 338.69,100.27 341.53,98.7C344.09,97.28 348,94.04 348,88.57H332C332,87.12 332.55,86.04 333.02,85.43C333.24,85.14 333.44,84.96 333.56,84.86C333.69,84.75 333.77,84.71 333.78,84.7C333.79,84.7 333.63,84.78 333.29,84.86C332.95,84.94 332.51,85 332,85V101ZM340,59.19L339.55,59.19L339.55,75.19L340,75.19L340,59.19ZM347.55,67.19V65.81H331.55V67.19H347.55ZM339.55,73.81H340L340,57.81L339.55,57.81L339.55,73.81ZM348,65.81V44.43H332V65.81H348ZM348,44.43C348,38.96 344.09,35.72 341.53,34.3C338.69,32.73 335.3,32 332,32V48C332.51,48 332.95,48.06 333.29,48.14C333.63,48.22 333.79,48.3 333.78,48.3C333.77,48.29 333.69,48.25 333.56,48.14C333.44,48.04 333.24,47.85 333.02,47.57C332.55,46.96 332,45.88 332,44.43H348ZM348,88.57V77.88H332V88.57H348ZM348,77.88V67.19H332V77.88H348Z"
|
||||
android:fillColor="#DADCE0"/>
|
||||
</group>
|
||||
<path
|
||||
android:pathData="M332,206h20v4h-20z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</group>
|
||||
</vector>
|
@@ -77,8 +77,8 @@
|
||||
android:layout_marginTop="@dimen/settingslib_illustration_padding"
|
||||
android:layout_marginBottom="@dimen/settingslib_illustration_padding"
|
||||
android:adjustViewBounds="true"
|
||||
android:background="@drawable/protection_background"
|
||||
android:maxHeight="@dimen/accessibility_imageview_size"
|
||||
android:scaleType="fitStart"
|
||||
app:layout_constrainedHeight="true"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0"
|
||||
|
2804
res/raw/accessibility_shortcut_type_2finger_doubletap.json
Normal file
2804
res/raw/accessibility_shortcut_type_2finger_doubletap.json
Normal file
File diff suppressed because it is too large
Load Diff
1506
res/raw/accessibility_shortcut_type_fab.json
Normal file
1506
res/raw/accessibility_shortcut_type_fab.json
Normal file
File diff suppressed because it is too large
Load Diff
2817
res/raw/accessibility_shortcut_type_tripletap.json
Normal file
2817
res/raw/accessibility_shortcut_type_tripletap.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -46,7 +46,6 @@ public class AccessibilityButtonPreviewPreferenceController extends BasePreferen
|
||||
private final ContentResolver mContentResolver;
|
||||
@VisibleForTesting
|
||||
final ContentObserver mContentObserver;
|
||||
private AccessibilityLayerDrawable mAccessibilityPreviewDrawable;
|
||||
@VisibleForTesting
|
||||
IllustrationPreference mIllustrationPreference;
|
||||
|
||||
@@ -108,34 +107,23 @@ public class AccessibilityButtonPreviewPreferenceController extends BasePreferen
|
||||
if (AccessibilityUtil.isFloatingMenuEnabled(mContext)) {
|
||||
final int size = Settings.Secure.getInt(mContentResolver,
|
||||
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, DEFAULT_SIZE);
|
||||
// The alpha range when set on a drawable is [0-255]
|
||||
final int opacity = (int) (Settings.Secure.getFloat(mContentResolver,
|
||||
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_OPACITY, DEFAULT_OPACITY) * 100);
|
||||
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_OPACITY, DEFAULT_OPACITY) * 255);
|
||||
final int floatingMenuIconId = (size == SMALL_SIZE)
|
||||
? R.drawable.a11y_button_preview_small_floating_menu
|
||||
: R.drawable.a11y_button_preview_large_floating_menu;
|
||||
mIllustrationPreference.setImageDrawable(
|
||||
getAccessibilityPreviewDrawable(floatingMenuIconId, opacity));
|
||||
? R.drawable.accessibility_shortcut_type_fab_size_small_preview
|
||||
: R.drawable.accessibility_shortcut_type_fab_size_large_preview;
|
||||
Drawable fabDrawable = mContext.getDrawable(floatingMenuIconId);
|
||||
fabDrawable.setAlpha(opacity);
|
||||
mIllustrationPreference.setImageDrawable(fabDrawable);
|
||||
} else if (AccessibilityUtil.isGestureNavigateEnabled(mContext)) {
|
||||
mIllustrationPreference.setImageDrawable(mContext.getDrawable(
|
||||
AccessibilityUtil.isTouchExploreEnabled(mContext)
|
||||
? R.drawable.a11y_button_preview_three_finger
|
||||
: R.drawable.a11y_button_preview_two_finger));
|
||||
? R.drawable.accessibility_shortcut_type_gesture_touch_explore_on
|
||||
: R.drawable.accessibility_shortcut_type_gesture));
|
||||
} else {
|
||||
mIllustrationPreference.setImageDrawable(
|
||||
mContext.getDrawable(R.drawable.a11y_button_navigation));
|
||||
mContext.getDrawable(R.drawable.accessibility_shortcut_type_navbar));
|
||||
}
|
||||
}
|
||||
|
||||
private Drawable getAccessibilityPreviewDrawable(int resId, int opacity) {
|
||||
if (mAccessibilityPreviewDrawable == null) {
|
||||
mAccessibilityPreviewDrawable = AccessibilityLayerDrawable.createLayerDrawable(
|
||||
mContext, resId, opacity);
|
||||
} else {
|
||||
mAccessibilityPreviewDrawable.updateLayerDrawable(mContext, resId, opacity);
|
||||
// Only change alpha (opacity) value did not change drawable id. It needs to force to
|
||||
// redraw.
|
||||
mAccessibilityPreviewDrawable.invalidateSelf();
|
||||
}
|
||||
return mAccessibilityPreviewDrawable;
|
||||
}
|
||||
}
|
||||
|
@@ -1,133 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.graphics.drawable.LayerDrawable;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
|
||||
import com.android.settings.R;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
/** LayerDrawable that contains device icon as background and given icon as foreground. */
|
||||
public class AccessibilityLayerDrawable extends LayerDrawable {
|
||||
|
||||
private AccessibilityLayerDrawableState mState;
|
||||
|
||||
/**
|
||||
* Creates a new layer drawable with the list of specified layers.
|
||||
*
|
||||
* @param layers a list of drawables to use as layers in this new drawable,
|
||||
* must be non-null
|
||||
*/
|
||||
private AccessibilityLayerDrawable(@NonNull Drawable[] layers) {
|
||||
super(layers);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the {@link LayerDrawable} that contains device icon as background and given menu icon
|
||||
* with given {@code opacity} value as foreground.
|
||||
*
|
||||
* @param context the valid context used to get the icon
|
||||
* @param resId the resource ID of the given icon
|
||||
* @param opacity the opacity to apply to the given icon
|
||||
* @return the drawable that combines the device icon and the given icon
|
||||
*/
|
||||
public static AccessibilityLayerDrawable createLayerDrawable(Context context, int resId,
|
||||
int opacity) {
|
||||
final Drawable bg = context.getDrawable(R.drawable.a11y_button_preview_base);
|
||||
final AccessibilityLayerDrawable basicDrawable = new AccessibilityLayerDrawable(
|
||||
new Drawable[]{bg, null});
|
||||
|
||||
basicDrawable.updateLayerDrawable(context, resId, opacity);
|
||||
return basicDrawable;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the drawable with given {@code resId} drawable and {@code opacity}(alpha)
|
||||
* value at index 1 layer.
|
||||
*
|
||||
* @param context the valid context used to get the icon
|
||||
* @param resId the resource ID of the given icon
|
||||
* @param opacity the opacity to apply to the given icon
|
||||
*/
|
||||
public void updateLayerDrawable(Context context, int resId, int opacity) {
|
||||
final Drawable icon = context.getDrawable(resId);
|
||||
icon.setAlpha(opacity);
|
||||
this.setDrawable(/* index= */ 1, icon);
|
||||
this.setConstantState(context, resId, opacity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ConstantState getConstantState() {
|
||||
return mState;
|
||||
}
|
||||
|
||||
/** Stores the constant state and data to the given drawable. */
|
||||
private void setConstantState(Context context, int resId, int opacity) {
|
||||
mState = new AccessibilityLayerDrawableState(context, resId, opacity);
|
||||
}
|
||||
|
||||
/** {@link ConstantState} to store the data of {@link AccessibilityLayerDrawable}. */
|
||||
@VisibleForTesting
|
||||
static class AccessibilityLayerDrawableState extends ConstantState {
|
||||
|
||||
private final Context mContext;
|
||||
private final int mResId;
|
||||
private final int mOpacity;
|
||||
|
||||
AccessibilityLayerDrawableState(Context context, int resId, int opacity) {
|
||||
mContext = context;
|
||||
mResId = resId;
|
||||
mOpacity = opacity;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Drawable newDrawable() {
|
||||
return createLayerDrawable(mContext, mResId, mOpacity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getChangingConfigurations() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) {
|
||||
return true;
|
||||
}
|
||||
if (o == null || getClass() != o.getClass()) {
|
||||
return false;
|
||||
}
|
||||
final AccessibilityLayerDrawableState that = (AccessibilityLayerDrawableState) o;
|
||||
return mResId == that.mResId
|
||||
&& mOpacity == that.mOpacity
|
||||
&& Objects.equals(mContext, that.mContext);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return Objects.hash(mContext, mResId, mOpacity);
|
||||
}
|
||||
}
|
||||
}
|
@@ -246,8 +246,9 @@ public final class AccessibilityShortcutsTutorial {
|
||||
|
||||
final ImageView imageView = view.findViewById(R.id.image);
|
||||
final int gestureSettingsImageResId =
|
||||
isTouchExploreEnabled ? R.drawable.a11y_gesture_navigation_three_finger_preview
|
||||
: R.drawable.a11y_gesture_navigation_two_finger_preview;
|
||||
isTouchExploreEnabled
|
||||
? R.drawable.accessibility_shortcut_type_gesture_preview_touch_explore_on
|
||||
: R.drawable.accessibility_shortcut_type_gesture_preview;
|
||||
imageView.setImageResource(gestureSettingsImageResId);
|
||||
|
||||
final TextView textView = view.findViewById(R.id.gesture_tutorial_message);
|
||||
@@ -408,7 +409,7 @@ public final class AccessibilityShortcutsTutorial {
|
||||
final CharSequence title =
|
||||
context.getText(R.string.accessibility_tutorial_dialog_title_volume);
|
||||
final View image =
|
||||
createIllustrationView(context, R.drawable.a11y_shortcut_type_hardware);
|
||||
createIllustrationView(context, R.drawable.accessibility_shortcut_type_volume_keys);
|
||||
final ImageView indicatorIcon =
|
||||
createImageView(context, R.drawable.ic_accessibility_page_indicator);
|
||||
final CharSequence instruction =
|
||||
@@ -424,7 +425,7 @@ public final class AccessibilityShortcutsTutorial {
|
||||
context.getText(R.string.accessibility_tutorial_dialog_title_triple);
|
||||
final View image =
|
||||
createIllustrationViewWithImageRawResource(context,
|
||||
R.raw.a11y_shortcut_type_triple_tap);
|
||||
R.raw.accessibility_shortcut_type_tripletap);
|
||||
final CharSequence instruction = context.getString(
|
||||
R.string.accessibility_tutorial_dialog_tripletap_instruction, 3);
|
||||
final ImageView indicatorIcon =
|
||||
@@ -439,10 +440,9 @@ public final class AccessibilityShortcutsTutorial {
|
||||
final int numFingers = 2;
|
||||
final CharSequence title = context.getString(
|
||||
R.string.accessibility_tutorial_dialog_title_two_finger_double, numFingers);
|
||||
// TODO(b/308088945): Update tutorial image when UX provides them
|
||||
final View image =
|
||||
createIllustrationViewWithImageRawResource(context,
|
||||
R.raw.a11y_shortcut_type_triple_tap);
|
||||
R.raw.accessibility_shortcut_type_2finger_doubletap);
|
||||
final CharSequence instruction = context.getString(
|
||||
R.string.accessibility_tutorial_dialog_twofinger_doubletap_instruction, numFingers);
|
||||
final ImageView indicatorIcon =
|
||||
@@ -459,7 +459,7 @@ public final class AccessibilityShortcutsTutorial {
|
||||
context.getText(R.string.accessibility_tutorial_dialog_title_quick_setting);
|
||||
final View image =
|
||||
createIllustrationView(context,
|
||||
R.drawable.a11y_shortcut_type_quick_settings);
|
||||
R.drawable.accessibility_shortcut_type_quick_settings);
|
||||
// Remove the unneeded background, since the main image already includes a background
|
||||
image.findViewById(R.id.image_background).setVisibility(GONE);
|
||||
final int numFingers = AccessibilityUtil.isTouchExploreEnabled(context) ? 2 : 1;
|
||||
@@ -526,13 +526,14 @@ public final class AccessibilityShortcutsTutorial {
|
||||
private static View createSoftwareImage(Context context) {
|
||||
int resId;
|
||||
if (AccessibilityUtil.isFloatingMenuEnabled(context)) {
|
||||
resId = R.drawable.a11y_shortcut_type_software_floating;
|
||||
return createIllustrationViewWithImageRawResource(
|
||||
context, R.raw.accessibility_shortcut_type_fab);
|
||||
} else if (AccessibilityUtil.isGestureNavigateEnabled(context)) {
|
||||
resId = AccessibilityUtil.isTouchExploreEnabled(context)
|
||||
? R.drawable.a11y_shortcut_type_software_gesture_talkback
|
||||
: R.drawable.a11y_shortcut_type_software_gesture;
|
||||
? R.drawable.accessibility_shortcut_type_gesture_touch_explore_on
|
||||
: R.drawable.accessibility_shortcut_type_gesture;
|
||||
} else {
|
||||
resId = R.drawable.a11y_shortcut_type_software;
|
||||
resId = R.drawable.accessibility_shortcut_type_navbar;
|
||||
}
|
||||
return createIllustrationView(context, resId);
|
||||
}
|
||||
|
@@ -44,8 +44,7 @@ public class FloatingButtonShortcutOptionController
|
||||
if (preference instanceof ShortcutOptionPreference shortcutOptionPreference) {
|
||||
shortcutOptionPreference.setTitle(
|
||||
R.string.accessibility_shortcut_edit_dialog_title_software);
|
||||
shortcutOptionPreference.setIntroImageResId(
|
||||
R.drawable.a11y_shortcut_type_software_floating);
|
||||
shortcutOptionPreference.setIntroImageRawResId(R.raw.accessibility_shortcut_type_fab);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -45,8 +45,8 @@ public class GestureShortcutOptionController extends SoftwareShortcutOptionPrefe
|
||||
R.string.accessibility_shortcut_edit_dialog_title_software_by_gesture);
|
||||
|
||||
int resId = AccessibilityUtil.isTouchExploreEnabled(mContext)
|
||||
? R.drawable.a11y_shortcut_type_software_gesture_talkback
|
||||
: R.drawable.a11y_shortcut_type_software_gesture;
|
||||
? R.drawable.accessibility_shortcut_type_gesture_touch_explore_on
|
||||
: R.drawable.accessibility_shortcut_type_gesture;
|
||||
shortcutOptionPreference.setIntroImageResId(resId);
|
||||
}
|
||||
}
|
||||
|
@@ -47,7 +47,8 @@ public class NavButtonShortcutOptionController extends SoftwareShortcutOptionPre
|
||||
if (preference instanceof ShortcutOptionPreference shortcutOptionPreference) {
|
||||
shortcutOptionPreference.setTitle(
|
||||
R.string.accessibility_shortcut_edit_dialog_title_software);
|
||||
shortcutOptionPreference.setIntroImageResId(R.drawable.a11y_shortcut_type_software);
|
||||
shortcutOptionPreference.setIntroImageResId(
|
||||
R.drawable.accessibility_shortcut_type_navbar);
|
||||
shortcutOptionPreference.setSummaryProvider(
|
||||
new Preference.SummaryProvider<ShortcutOptionPreference>() {
|
||||
@Override
|
||||
|
@@ -65,7 +65,7 @@ public class QuickSettingsShortcutOptionController extends ShortcutOptionPrefere
|
||||
shortcutOptionPreference.setTitle(
|
||||
R.string.accessibility_shortcut_edit_dialog_title_quick_settings);
|
||||
shortcutOptionPreference.setIntroImageResId(
|
||||
R.drawable.a11y_shortcut_type_quick_settings);
|
||||
R.drawable.accessibility_shortcut_type_quick_settings);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -97,7 +97,7 @@ public class ShortcutOptionPreference extends CheckBoxPreference {
|
||||
result));
|
||||
imageView.setAnimation(mIntroImageRawResId);
|
||||
imageView.setRepeatCount(LottieDrawable.INFINITE);
|
||||
LottieColorUtils.applyDynamicColors(getContext(), imageView);
|
||||
LottieColorUtils.applyDynamicColors(imageView.getContext(), imageView);
|
||||
imageView.playAnimation();
|
||||
} else {
|
||||
imageView.setImageResource(mIntroImageResId);
|
||||
|
@@ -57,7 +57,7 @@ public class TripleTapShortcutOptionController extends ShortcutOptionPreferenceC
|
||||
|
||||
shortcutOptionPreference.setSummary(summary);
|
||||
shortcutOptionPreference.setIntroImageRawResId(
|
||||
R.raw.a11y_shortcut_type_triple_tap);
|
||||
R.raw.accessibility_shortcut_type_tripletap);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -63,9 +63,8 @@ public class TwoFingerDoubleTapShortcutOptionController
|
||||
numFingers);
|
||||
|
||||
shortcutOptionPreference.setSummary(summary);
|
||||
// TODO (b/306153204): Update shortcut image when UX provides them
|
||||
shortcutOptionPreference.setIntroImageRawResId(
|
||||
R.raw.a11y_shortcut_type_triple_tap);
|
||||
R.raw.accessibility_shortcut_type_2finger_doubletap);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -53,7 +53,7 @@ public class VolumeKeysShortcutOptionController extends ShortcutOptionPreference
|
||||
shortcutOptionPreference.setSummary(
|
||||
R.string.accessibility_shortcut_edit_dialog_summary_hardware);
|
||||
shortcutOptionPreference.setIntroImageResId(
|
||||
R.drawable.a11y_shortcut_type_hardware);
|
||||
R.drawable.accessibility_shortcut_type_volume_keys);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -19,18 +19,18 @@ package com.android.settings.accessibility;
|
||||
import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU;
|
||||
import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_NAVIGATION_BAR;
|
||||
|
||||
import static com.android.settings.testutils.ImageTestUtils.drawableToBitmap;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.robolectric.Shadows.shadowOf;
|
||||
|
||||
import android.content.ContentResolver;
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.provider.Settings;
|
||||
|
||||
import androidx.preference.PreferenceScreen;
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
@@ -45,6 +45,7 @@ import org.mockito.Spy;
|
||||
import org.mockito.junit.MockitoJUnit;
|
||||
import org.mockito.junit.MockitoRule;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
import org.robolectric.shadows.ShadowDrawable;
|
||||
|
||||
/** Tests for {@link AccessibilityButtonPreviewPreferenceController}. */
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@@ -52,18 +53,22 @@ public class AccessibilityButtonPreviewPreferenceControllerTest {
|
||||
|
||||
@Rule
|
||||
public MockitoRule mocks = MockitoJUnit.rule();
|
||||
|
||||
private static final String PREF_KEY = "test_key";
|
||||
@Spy
|
||||
private final Context mContext = ApplicationProvider.getApplicationContext();
|
||||
@Mock
|
||||
private ContentResolver mContentResolver;
|
||||
@Mock
|
||||
private PreferenceScreen mPreferenceScreen;
|
||||
private AccessibilityButtonPreviewPreferenceController mController;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
when(mContext.getContentResolver()).thenReturn(mContentResolver);
|
||||
mController = new AccessibilityButtonPreviewPreferenceController(mContext, "test_key");
|
||||
mController = new AccessibilityButtonPreviewPreferenceController(mContext, PREF_KEY);
|
||||
mController.mIllustrationPreference = new IllustrationPreference(mContext);
|
||||
when(mPreferenceScreen.findPreference(PREF_KEY))
|
||||
.thenReturn(mController.mIllustrationPreference);
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -73,29 +78,31 @@ public class AccessibilityButtonPreviewPreferenceControllerTest {
|
||||
|
||||
mController.mContentObserver.onChange(false);
|
||||
|
||||
final Drawable navigationBarDrawable = mContext.getDrawable(
|
||||
R.drawable.a11y_button_navigation);
|
||||
assertThat(drawableToBitmap(mController.mIllustrationPreference.getImageDrawable()).sameAs(
|
||||
drawableToBitmap(navigationBarDrawable))).isTrue();
|
||||
ShadowDrawable drawable = shadowOf(mController.mIllustrationPreference.getImageDrawable());
|
||||
assertThat(drawable.getCreatedFromResId())
|
||||
.isEqualTo(R.drawable.accessibility_shortcut_type_navbar);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void onChange_updatePreviewPreferenceWithConfig_expectedPreviewDrawable() {
|
||||
public void onChange_updateFloatingMenuSize_expectedPreviewDrawable() {
|
||||
Settings.Secure.putInt(mContentResolver,
|
||||
Settings.Secure.ACCESSIBILITY_BUTTON_MODE, ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU);
|
||||
Settings.Secure.putInt(mContentResolver,
|
||||
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, /* small size */ 0);
|
||||
Settings.Secure.putFloat(mContentResolver,
|
||||
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_OPACITY, 0.1f);
|
||||
mController.displayPreference(mPreferenceScreen);
|
||||
Drawable actualDrawable = mController.mIllustrationPreference.getImageDrawable();
|
||||
ShadowDrawable shadowDrawable = shadowOf(actualDrawable);
|
||||
assertThat(shadowDrawable.getCreatedFromResId())
|
||||
.isEqualTo(R.drawable.accessibility_shortcut_type_fab_size_small_preview);
|
||||
|
||||
Settings.Secure.putInt(mContentResolver,
|
||||
Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, /* large size */ 1);
|
||||
mController.mContentObserver.onChange(false);
|
||||
|
||||
final Drawable smallFloatingMenuWithTenOpacityDrawable =
|
||||
AccessibilityLayerDrawable.createLayerDrawable(mContext,
|
||||
R.drawable.a11y_button_preview_small_floating_menu, 10);
|
||||
assertThat(
|
||||
mController.mIllustrationPreference.getImageDrawable().getConstantState())
|
||||
.isEqualTo(smallFloatingMenuWithTenOpacityDrawable.getConstantState());
|
||||
actualDrawable = mController.mIllustrationPreference.getImageDrawable();
|
||||
shadowDrawable = shadowOf(actualDrawable);
|
||||
assertThat(shadowDrawable.getCreatedFromResId())
|
||||
.isEqualTo(R.drawable.accessibility_shortcut_type_fab_size_large_preview);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@@ -1,73 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.accessibility;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.drawable.Drawable;
|
||||
|
||||
import androidx.test.core.app.ApplicationProvider;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.testutils.ImageTestUtils;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.RobolectricTestRunner;
|
||||
|
||||
/** Tests for {@link AccessibilityLayerDrawable}. */
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
public class AccessibilityLayerDrawableTest {
|
||||
|
||||
private static final int TEST_RES_ID =
|
||||
com.android.internal.R.drawable.ic_accessibility_magnification;
|
||||
private static final int TEST_RES_ID_2 =
|
||||
com.android.internal.R.drawable.ic_accessibility_color_inversion;
|
||||
private final Context mContext = ApplicationProvider.getApplicationContext();
|
||||
|
||||
@Test
|
||||
public void createLayerDrawable_configCorrect() {
|
||||
final Drawable expected1stDrawable = mContext.getDrawable(
|
||||
R.drawable.a11y_button_preview_base);
|
||||
final Drawable expected2ndDrawable = mContext.getDrawable(TEST_RES_ID);
|
||||
|
||||
final AccessibilityLayerDrawable actualDrawable =
|
||||
AccessibilityLayerDrawable.createLayerDrawable(mContext, TEST_RES_ID,
|
||||
/* opacity= */ 27);
|
||||
|
||||
final Drawable actual1stDrawable = actualDrawable.getDrawable(0);
|
||||
final Drawable actual2ndDrawable = actualDrawable.getDrawable(1);
|
||||
assertThat(ImageTestUtils.drawableToBitmap(actual1stDrawable).sameAs(
|
||||
ImageTestUtils.drawableToBitmap(expected1stDrawable))).isTrue();
|
||||
assertThat(ImageTestUtils.drawableToBitmap(actual2ndDrawable).sameAs(
|
||||
ImageTestUtils.drawableToBitmap(expected2ndDrawable))).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateLayerDrawable_expectedFloatingMenuLayerDrawableState() {
|
||||
final AccessibilityLayerDrawable originalDrawable =
|
||||
AccessibilityLayerDrawable.createLayerDrawable(mContext, TEST_RES_ID, /* opacity= */
|
||||
72);
|
||||
|
||||
originalDrawable.updateLayerDrawable(mContext, TEST_RES_ID_2, /* opacity= */ 27);
|
||||
|
||||
assertThat(originalDrawable.getConstantState()).isEqualTo(
|
||||
new AccessibilityLayerDrawable.AccessibilityLayerDrawableState(mContext,
|
||||
TEST_RES_ID_2, /* opacity= */ 27));
|
||||
}
|
||||
}
|
@@ -61,7 +61,8 @@ public class ShortcutOptionPreferenceTest {
|
||||
|
||||
@Test
|
||||
public void bindViewHolder_imageResIdSet_shouldShowImageView() {
|
||||
mShortcutOptionPreference.setIntroImageResId(R.drawable.a11y_shortcut_type_hardware);
|
||||
mShortcutOptionPreference.setIntroImageResId(
|
||||
R.drawable.accessibility_shortcut_type_hardware);
|
||||
|
||||
mShortcutOptionPreference.onBindViewHolder(mViewHolder);
|
||||
|
||||
|
@@ -1,47 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2021 The Android Open Source Project
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.android.settings.testutils;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.drawable.Drawable;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* Utilities for testing images within unit tests.
|
||||
*/
|
||||
public class ImageTestUtils {
|
||||
|
||||
/** Converts the drawable object to bitmap. */
|
||||
@Nullable
|
||||
public static Bitmap drawableToBitmap(@Nullable Drawable drawable) {
|
||||
if (drawable == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
final Bitmap bitmap =
|
||||
Bitmap.createBitmap(
|
||||
drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(),
|
||||
Bitmap.Config.ARGB_8888);
|
||||
final Canvas canvas = new Canvas(bitmap);
|
||||
drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
|
||||
drawable.draw(canvas);
|
||||
|
||||
return bitmap;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user