Implement Flash Notifications UI for Settings app.

Bug: 237628564
Test: make RunSettingsRoboTests ROBOTEST_FILTER=CameraFlashNotificationPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ColorSelectorLayoutTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FlashNotificationsPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FlashNotificationsPreferenceFragmentTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FlashNotificationsPreviewPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FlashNotificationsPreviewPreferenceTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=FlashNotificationsUtilTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ScreenFlashNotificationColorDialogFragmentTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=ScreenFlashNotificationColorTest
Change-Id: I0987590ddfcfd0873ec419db263f6a7eade81844
Signed-off-by: yw.bae <yw.bae@samsung.corp-partner.google.com>
Signed-off-by: Angela Wang <angelala@google.com>
This commit is contained in:
yw.bae
2023-01-06 22:49:14 +09:00
committed by Thomas Lin
parent 8750e58ed6
commit f763c25c1e
68 changed files with 4058 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<com.android.settingslib.widget.AdaptiveIconShapeDrawable
android:width="@dimen/accessibility_icon_size"
android:height="@dimen/accessibility_icon_size"
android:color="@color/accessibility_feature_background"/>
</item>
<item android:gravity="center">
<vector
android:width="@dimen/accessibility_icon_foreground_size"
android:height="@dimen/accessibility_icon_foreground_size"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#ffffff"
android:pathData="M7,2v11h3v9l7,-12h-4l4,-8z"/>
</vector>
</item>
</layer-list>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_01" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_01" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_01_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_01_layer" />
</selector>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_02" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_02" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_02_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_02_layer" />
</selector>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_03" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_03" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_03_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_03_layer" />
</selector>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_04" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_04" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_04_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_04_layer" />
</selector>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_05" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_05" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_05_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_05_layer" />
</selector>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_06" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_06" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_06_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_06_layer" />
</selector>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_07" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_07" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_07_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_07_layer" />
</selector>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_08" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_08" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_08_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_08_layer" />
</selector>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_09" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_09" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_09_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_09_layer" />
</selector>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_10" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_10" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_10_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_10_layer" />
</selector>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_11" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_11" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_11_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_11_layer" />
</selector>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_12" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
<item>
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_outer_circle_size"
android:height="@dimen/screen_flash_color_button_outer_circle_size" />
<solid android:color="@android:color/transparent" />
<stroke
android:width="@dimen/screen_flash_color_button_outer_circle_stroke_width"
android:color="@color/screen_flash_color_button_outer_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:bottom="@dimen/screen_flash_color_button_inner_circle_padding"
android:left="@dimen/screen_flash_color_button_inner_circle_padding"
android:right="@dimen/screen_flash_color_button_inner_circle_padding"
android:top="@dimen/screen_flash_color_button_inner_circle_padding">
<shape android:shape="oval">
<size
android:width="@dimen/screen_flash_color_button_inner_circle_size"
android:height="@dimen/screen_flash_color_button_inner_circle_size" />
<solid android:color="@color/screen_flash_preset_opaque_color_12" />
<stroke
android:width="@dimen/screen_flash_color_button_inner_circle_stroke"
android:color="@color/screen_flash_color_button_inner_circle_stroke_color" />
</shape>
</item>
</layer-list>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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:drawable="@drawable/screen_flash_color_12_checked_layer" android:state_checked="true" />
<item android:drawable="@drawable/screen_flash_color_12_layer" />
</selector>

View File

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:minHeight="?android:attr/listPreferredItemHeight"
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
android:paddingVertical="@dimen/settingslib_switchbar_margin"
android:background="@android:color/transparent">
<FrameLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:paddingStart="@dimen/settingslib_switchbar_padding_left"
android:paddingEnd="@dimen/settingslib_switchbar_padding_right"
android:background="@drawable/settingslib_switch_bar_bg_on">
<TextView
android:id="@android:id/title"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center_vertical"
android:paddingVertical="@dimen/settingslib_switch_title_margin"
android:ellipsize="end"
android:textAppearance="?android:attr/textAppearanceListItem"
android:hyphenationFrequency="normalFast"
android:lineBreakWordStyle="phrase"
style="@style/MainSwitchText.Settingslib"/>
</FrameLayout>
</FrameLayout>

View File

