Update pointer fill option backgrounds for color contrast and touch
target size. Fix: 374885995 Fix: 374886964 Test: Manual. Flag: EXEMPT Bugfix. Change-Id: Ibf09bfae4a93868ac3605748854ccaaa10847eb6
This commit is contained in:
@@ -14,15 +14,217 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<inset xmlns:android="http://schemas.android.com/apk/res/android"
|
<selector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:insetBottom="@dimen/pointer_fill_style_circle_offset"
|
xmlns:androidprv="http://schemas.android.com/apk/prv/res/android" >
|
||||||
android:insetLeft="@dimen/pointer_fill_style_circle_offset"
|
<item
|
||||||
android:insetRight="@dimen/pointer_fill_style_circle_offset"
|
android:state_hovered="true"
|
||||||
android:insetTop="@dimen/pointer_fill_style_circle_offset">
|
android:state_selected="true">
|
||||||
|
<layer-list>
|
||||||
|
<item
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_background_outline_offset"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_background_outline_offset"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_background_outline_offset"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_background_outline_offset">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners
|
||||||
|
android:radius="@dimen/pointer_fill_style_circle_background_corner_radius" />
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_background_outer_diameter_less_stroke"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_background_outer_diameter_less_stroke" />
|
||||||
|
<stroke
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_background_selected_outline_stroke"
|
||||||
|
android:color="@androidprv:color/materialColorSecondary" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_background_offset"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_background_offset"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_background_offset"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_background_offset">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners android:radius="@dimen/pointer_fill_style_circle_background_corner_inner_radius" />
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_background_outer_diameter_selected"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_background_outer_diameter_selected" />
|
||||||
|
<solid
|
||||||
|
android:color="@color/pointer_fill_hovered_color" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item
|
||||||
|
android:id="@+id/tintableCircleHoveredSelected"
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_offset_selected"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_offset_selected"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_offset_selected"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_offset_selected">
|
||||||
<shape android:shape="oval">
|
<shape android:shape="oval">
|
||||||
<size
|
<size
|
||||||
android:width="@dimen/pointer_fill_style_circle_inner_diameter"
|
android:width="@dimen/pointer_fill_style_circle_diameter"
|
||||||
android:height="@dimen/pointer_fill_style_circle_inner_diameter" />
|
android:height="@dimen/pointer_fill_style_circle_diameter" />
|
||||||
<solid android:color="@android:color/white" />
|
<solid android:color="@android:color/white" />
|
||||||
</shape>
|
</shape>
|
||||||
</inset>
|
</item>
|
||||||
|
<item
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_outline_offset_selected"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_outline_offset_selected"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_outline_offset_selected"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_outline_offset_selected">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_outline_diameter"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_outline_diameter" />
|
||||||
|
<stroke
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_outline_stroke"
|
||||||
|
android:color="@android:color/white" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item android:gravity="center"
|
||||||
|
android:width="@dimen/pointer_fill_style_checkmark_size"
|
||||||
|
android:height="@dimen/pointer_fill_style_checkmark_size"
|
||||||
|
android:drawable="@drawable/pointer_fill_check_24dp" />
|
||||||
|
</layer-list>
|
||||||
|
</item>
|
||||||
|
<item android:state_selected="true">
|
||||||
|
<layer-list>
|
||||||
|
<item
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_background_outline_offset"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_background_outline_offset"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_background_outline_offset"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_background_outline_offset">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners android:radius="@dimen/pointer_fill_style_circle_background_corner_radius" />
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_background_outer_diameter_less_stroke"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_background_outer_diameter_less_stroke" />
|
||||||
|
<stroke
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_background_selected_outline_stroke"
|
||||||
|
android:color="@androidprv:color/materialColorSecondary" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_background_offset"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_background_offset"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_background_offset"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_background_offset">
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners android:radius="@dimen/pointer_fill_style_circle_background_corner_inner_radius" />
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_background_outer_diameter_selected"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_background_outer_diameter_selected" />
|
||||||
|
<solid android:color="@androidprv:color/materialColorSurfaceBright" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item
|
||||||
|
android:id="@+id/tintableCircleSelected"
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_offset_selected"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_offset_selected"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_offset_selected"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_offset_selected">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_diameter"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_diameter" />
|
||||||
|
<solid android:color="@android:color/white" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_outline_offset_selected"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_outline_offset_selected"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_outline_offset_selected"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_outline_offset_selected">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_outline_diameter"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_outline_diameter" />
|
||||||
|
<stroke
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_outline_stroke"
|
||||||
|
android:color="@android:color/white" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item
|
||||||
|
android:gravity="center"
|
||||||
|
android:width="@dimen/pointer_fill_style_checkmark_size"
|
||||||
|
android:height="@dimen/pointer_fill_style_checkmark_size"
|
||||||
|
android:drawable="@drawable/pointer_fill_check_24dp" />
|
||||||
|
</layer-list>
|
||||||
|
</item>
|
||||||
|
<item android:state_hovered="true">
|
||||||
|
<layer-list>
|
||||||
|
<item>
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners android:radius="@dimen/pointer_fill_style_circle_background_corner_radius" />
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_background_outer_diameter" />
|
||||||
|
<solid android:color="@color/pointer_fill_hovered_color" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item
|
||||||
|
android:id="@+id/tintableCircleHovered"
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_offset"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_offset"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_offset"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_offset">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_diameter"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_diameter" />
|
||||||
|
<solid android:color="@android:color/white" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_outline_offset"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_outline_offset"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_outline_offset"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_outline_offset">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_outline_diameter"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_outline_diameter" />
|
||||||
|
<stroke
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_outline_stroke"
|
||||||
|
android:color="@android:color/white" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
|
</item>
|
||||||
|
<item><!-- default state -->
|
||||||
|
<layer-list>
|
||||||
|
<item>
|
||||||
|
<shape android:shape="rectangle">
|
||||||
|
<corners android:radius="@dimen/pointer_fill_style_circle_background_corner_radius" />
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_background_outer_diameter" />
|
||||||
|
<solid android:color="@androidprv:color/materialColorSurfaceBright" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item
|
||||||
|
android:id="@+id/tintableCircleDefault"
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_offset"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_offset"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_offset"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_offset">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_diameter"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_diameter" />
|
||||||
|
<solid android:color="@android:color/white" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
<item
|
||||||
|
android:top="@dimen/pointer_fill_style_circle_outline_offset"
|
||||||
|
android:left="@dimen/pointer_fill_style_circle_outline_offset"
|
||||||
|
android:bottom="@dimen/pointer_fill_style_circle_outline_offset"
|
||||||
|
android:right="@dimen/pointer_fill_style_circle_outline_offset">
|
||||||
|
<shape android:shape="oval">
|
||||||
|
<size
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_outline_diameter"
|
||||||
|
android:height="@dimen/pointer_fill_style_circle_outline_diameter" />
|
||||||
|
<stroke
|
||||||
|
android:width="@dimen/pointer_fill_style_circle_outline_stroke"
|
||||||
|
android:color="@android:color/white" />
|
||||||
|
</shape>
|
||||||
|
</item>
|
||||||
|
</layer-list>
|
||||||
|
</item>
|
||||||
|
</selector>
|
||||||
|
@@ -1,67 +0,0 @@
|
|||||||
<?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
|
|
||||||
|
|
||||||
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.
|
|
||||||
-->
|
|
||||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<item android:state_selected="true" android:state_hovered="true">
|
|
||||||
<layer-list>
|
|
||||||
<item>
|
|
||||||
<shape android:shape="oval">
|
|
||||||
<size android:width="@dimen/pointer_fill_style_circle_hover_selected_diameter"
|
|
||||||
android:height="@dimen/pointer_fill_style_circle_hover_selected_diameter" />
|
|
||||||
<stroke android:width="@dimen/pointer_fill_style_shape_hovered_stroke"
|
|
||||||
android:color="@color/pointer_fill_outline_color" />
|
|
||||||
</shape>
|
|
||||||
</item>
|
|
||||||
<item
|
|
||||||
android:top="@dimen/pointer_fill_style_checkmark_hovered_padding"
|
|
||||||
android:left="@dimen/pointer_fill_style_checkmark_hovered_padding"
|
|
||||||
android:bottom="@dimen/pointer_fill_style_checkmark_hovered_padding"
|
|
||||||
android:right="@dimen/pointer_fill_style_checkmark_hovered_padding"
|
|
||||||
android:drawable="@drawable/pointer_fill_check_24dp" />
|
|
||||||
</layer-list>
|
|
||||||
</item>
|
|
||||||
<item android:state_selected="true">
|
|
||||||
<layer-list>
|
|
||||||
<item>
|
|
||||||
<inset android:insetTop="@dimen/pointer_fill_style_circle_selected_offset"
|
|
||||||
android:insetLeft="@dimen/pointer_fill_style_circle_selected_offset"
|
|
||||||
android:insetBottom="@dimen/pointer_fill_style_circle_selected_offset"
|
|
||||||
android:insetRight="@dimen/pointer_fill_style_circle_selected_offset">
|
|
||||||
<shape android:shape="oval">
|
|
||||||
<size android:width="@dimen/pointer_fill_style_circle_selected_diameter"
|
|
||||||
android:height="@dimen/pointer_fill_style_circle_selected_diameter" />
|
|
||||||
<stroke android:width="@dimen/pointer_fill_style_shape_selected_stroke"
|
|
||||||
android:color="@color/pointer_fill_outline_color" />
|
|
||||||
</shape>
|
|
||||||
</inset>
|
|
||||||
</item>
|
|
||||||
<item
|
|
||||||
android:top="@dimen/pointer_fill_style_checkmark_selected_padding"
|
|
||||||
android:left="@dimen/pointer_fill_style_checkmark_selected_padding"
|
|
||||||
android:bottom="@dimen/pointer_fill_style_checkmark_selected_padding"
|
|
||||||
android:right="@dimen/pointer_fill_style_checkmark_selected_padding"
|
|
||||||
android:drawable="@drawable/pointer_fill_check_24dp" />
|
|
||||||
</layer-list>
|
|
||||||
</item>
|
|
||||||
<item android:state_hovered="true">
|
|
||||||
<shape android:shape="oval">
|
|
||||||
<size android:width="@dimen/pointer_fill_style_circle_hover_diameter"
|
|
||||||
android:height="@dimen/pointer_fill_style_circle_hover_diameter" />
|
|
||||||
<stroke android:width="@dimen/pointer_fill_style_shape_hovered_stroke"
|
|
||||||
android:color="@color/pointer_fill_outline_color" />
|
|
||||||
</shape>
|
|
||||||
</item>
|
|
||||||
</selector>
|
|
@@ -42,7 +42,6 @@
|
|||||||
android:layout_height="@dimen/pointer_fill_container_height"
|
android:layout_height="@dimen/pointer_fill_container_height"
|
||||||
android:layout_marginBottom="@dimen/pointer_fill_style_circle_padding"
|
android:layout_marginBottom="@dimen/pointer_fill_style_circle_padding"
|
||||||
android:layout_marginTop="@dimen/pointer_fill_style_circle_padding"
|
android:layout_marginTop="@dimen/pointer_fill_style_circle_padding"
|
||||||
android:background="@drawable/pointer_icon_fill_container_background"
|
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:paddingTop="@dimen/pointer_fill_style_container_padding"
|
android:paddingTop="@dimen/pointer_fill_style_container_padding"
|
||||||
android:paddingBottom="@dimen/pointer_fill_style_container_padding">
|
android:paddingBottom="@dimen/pointer_fill_style_container_padding">
|
||||||
@@ -53,19 +52,18 @@
|
|||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:importantForAccessibility="no"
|
android:importantForAccessibility="no"
|
||||||
android:layout_weight="4" />
|
android:layout_weight="1" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/button_black"
|
android:id="@+id/button_black"
|
||||||
android:layout_width="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_width="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
android:layout_height="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_height="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:maxWidth="@dimen/pointer_fill_style_circle_diameter"
|
android:maxWidth="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:contentDescription="@string/pointer_fill_style_black_button"
|
android:contentDescription="@string/pointer_fill_style_black_button"
|
||||||
android:scaleType="center"
|
android:scaleType="center"
|
||||||
android:background="@drawable/pointer_icon_fill_color_background"
|
android:src="@drawable/pointer_icon_fill_color_background" />
|
||||||
android:src="@drawable/pointer_icon_fill_color_foreground" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@@ -73,19 +71,18 @@
|
|||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:importantForAccessibility="no"
|
android:importantForAccessibility="no"
|
||||||
android:layout_weight="3" />
|
android:layout_weight="1" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/button_green"
|
android:id="@+id/button_green"
|
||||||
android:layout_width="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_width="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
android:layout_height="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_height="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:maxWidth="@dimen/pointer_fill_style_circle_diameter"
|
android:maxWidth="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:contentDescription="@string/pointer_fill_style_green_button"
|
android:contentDescription="@string/pointer_fill_style_green_button"
|
||||||
android:scaleType="center"
|
android:scaleType="center"
|
||||||
android:background="@drawable/pointer_icon_fill_color_background"
|
android:src="@drawable/pointer_icon_fill_color_background" />
|
||||||
android:src="@drawable/pointer_icon_fill_color_foreground" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@@ -93,19 +90,18 @@
|
|||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:importantForAccessibility="no"
|
android:importantForAccessibility="no"
|
||||||
android:layout_weight="3" />
|
android:layout_weight="1" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/button_red"
|
android:id="@+id/button_red"
|
||||||
android:layout_width="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_width="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
android:layout_height="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_height="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:maxWidth="@dimen/pointer_fill_style_circle_diameter"
|
android:maxWidth="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:contentDescription="@string/pointer_fill_style_red_button"
|
android:contentDescription="@string/pointer_fill_style_red_button"
|
||||||
android:scaleType="center"
|
android:scaleType="center"
|
||||||
android:background="@drawable/pointer_icon_fill_color_background"
|
android:src="@drawable/pointer_icon_fill_color_background" />
|
||||||
android:src="@drawable/pointer_icon_fill_color_foreground" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@@ -113,19 +109,18 @@
|
|||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:importantForAccessibility="no"
|
android:importantForAccessibility="no"
|
||||||
android:layout_weight="3" />
|
android:layout_weight="1" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/button_pink"
|
android:id="@+id/button_pink"
|
||||||
android:layout_width="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_width="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
android:layout_height="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_height="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:maxWidth="@dimen/pointer_fill_style_circle_diameter"
|
android:maxWidth="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:contentDescription="@string/pointer_fill_style_pink_button"
|
android:contentDescription="@string/pointer_fill_style_pink_button"
|
||||||
android:scaleType="center"
|
android:scaleType="center"
|
||||||
android:background="@drawable/pointer_icon_fill_color_background"
|
android:src="@drawable/pointer_icon_fill_color_background" />
|
||||||
android:src="@drawable/pointer_icon_fill_color_foreground" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@@ -133,19 +128,18 @@
|
|||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:importantForAccessibility="no"
|
android:importantForAccessibility="no"
|
||||||
android:layout_weight="3" />
|
android:layout_weight="1" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/button_blue"
|
android:id="@+id/button_blue"
|
||||||
android:layout_width="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_width="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
android:layout_height="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_height="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:maxWidth="@dimen/pointer_fill_style_circle_diameter"
|
android:maxWidth="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:contentDescription="@string/pointer_fill_style_blue_button"
|
android:contentDescription="@string/pointer_fill_style_blue_button"
|
||||||
android:scaleType="center"
|
android:scaleType="center"
|
||||||
android:background="@drawable/pointer_icon_fill_color_background"
|
android:src="@drawable/pointer_icon_fill_color_background" />
|
||||||
android:src="@drawable/pointer_icon_fill_color_foreground" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@@ -153,19 +147,18 @@
|
|||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:importantForAccessibility="no"
|
android:importantForAccessibility="no"
|
||||||
android:layout_weight="3" />
|
android:layout_weight="1" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/button_purple"
|
android:id="@+id/button_purple"
|
||||||
android:layout_width="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_width="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:layout_weight="0"
|
android:layout_weight="0"
|
||||||
android:layout_height="@dimen/pointer_fill_style_circle_diameter"
|
android:layout_height="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:adjustViewBounds="true"
|
android:adjustViewBounds="true"
|
||||||
android:maxWidth="@dimen/pointer_fill_style_circle_diameter"
|
android:maxWidth="@dimen/pointer_fill_style_circle_background_outer_diameter"
|
||||||
android:contentDescription="@string/pointer_fill_style_purple_button"
|
android:contentDescription="@string/pointer_fill_style_purple_button"
|
||||||
android:scaleType="center"
|
android:scaleType="center"
|
||||||
android:background="@drawable/pointer_icon_fill_color_background"
|
android:src="@drawable/pointer_icon_fill_color_background" />
|
||||||
android:src="@drawable/pointer_icon_fill_color_foreground" />
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
@@ -173,7 +166,7 @@
|
|||||||
android:focusable="false"
|
android:focusable="false"
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:importantForAccessibility="no"
|
android:importantForAccessibility="no"
|
||||||
android:layout_weight="4" />
|
android:layout_weight="1" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
@@ -77,8 +77,8 @@
|
|||||||
<!-- Switch bar disabled state color-->
|
<!-- Switch bar disabled state color-->
|
||||||
<color name="switch_bar_state_disabled_color">#1FE3E3E3</color>
|
<color name="switch_bar_state_disabled_color">#1FE3E3E3</color>
|
||||||
|
|
||||||
<!-- Pointer fill color setting outline color-->
|
<!-- Pointer fill color setting, fill selector's background color on hover. -->
|
||||||
<color name="pointer_fill_outline_color">#FFFFFF</color>
|
<color name="pointer_fill_hovered_color">#3E373C</color>
|
||||||
|
|
||||||
<!-- Connected displays -->
|
<!-- Connected displays -->
|
||||||
<color name="display_topology_background_color">@color/settingslib_color_charcoal</color>
|
<color name="display_topology_background_color">@color/settingslib_color_charcoal</color>
|
||||||
|
@@ -219,8 +219,8 @@
|
|||||||
<!-- Switch bar disabled state color-->
|
<!-- Switch bar disabled state color-->
|
||||||
<color name="switch_bar_state_disabled_color">#1F1F1F1F</color>
|
<color name="switch_bar_state_disabled_color">#1F1F1F1F</color>
|
||||||
|
|
||||||
<!-- Pointer fill color setting outline color-->
|
<!-- Pointer fill color setting, fill selector's background color on hover. -->
|
||||||
<color name="pointer_fill_outline_color">#000000</color>
|
<color name="pointer_fill_hovered_color">#1C201A1E</color>
|
||||||
|
|
||||||
<!-- Connected displays -->
|
<!-- Connected displays -->
|
||||||
<color name="display_topology_background_color">@color/settingslib_color_grey100</color>
|
<color name="display_topology_background_color">@color/settingslib_color_grey100</color>
|
||||||
|
@@ -180,21 +180,28 @@
|
|||||||
<dimen name="keyboard_picker_text_size">16sp</dimen>
|
<dimen name="keyboard_picker_text_size">16sp</dimen>
|
||||||
|
|
||||||
<!-- Pointer -->
|
<!-- Pointer -->
|
||||||
<dimen name="pointer_fill_container_height">88dp</dimen>
|
<dimen name="pointer_fill_container_height">80dp</dimen>
|
||||||
<dimen name="pointer_fill_container_max_width">448dp</dimen>
|
<dimen name="pointer_fill_container_max_width">468dp</dimen>
|
||||||
<dimen name="pointer_fill_style_container_padding">32dp</dimen>
|
<dimen name="pointer_fill_style_container_padding">32dp</dimen>
|
||||||
<dimen name="pointer_fill_style_circle_diameter">56dp</dimen>
|
<dimen name="pointer_fill_style_target_width">64dp</dimen>
|
||||||
<dimen name="pointer_fill_style_circle_hover_selected_diameter">52dp</dimen>
|
<dimen name="pointer_fill_style_circle_diameter">39dp</dimen>
|
||||||
<dimen name="pointer_fill_style_circle_hover_diameter">56dp</dimen>
|
<dimen name="pointer_fill_style_circle_outline_diameter">39.5dp</dimen>
|
||||||
<dimen name="pointer_fill_style_circle_selected_diameter">50dp</dimen>
|
<dimen name="pointer_fill_style_circle_background_corner_radius">20dp</dimen>
|
||||||
<dimen name="pointer_fill_style_circle_inner_diameter">40dp</dimen>
|
<dimen name="pointer_fill_style_circle_background_corner_inner_radius">16dp</dimen>
|
||||||
<dimen name="pointer_fill_style_circle_offset">8dp</dimen>
|
<dimen name="pointer_fill_style_circle_background_outer_diameter">64dp</dimen>
|
||||||
|
<dimen name="pointer_fill_style_circle_background_outer_diameter_less_stroke">62dp</dimen>
|
||||||
|
<dimen name="pointer_fill_style_circle_background_outer_diameter_selected">52dp</dimen>
|
||||||
|
<dimen name="pointer_fill_style_circle_background_outline_offset">1dp</dimen>
|
||||||
|
<dimen name="pointer_fill_style_circle_offset">12.5dp</dimen>
|
||||||
|
<dimen name="pointer_fill_style_circle_offset_selected">13.25dp</dimen>
|
||||||
|
<dimen name="pointer_fill_style_circle_outline_offset">12.25dp</dimen>
|
||||||
|
<dimen name="pointer_fill_style_circle_outline_offset_selected">13dp</dimen>
|
||||||
|
<dimen name="pointer_fill_style_circle_background_offset">7dp</dimen>
|
||||||
|
<dimen name="pointer_fill_style_circle_outline_stroke">1dp</dimen>
|
||||||
|
<dimen name="pointer_fill_style_circle_background_selected_outline_stroke">2dp</dimen>
|
||||||
<dimen name="pointer_fill_style_circle_padding">16dp</dimen>
|
<dimen name="pointer_fill_style_circle_padding">16dp</dimen>
|
||||||
<dimen name="pointer_fill_style_circle_selected_offset">3dp</dimen>
|
<dimen name="pointer_fill_style_checkmark_selected_padding">16dp</dimen>
|
||||||
<dimen name="pointer_fill_style_checkmark_selected_padding">14dp</dimen>
|
<dimen name="pointer_fill_style_checkmark_size">24dp</dimen>
|
||||||
<dimen name="pointer_fill_style_checkmark_hovered_padding">17dp</dimen>
|
|
||||||
<dimen name="pointer_fill_style_shape_selected_stroke">2dp</dimen>
|
|
||||||
<dimen name="pointer_fill_style_shape_hovered_stroke">4dp</dimen>
|
|
||||||
<dimen name="pointer_stroke_style_padding">8dp</dimen>
|
<dimen name="pointer_stroke_style_padding">8dp</dimen>
|
||||||
<dimen name="pointer_stroke_style_text_padding">21dp</dimen>
|
<dimen name="pointer_stroke_style_text_padding">21dp</dimen>
|
||||||
<dimen name="pointer_scale_padding">8dp</dimen>
|
<dimen name="pointer_scale_padding">8dp</dimen>
|
||||||
|
@@ -25,6 +25,9 @@ import static android.view.PointerIcon.POINTER_ICON_VECTOR_STYLE_FILL_RED;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.TypedArray;
|
import android.content.res.TypedArray;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
|
import android.graphics.drawable.LayerDrawable;
|
||||||
|
import android.graphics.drawable.StateListDrawable;
|
||||||
import android.provider.Settings;
|
import android.provider.Settings;
|
||||||
import android.util.AttributeSet;
|
import android.util.AttributeSet;
|
||||||
import android.view.PointerIcon;
|
import android.view.PointerIcon;
|
||||||
@@ -41,6 +44,11 @@ import com.android.settings.R;
|
|||||||
|
|
||||||
|
|
||||||
public class PointerFillStylePreference extends Preference {
|
public class PointerFillStylePreference extends Preference {
|
||||||
|
private static final int[] STATE_HOVERED_SELECTED =
|
||||||
|
new int[]{android.R.attr.state_hovered, android.R.attr.state_selected};
|
||||||
|
private static final int[] STATE_SELECTED = new int[]{android.R.attr.state_selected};
|
||||||
|
private static final int[] STATE_HOVERED = new int[]{android.R.attr.state_hovered};
|
||||||
|
private static final int[] STATE_DEFAULT = new int[]{};
|
||||||
|
|
||||||
@Nullable private LinearLayout mButtonHolder;
|
@Nullable private LinearLayout mButtonHolder;
|
||||||
|
|
||||||
@@ -82,11 +90,7 @@ public class PointerFillStylePreference extends Preference {
|
|||||||
if (button == null) {
|
if (button == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int[] attrs = {com.android.internal.R.attr.pointerIconVectorFill};
|
tintButtonByStyle(button, style);
|
||||||
try (TypedArray ta = getContext().obtainStyledAttributes(
|
|
||||||
PointerIcon.vectorFillStyleToResource(style), attrs)) {
|
|
||||||
button.getBackground().setTint(ta.getColor(0, Color.BLACK));
|
|
||||||
}
|
|
||||||
button.setOnClickListener(
|
button.setOnClickListener(
|
||||||
(v) -> {
|
(v) -> {
|
||||||
getPreferenceDataStore().putInt(Settings.System.POINTER_FILL_STYLE, style);
|
getPreferenceDataStore().putInt(Settings.System.POINTER_FILL_STYLE, style);
|
||||||
@@ -96,6 +100,32 @@ public class PointerFillStylePreference extends Preference {
|
|||||||
button.setPointerIcon(PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_ARROW));
|
button.setPointerIcon(PointerIcon.getSystemIcon(getContext(), PointerIcon.TYPE_ARROW));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void tintButtonByStyle(ImageView button, int style) {
|
||||||
|
int[] attrs = {com.android.internal.R.attr.pointerIconVectorFill};
|
||||||
|
try (TypedArray ta = getContext().obtainStyledAttributes(
|
||||||
|
PointerIcon.vectorFillStyleToResource(style), attrs)) {
|
||||||
|
// Index 0, as there is only one attribute returned here.
|
||||||
|
int color = ta.getColor(/* index= */ 0, Color.BLACK);
|
||||||
|
StateListDrawable stateListDrawable = (StateListDrawable) button.getDrawable();
|
||||||
|
tintDrawableByLayerId(stateListDrawable, STATE_HOVERED_SELECTED,
|
||||||
|
R.id.tintableCircleHoveredSelected, color);
|
||||||
|
tintDrawableByLayerId(stateListDrawable, STATE_SELECTED, R.id.tintableCircleSelected,
|
||||||
|
color);
|
||||||
|
tintDrawableByLayerId(stateListDrawable, STATE_HOVERED, R.id.tintableCircleHovered,
|
||||||
|
color);
|
||||||
|
tintDrawableByLayerId(stateListDrawable, STATE_DEFAULT, R.id.tintableCircleDefault,
|
||||||
|
color);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tintDrawableByLayerId(StateListDrawable stateListDrawable, int[] stateSet,
|
||||||
|
int layerId, int color) {
|
||||||
|
int index = stateListDrawable.findStateDrawableIndex(stateSet);
|
||||||
|
LayerDrawable layerDrawable = (LayerDrawable) stateListDrawable.getStateDrawable(index);
|
||||||
|
Drawable drawable = layerDrawable.findDrawableByLayerId(layerId);
|
||||||
|
drawable.setTint(color);
|
||||||
|
}
|
||||||
|
|
||||||
private void setButtonChecked(int id) {
|
private void setButtonChecked(int id) {
|
||||||
if (mButtonHolder == null) {
|
if (mButtonHolder == null) {
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user