@@ -0,0 +1,174 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/color_selector_root_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/color_radio_button_00"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_01_selector"
android:contentDescription="@string/screen_flash_color_blue" />
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<RadioButton
android:id="@+id/color_radio_button_01"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_02_selector"
android:contentDescription="@string/screen_flash_color_azure" />
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<RadioButton
android:id="@+id/color_radio_button_02"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_03_selector"
android:contentDescription="@string/screen_flash_color_cyan" />
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<RadioButton
android:id="@+id/color_radio_button_03"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_04_selector"
android:contentDescription="@string/screen_flash_color_spring_green" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/color_radio_button_04"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_05_selector"
android:contentDescription="@string/screen_flash_color_green" />
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<RadioButton
android:id="@+id/color_radio_button_05"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_06_selector"
android:contentDescription="@string/screen_flash_color_chartreuse_green" />
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<RadioButton
android:id="@+id/color_radio_button_06"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_07_selector"
android:contentDescription="@string/screen_flash_color_yellow" />
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<RadioButton
android:id="@+id/color_radio_button_07"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_08_selector"
android:contentDescription="@string/screen_flash_color_orange" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
<RadioButton
android:id="@+id/color_radio_button_08"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_09_selector"
android:contentDescription="@string/screen_flash_color_red" />
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<RadioButton
android:id="@+id/color_radio_button_09"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_10_selector"
android:contentDescription="@string/screen_flash_color_rose" />
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<RadioButton
android:id="@+id/color_radio_button_10"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_11_selector"
android:contentDescription="@string/screen_flash_color_magenta" />
<Space
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<RadioButton
android:id="@+id/color_radio_button_11"
android:layout_width="@dimen/screen_flash_color_button_frame_size"
android:layout_height="@dimen/screen_flash_color_button_frame_size"
android:button="@drawable/screen_flash_color_12_selector"
android:contentDescription="@string/screen_flash_color_violet" />
</LinearLayout>
</LinearLayout>

View File

@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="24dp">
<com.android.settings.accessibility.ColorSelectorLayout
android:id="@+id/color_selector_preference"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="2dp"
android:layout_marginHorizontal="25dp"
android:layout_marginTop="21dp"
android:orientation="vertical" />
</LinearLayout>

View File

@@ -1415,4 +1415,19 @@
<item>persian</item>
</string-array>
<!-- Screen flash notification color when activating -->
<array name="screen_flash_notification_preset_opacity_colors">
<item>@color/screen_flash_preset_opacity_color_01</item>
<item>@color/screen_flash_preset_opacity_color_02</item>
<item>@color/screen_flash_preset_opacity_color_03</item>
<item>@color/screen_flash_preset_opacity_color_04</item>
<item>@color/screen_flash_preset_opacity_color_05</item>
<item>@color/screen_flash_preset_opacity_color_06</item>
<item>@color/screen_flash_preset_opacity_color_07</item>
<item>@color/screen_flash_preset_opacity_color_08</item>
<item>@color/screen_flash_preset_opacity_color_09</item>
<item>@color/screen_flash_preset_opacity_color_10</item>
<item>@color/screen_flash_preset_opacity_color_11</item>
<item>@color/screen_flash_preset_opacity_color_12</item>
</array>
</resources>

View File

@@ -181,4 +181,37 @@
<color name="udfps_enroll_progress">#699FF3</color>
<color name="udfps_enroll_progress_help">#70699FF3</color>
<color name="udfps_enroll_progress_help_with_talkback">#FFEE675C</color>
<!-- Flash notifications colors -->
<!-- Screen flash notification color selected stroke in color selection dialog -->
<color name="screen_flash_color_button_inner_circle_stroke_color">#D4D4D4</color>
<color name="screen_flash_color_button_outer_circle_stroke_color">#000000</color>
<!-- Screen flash notification color options in color selection dialog -->
<color name="screen_flash_preset_opaque_color_01">#0000FE</color> <!-- 100% Blue -->
<color name="screen_flash_preset_opaque_color_02">#0080FF</color> <!-- 100% Azure -->
<color name="screen_flash_preset_opaque_color_03">#00FFFF</color> <!-- 100% Cyan -->
<color name="screen_flash_preset_opaque_color_04">#00FF7F</color> <!-- 100% Spring green -->
<color name="screen_flash_preset_opaque_color_05">#00FF01</color> <!-- 100% Green -->
<color name="screen_flash_preset_opaque_color_06">#80FF00</color> <!-- 100% Chartreuse green -->
<color name="screen_flash_preset_opaque_color_07">#FFFF00</color> <!-- 100% Yellow -->
<color name="screen_flash_preset_opaque_color_08">#FF7F00</color> <!-- 100% Orange -->
<color name="screen_flash_preset_opaque_color_09">#FE0000</color> <!-- 100% Red -->
<color name="screen_flash_preset_opaque_color_10">#FF017E</color> <!-- 100% Rose -->
<color name="screen_flash_preset_opaque_color_11">#FF00FE</color> <!-- 100% Magenta -->
<color name="screen_flash_preset_opaque_color_12">#7F00FF</color> <!-- 100% Violet -->
<!-- Screen flash notification color when activating -->
<color name="screen_flash_preset_opacity_color_01">#4D0000FE</color> <!-- 30% Blue -->
<color name="screen_flash_preset_opacity_color_02">#660080FF</color> <!-- 40% Azure -->
<color name="screen_flash_preset_opacity_color_03">#4D00FFFF</color> <!-- 30% Cyan -->
<color name="screen_flash_preset_opacity_color_04">#6600FF7F</color> <!-- 40% Spring green -->
<color name="screen_flash_preset_opacity_color_05">#6600FF01</color> <!-- 40% Green -->
<color name="screen_flash_preset_opacity_color_06">#6680FF00</color> <!-- 40% Chartreuse green -->
<color name="screen_flash_preset_opacity_color_07">#66FFFF00</color> <!-- 40% Yellow -->
<color name="screen_flash_preset_opacity_color_08">#66FF7F00</color> <!-- 40% Orange -->
<color name="screen_flash_preset_opacity_color_09">#66FE0000</color> <!-- 40% Red -->
<color name="screen_flash_preset_opacity_color_10">#4DFF017E</color> <!-- 30% Rose -->
<color name="screen_flash_preset_opacity_color_11">#4DFF00FE</color> <!-- 30% Magenta -->
<color name="screen_flash_preset_opacity_color_12">#667F00FF</color> <!-- 40% Violet -->
</resources>

View File

@@ -416,4 +416,12 @@
<!-- Default margin for side fps enroll find sensor lottie -->
<dimen name="sfps_enroll_find_sensor_lottie_margin">0dp</dimen>
<!-- Flash notifications dimensions -->
<dimen name="screen_flash_color_button_frame_size">38dp</dimen>
<dimen name="screen_flash_color_button_outer_circle_size">38dp</dimen>
<dimen name="screen_flash_color_button_outer_circle_stroke_width">2dp</dimen>
<dimen name="screen_flash_color_button_inner_circle_size">32dp</dimen>
<dimen name="screen_flash_color_button_inner_circle_padding">3dp</dimen>
<dimen name="screen_flash_color_button_inner_circle_stroke">1dp</dimen>
</resources>

View File

@@ -6476,6 +6476,8 @@
<string name="help_url_timeout" translatable="false"></string>
<!-- Help URL, Accessibility Color Inversion [DO NOT TRANSLATE] -->
<string name="help_url_color_inversion" translatable="false"></string>
<!-- Help URL, Accessibility Flash Notification [DO NOT TRANSLATE] -->
<string name="help_url_flash_notifications" translatable="false"></string>
<string name="help_url_system_dashboard" translatable="false"></string>
<string name="help_url_double_tap_screen" translatable="false"></string>
<string name="help_url_account_detail" translatable="false"></string>
@@ -11739,4 +11741,56 @@
<!-- Accessibility label for fingerprint sensor [CHAR LIMIT=NONE] -->
<string name="accessibility_fingerprint_label">Fingerprint sensor</string>
<!-- Accessibility Flash Notification -->
<!-- Title of the Flash Notification entry [CHAR LIMIT=NONE] -->
<string name="flash_notifications_title">Flash notifications</string>
<!-- Summary of the Flash Notification preference if all flash alerts are off. [CHAR LIMIT=60] -->
<string name="flash_notifications_summary_off">Off</string>
<!-- Summary of the Flash Notification preference if only camera flash is on. [CHAR LIMIT=60] -->
<string name="flash_notifications_summary_on_camera">On / camera flash</string>
<!-- Summary of the Flash Notification preference if only screen flash is on. [CHAR LIMIT=60] -->
<string name="flash_notifications_summary_on_screen">On / screen flash</string>
<!-- Summary of the Flash Notification preference if both flash alerts are on. [CHAR LIMIT=60] -->
<string name="flash_notifications_summary_on_camera_and_screen">On / camera and screen flash</string>
<!-- Introduction in Flash Notification page to introduce flash notifications feature. [CHAR LIMIT=NONE] -->
<string name="flash_notifications_intro">Flash the camera light or the screen when you receive notifications or when alarms sound.</string>
<!-- Notes in Flash Notification page footer for something should be aware. [CHAR LIMIT=NONE] -->
<string name="flash_notifications_note">Use flash notifications with caution if your are light sensitive</string>
<!-- Label of the button to preview the selected Flash Notification effects. [CHAR LIMIT=20]-->
<string name="flash_notifications_preview">Preview</string>
<!-- Title of the camera flash in Flash Notification page. [CHAR LIMIT=60] -->
<string name="camera_flash_notification_title">Camera flash notification</string>
<!-- Title of the screen flash in Flash Notification page. [CHAR LIMIT=60] -->
<string name="screen_flash_notification_title">Screen flash notification</string>
<!-- Title of the screen flash color selection dialog. [CHAR LIMIT=NONE] -->
<string name="screen_flash_notification_color_title">Screen flash color</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_blue">Blue</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_azure">Azure</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_cyan">Cyan</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_spring_green">Spring green</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_green">Green</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_chartreuse_green">Chartreuse green</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_yellow">Yellow</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_orange">Orange</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_red">Red</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_rose">Rose</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_magenta">Magenta</string>
<!-- Label of the color option show in the summary of screen flash preference. [CHAR LIMIT=60] -->
<string name="screen_flash_color_violet">Violet</string>
<!-- Button to save the selection in screen flash color selection dialog. [CHAR LIMIT=20] -->
<string name="color_selector_dialog_done">Done</string>
<!-- Button to close the dialog without saving in screen flash color selection dialog. [CHAR LIMIT=20] -->
<string name="color_selector_dialog_cancel">Cancel</string>
</resources>

View File

@@ -150,6 +150,14 @@
settings:searchable="true"
settings:controller="com.android.settings.accessibility.AudioDescriptionPreferenceController"/>
<Preference
android:fragment="com.android.settings.accessibility.FlashNotificationsPreferenceFragment"
android:icon="@drawable/ic_flash_notification"
android:key="flash_notifications_preference"
android:persistent="false"
android:title="@string/flash_notifications_title"
settings:controller="com.android.settings.accessibility.FlashNotificationsPreferenceController" />
<Preference
android:key="hearing_aid_preference"
android:icon="@drawable/ic_hearing_aid"

View File

@@ -119,6 +119,7 @@
android:fragment="com.android.settings.notification.zen.ZenModeSettings"
settings:controller="com.android.settings.notification.zen.ZenModePreferenceController"
/>
<SwitchPreference
android:key="lock_screen_show_only_unseen_notifs"
android:order="18"
@@ -126,6 +127,15 @@
android:summary="@string/unseen_notifs_lock_screen_summary"
settings:controller="com.android.settings.notification.ShowOnlyUnseenNotificationsOnLockscreenPreferenceController"
/>
<Preference
android:fragment="com.android.settings.accessibility.FlashNotificationsPreferenceFragment"
android:key="flash_notifications_preference"
android:order="18"
android:persistent="false"
android:title="@string/flash_notifications_title"
settings:controller="com.android.settings.accessibility.FlashNotificationsPreferenceController" />
<com.android.settingslib.RestrictedPreference
android:key="app_and_notif_cell_broadcast_settings"
android:order="19"

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023 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.
-->
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/flash_notifications_title">
<com.android.settingslib.widget.TopIntroPreference
android:title="@string/flash_notifications_intro" />
<!-- TODO update when rawRes added
<com.android.settingslib.widget.IllustrationPreference
android:key="flash_notifications_guide_preference"
settings:lottie_rawRes="@raw/NOT ADDED"
settings:searchable="false" />
-->
<SwitchPreference
android:key="camera_flash_notification_preference"
android:persistent="false"
android:title="@string/camera_flash_notification_title"
settings:controller="com.android.settings.accessibility.CameraFlashNotificationPreferenceController" />
<com.android.settingslib.PrimarySwitchPreference
android:key="screen_flash_notification_preference"
android:persistent="false"
android:title="@string/screen_flash_notification_title"
settings:controller="com.android.settings.accessibility.ScreenFlashNotificationPreferenceController" />
<com.android.settings.accessibility.FlashNotificationsPreviewPreference
android:key="flash_notifications_preview"
android:title="@string/flash_notifications_preview"
settings:controller="com.android.settings.accessibility.FlashNotificationsPreviewPreferenceController" />
<com.android.settingslib.widget.FooterPreference
android:key="flash_notifications_footer"
android:selectable="false"
android:title="@string/flash_notifications_note"
settings:searchable="false" />
</PreferenceScreen>