diff options
Diffstat (limited to 'Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res')
44 files changed, 3275 insertions, 0 deletions
diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/anim/default_progress_indeterminate_material.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/anim/default_progress_indeterminate_material.xml new file mode 100644 index 0000000..d4d7aea --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/anim/default_progress_indeterminate_material.xml @@ -0,0 +1,47 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- +Copied from the Android SDK's internal resources +Source: //third_party/java/android/android_sdk_linux/platforms/stable/data/res/anim/progress_indeterminate_material.xml +--> +<set xmlns:android="http://schemas.android.com/apk/res/android"> + <objectAnimator + android:duration="1333" + android:interpolator="@interpolator/default_trim_start_interpolator" + android:propertyName="trimPathStart" + android:repeatCount="-1" + android:valueFrom="0" + android:valueTo="0.75" + android:valueType="floatType" /> + <objectAnimator + android:duration="1333" + android:interpolator="@interpolator/default_trim_end_interpolator" + android:propertyName="trimPathEnd" + android:repeatCount="-1" + android:valueFrom="0" + android:valueTo="0.75" + android:valueType="floatType" /> + <objectAnimator + android:duration="1333" + android:interpolator="@android:anim/linear_interpolator" + android:propertyName="trimPathOffset" + android:repeatCount="-1" + android:valueFrom="0" + android:valueTo="0.25" + android:valueType="floatType" /> +</set> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/anim/default_progress_indeterminate_rotation_material.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/anim/default_progress_indeterminate_rotation_material.xml new file mode 100644 index 0000000..d267c85 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/anim/default_progress_indeterminate_rotation_material.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- +Copied from the Android SDK's internal resources +Source: //third_party/java/android/android_sdk_linux/platforms/stable/data/res/anim/progress_indeterminate_rotation_material.xml +--> +<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" + android:duration="6665" + android:interpolator="@android:anim/linear_interpolator" + android:propertyName="rotation" + android:repeatCount="-1" + android:valueFrom="0" + android:valueTo="720" + android:valueType="floatType" /> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color-dpad/template_ripple_color_selector.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color-dpad/template_ripple_color_selector.xml new file mode 100644 index 0000000..f988a33 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color-dpad/template_ripple_color_selector.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- Due to b/120995067 in order to keep normal ripple effect in touch, the color selector must show +for all states. In rotary and touchpad, per go/aa-focus-design, don't draw ripple when not pressed. +Doing so also avoids "ghost" effect when rapidly moving focus across Views. --> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:color="?templateRippleSelectorColor" + android:state_pressed="true"/> + <item android:color="@android:color/transparent"/> +</selector> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color-wheel/template_ripple_color_selector.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color-wheel/template_ripple_color_selector.xml new file mode 100644 index 0000000..f988a33 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color-wheel/template_ripple_color_selector.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- Due to b/120995067 in order to keep normal ripple effect in touch, the color selector must show +for all states. In rotary and touchpad, per go/aa-focus-design, don't draw ripple when not pressed. +Doing so also avoids "ghost" effect when rapidly moving focus across Views. --> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:color="?templateRippleSelectorColor" + android:state_pressed="true"/> + <item android:color="@android:color/transparent"/> +</selector> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color/template_focus_ring_color_selector.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color/template_focus_ring_color_selector.xml new file mode 100644 index 0000000..ae18391 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color/template_focus_ring_color_selector.xml @@ -0,0 +1,9 @@ +<selector xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto"> + + <!-- Inactive state --> + <item app:templateFocusStateInactive="true" android:color="?templateFocusRingNoAccentColor"/> + + <!-- Default --> + <item android:color="?templateFocusRingColor"/> +</selector> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color/template_ripple_color_selector.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color/template_ripple_color_selector.xml new file mode 100644 index 0000000..6ad27df --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/color/template_ripple_color_selector.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- Due to b/120995067 in order to keep normal ripple effect in touch, the color selector must show +for all states. In rotary and touchpad, per go/aa-focus-design, don't draw ripple when not pressed. +Doing so also avoids "ghost" effect when rapidly moving focus across Views. --> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:color="?templateRippleSelectorColor"/> +</selector> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable-night/action_strip_fab_view_background.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable-night/action_strip_fab_view_background.xml new file mode 100644 index 0000000..2c5f9aa --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable-night/action_strip_fab_view_background.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + <!-- The background fill --> + <item> + <shape android:shape="rectangle"> + <solid android:color="?templateActionStripFabBackgroundColorDark"/> + <corners + android:radius="?templateButtonCornerRadius"/> + </shape> + </item> + + <!-- Masked ripple layer --> + <item android:drawable="@drawable/action_strip_button_ripple"/> +</layer-list> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_button_focus_ring.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_button_focus_ring.xml new file mode 100644 index 0000000..3769aab --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_button_focus_ring.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_hovered="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_hovered" + android:color="?templateFocusAccentColor"/> + <corners android:radius="?templateButtonCornerRadius"/> + </shape> + </item> + <item android:state_focused="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_focused" + android:color="?templateFocusAccentColor"/> + <corners android:radius="?templateButtonCornerRadius"/> + </shape> + </item> +</selector> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_button_ripple.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_button_ripple.xml new file mode 100644 index 0000000..ba659c5 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_button_ripple.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="@color/template_ripple_color_selector"> + <!-- Ripple layer masked so that it is only drawn within the bounds of the view --> + <item + android:id="@android:id/mask" + android:gravity="center"> + <shape android:shape="rectangle"> + <solid android:color="@color/template_ripple_color_selector"/> + <corners android:radius="?templateButtonCornerRadius"/> + </shape> + </item> +</ripple> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_button_view_background.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_button_view_background.xml new file mode 100644 index 0000000..01508d9 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_button_view_background.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + <!-- The background fill --> + <item> + <shape android:shape="rectangle"> + <solid android:color="?templateActionStripButtonBackgroundColor"/> + <corners + android:radius="?templateButtonCornerRadius"/> + <stroke + android:width="?templateActionButtonSecondaryBorderWidth" + android:color="?templateActionButtonSecondaryBorderColor" /> + </shape> + </item> + + <!-- Masked ripple layer --> + <item android:drawable="@drawable/action_strip_button_ripple"/> +</layer-list> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_button_view_focus_ring.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_button_view_focus_ring.xml new file mode 100644 index 0000000..e97b6ab --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_button_view_focus_ring.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_hovered="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_hovered" + android:color="?templateFocusAccentColor" /> + <corners android:radius="?templateButtonCornerRadius" /> + </shape> + </item> + <item android:state_focused="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_focused" + android:color="?templateFocusAccentColor" /> + <corners android:radius="?templateButtonCornerRadius" /> + </shape> + </item> +</selector> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_fab_view_background.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_fab_view_background.xml new file mode 100644 index 0000000..37591ff --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/action_strip_fab_view_background.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> + <!-- The background fill --> + <item> + <shape android:shape="rectangle"> + <solid android:color="?templateActionStripFabBackgroundColorLight"/> + <corners + android:radius="?templateButtonCornerRadius"/> + </shape> + </item> + + <!-- Masked ripple layer --> + <item android:drawable="@drawable/action_strip_button_ripple"/> +</layer-list> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/back_button_focus_ring.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/back_button_focus_ring.xml new file mode 100644 index 0000000..4f5868f --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/back_button_focus_ring.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:inset="@dimen/template_back_focus_ring_inset"> + <selector> + <item android:state_hovered="true" android:state_window_focused="true"> + <shape android:shape="oval"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_hovered" + android:color="?templateFocusAccentColor"/> + </shape> + </item> + <item android:state_focused="true" android:state_window_focused="true"> + <shape android:shape="oval"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_focused" + android:color="?templateFocusAccentColor"/> + </shape> + </item> + </selector> +</inset> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/default_progress_spinner.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/default_progress_spinner.xml new file mode 100644 index 0000000..4f0bf0f --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/default_progress_spinner.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" + android:drawable="@drawable/default_progress_spinner_medium_thin"> + <target + android:name="progressBar" + android:animation="@anim/default_progress_indeterminate_material" /> + <target + android:name="root" + android:animation="@anim/default_progress_indeterminate_rotation_material" /> +</animated-vector> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/default_progress_spinner_medium_thin.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/default_progress_spinner_medium_thin.xml new file mode 100644 index 0000000..c5efbed --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/default_progress_spinner_medium_thin.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="48dp" + android:height="48dp" + android:viewportHeight="48" + android:viewportWidth="48"> + <group + android:name="root" + android:translateX="24.0" + android:translateY="24.0"> + <path + android:name="progressBar" + android:fillColor="#00000000" + android:pathData="M0, 0 m 0, -19 a 19,19 0 1,1 0,38 a 19,19 0 1,1 0,-38" + android:strokeColor="?templateLoadingSpinnerColor" + android:strokeLineCap="square" + android:strokeLineJoin="miter" + android:strokeWidth="3" + android:trimPathEnd="0" + android:trimPathOffset="0" + android:trimPathStart="0" /> + </group> +</vector> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/no_content_view_focus_ring.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/no_content_view_focus_ring.xml new file mode 100644 index 0000000..d488ba4 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/no_content_view_focus_ring.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:inset="@dimen/template_no_content_view_focus_ring_padding"> + <selector> + <item android:state_hovered="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_hovered" + android:color="?templateFocusNoContentAccentColor"/> + <corners android:radius="?templateNoContentFocusCornerRadius"/> + </shape> + </item> + <item android:state_focused="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_focused" + android:color="?templateFocusNoContentAccentColor"/> + <corners android:radius="?templateNoContentFocusCornerRadius"/> + </shape> + </item> + </selector> +</inset> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/pin_sign_in_view_background.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/pin_sign_in_view_background.xml new file mode 100644 index 0000000..42be196 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/pin_sign_in_view_background.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <solid android:color="?templateSignInPinBackgroundColor" /> + <corners android:radius="?templateSignInPinCornerRadius" /> +</shape>
\ No newline at end of file diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_bottom.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_bottom.xml new file mode 100644 index 0000000..a24754e --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_bottom.xml @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="?templateRippleColor"> + + <!-- Background fill --> + <item> + <selector> + <item android:state_selected="true"> + <shape android:shape="rectangle"> + <solid android:color="?templateRowSelectedBackgroundColor" /> + <corners + android:bottomRightRadius="@dimen/template_row_corner_radius" + android:bottomLeftRadius="@dimen/template_row_corner_radius"/> + </shape> + </item> + <item android:state_selected="false"> + <shape android:shape="rectangle"> + <solid android:color="?templateRowBackgroundColor" /> + <corners + android:bottomRightRadius="@dimen/template_row_corner_radius" + android:bottomLeftRadius="@dimen/template_row_corner_radius"/> + </shape> + </item> + </selector> + </item> + + <!-- Ripple layer masked so that it is only drawn within the bounds of the view --> + <item android:id="@android:id/mask" + android:gravity="center"> + <shape android:shape="rectangle"> + <solid android:color="@color/template_ripple_color_selector"/> + <corners + android:bottomRightRadius="@dimen/template_row_corner_radius" + android:bottomLeftRadius="@dimen/template_row_corner_radius"/> + </shape> + </item> + + <!-- Child layer for drawing foreground ring in hovered and focused states. --> + <item> + <selector> + <item android:state_hovered="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_hovered" + android:color="?templateFocusAccentColor"/> + <corners + android:bottomLeftRadius="@dimen/template_row_corner_radius" + android:bottomRightRadius="@dimen/template_row_corner_radius"/> + </shape> + </item> + <item android:state_focused="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_focused" + android:color="?templateFocusAccentColor"/> + <corners + android:bottomLeftRadius="@dimen/template_row_corner_radius" + android:bottomRightRadius="@dimen/template_row_corner_radius"/> + </shape> + </item> + </selector> + </item> +</ripple> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_middle.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_middle.xml new file mode 100644 index 0000000..e52e937 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_middle.xml @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="?templateRippleColor"> + + <!-- Background fill --> + <item> + <selector> + <item android:state_selected="true"> + <shape android:shape="rectangle"> + <solid android:color="?templateRowSelectedBackgroundColor" /> + </shape> + </item> + <item android:state_selected="false"> + <shape android:shape="rectangle"> + <solid android:color="?templateRowBackgroundColor" /> + </shape> + </item> + </selector> + </item> + + <!-- Ripple layer masked so that it is only drawn within the bounds of the view --> + <item android:id="@android:id/mask" + android:gravity="center"> + <shape android:shape="rectangle"> + <solid android:color="@color/template_ripple_color_selector"/> + </shape> + </item> + + <!-- Child layer for drawing foreground ring in hovered and focused states. --> + <item> + <selector> + <item android:state_hovered="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_hovered" + android:color="?templateFocusAccentColor"/> + </shape> + </item> + <item android:state_focused="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_focused" + android:color="?templateFocusAccentColor"/> + </shape> + </item> + </selector> + </item> +</ripple> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_top.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_top.xml new file mode 100644 index 0000000..50b092b --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_top.xml @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="?templateRippleColor"> + + <!-- Background fill --> + <item> + <selector> + <item android:state_selected="true"> + <shape android:shape="rectangle"> + <solid android:color="?templateRowSelectedBackgroundColor" /> + <corners + android:topRightRadius="@dimen/template_row_corner_radius" + android:topLeftRadius="@dimen/template_row_corner_radius"/> + </shape> + </item> + <item android:state_selected="false"> + <shape android:shape="rectangle"> + <solid android:color="?templateRowBackgroundColor" /> + <corners + android:topRightRadius="@dimen/template_row_corner_radius" + android:topLeftRadius="@dimen/template_row_corner_radius"/> + </shape> + </item> + </selector> + </item> + + <!-- Ripple layer masked so that it is only drawn within the bounds of the view --> + <item android:id="@android:id/mask" + android:gravity="center"> + <shape android:shape="rectangle"> + <solid android:color="@color/template_ripple_color_selector"/> + <corners + android:topRightRadius="@dimen/template_row_corner_radius" + android:topLeftRadius="@dimen/template_row_corner_radius"/> + </shape> + </item> + + <!-- Child layer for drawing foreground ring in hovered and focused states. --> + <item> + <selector> + <item android:state_hovered="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_hovered" + android:color="?templateFocusAccentColor"/> + <corners + android:topLeftRadius="@dimen/template_row_corner_radius" + android:topRightRadius="@dimen/template_row_corner_radius"/> + </shape> + </item> + <item android:state_focused="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_focused" + android:color="?templateFocusAccentColor"/> + <corners + android:topLeftRadius="@@dimen/template_row_corner_radius" + android:topRightRadius="@dimen/template_row_corner_radius"/> + </shape> + </item> + </selector> + </item> +</ripple> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_top_bottom.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_top_bottom.xml new file mode 100644 index 0000000..d7e2b4a --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_sectional_top_bottom.xml @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="?templateRippleColor"> + + <!-- Background fill --> + <item> + <selector> + <item android:state_selected="true"> + <shape android:shape="rectangle"> + <solid android:color="?templateRowSelectedBackgroundColor"/> + <corners + android:radius="@dimen/template_row_corner_radius"/> + </shape> + </item> + <item android:state_selected="false"> + <shape android:shape="rectangle"> + <solid android:color="?templateRowBackgroundColor" /> + <corners + android:radius="@dimen/template_row_corner_radius"/> + </shape> + </item> + </selector> + </item> + + <!-- Ripple layer masked so that it is only drawn within the bounds of the view --> + <item android:id="@android:id/mask" + android:gravity="center"> + <shape android:shape="rectangle"> + <solid android:color="@color/template_ripple_color_selector"/> + <corners + android:radius="@dimen/template_row_corner_radius"/> + </shape> + </item> + + <!-- Child layer for drawing foreground ring in hovered and focused states. --> + <item> + <selector> + <item android:state_hovered="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_hovered" + android:color="?templateFocusAccentColor"/> + <corners + android:radius="@dimen/template_row_corner_radius"/> + </shape> + </item> + <item android:state_focused="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_focused" + android:color="?templateFocusAccentColor"/> + <corners + android:radius="@dimen/template_row_corner_radius"/> + </shape> + </item> + </selector> + </item> +</ripple> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_simple.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_simple.xml new file mode 100644 index 0000000..58dad27 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_background_simple.xml @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="?templateRippleColor"> + + <!-- Background fill --> + <item> + <selector> + <item android:state_selected="true"> + <shape + android:shape="rectangle"> + <solid android:color="?templateRowSelectedBackgroundColor" /> + </shape> + </item> + <item android:state_selected="false"> + <shape android:shape="rectangle"> + <solid android:color="@android:color/transparent" /> + </shape> + </item> + </selector> + </item> + + <!-- Ripple layer masked so that it is only drawn within the bounds of the view --> + <item android:id="@android:id/mask" + android:gravity="center"> + <shape android:shape="rectangle"> + <solid android:color="@color/template_ripple_color_selector"/> + </shape> + </item> + + <!-- Child layer for drawing foreground ring in hovered and focused states. --> + <item> + <selector> + <item android:state_hovered="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_hovered" + android:color="?templateFocusAccentColor"/> + </shape> + </item> + <item android:state_focused="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_focused" + android:color="?templateFocusAccentColor"/> + </shape> + </item> + </selector> + </item> +</ripple> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_image_placeholder.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_image_placeholder.xml new file mode 100644 index 0000000..5142deb --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/row_image_placeholder.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<shape + xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="oval"> + <solid android:color="?templateRowImagePlaceholderColor" /> +</shape> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/search_bar_icon.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/search_bar_icon.xml new file mode 100644 index 0000000..ade70ba --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/search_bar_icon.xml @@ -0,0 +1,5 @@ +<vector android:height="36dp" android:tint="#FFFFFF" + android:viewportHeight="24.0" android:viewportWidth="24.0" + android:width="36dp" xmlns:android="http://schemas.android.com/apk/res/android"> + <path android:fillColor="@color/template_edit_text_color_selector" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/> +</vector> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/template_grid_item_background.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/template_grid_item_background.xml new file mode 100644 index 0000000..1f80d18 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/template_grid_item_background.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="?templateRippleColor"> + + <!-- Ripple layer masked so that it is only drawn within the bounds of the view --> + <item + android:id="@android:id/mask" + android:gravity="center"> + <shape android:shape="rectangle"> + <solid android:color="@color/template_ripple_color_selector"/> + <corners + android:radius="@dimen/template_grid_item_corner_radius"/> + </shape> + </item> + + <!-- Child layer for drawing foreground ring in hovered and focused states. --> + <item> + <selector> + <item android:state_hovered="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_hovered" + android:color="?templateFocusAccentColor"/> + <corners + android:radius="@dimen/template_grid_item_corner_radius"/> + </shape> + </item> + <item android:state_focused="true" android:state_window_focused="true"> + <shape android:shape="rectangle"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_focused" + android:color="?templateFocusAccentColor"/> + <corners + android:radius="@dimen/template_grid_item_corner_radius"/> + </shape> + </item> + </selector> + </item> + +</ripple> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/template_header_button_background.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/template_header_button_background.xml new file mode 100644 index 0000000..00a5abb --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/template_header_button_background.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:inset="@dimen/template_header_button_focus_inset" + android:drawable="@drawable/template_oval_focus_background"/> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/template_oval_focus_background.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/template_oval_focus_background.xml new file mode 100644 index 0000000..f8a89ae --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/drawable/template_oval_focus_background.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<ripple xmlns:android="http://schemas.android.com/apk/res/android" + android:color="?templateRippleColor"> + + <!-- Ripple layer masked inset the thickness of the ring so the ripple layer + is only drawn within the bounds of the ring --> + <item + android:id="@android:id/mask" + android:gravity="center"> + <inset android:inset="@dimen/template_focus_oval_ripple_inset"> + <shape android:shape="oval"> + <solid android:color="@color/template_ripple_color_selector"/> + </shape> + </inset> + </item> + + <!-- Child layer for drawing foreground ring in hovered and focused states. --> + <item> + <selector> + <item android:state_hovered="true" android:state_window_focused="true"> + <shape android:shape="oval"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_hovered" + android:color="?templateFocusAccentColor"/> + </shape> + </item> + <item android:state_focused="true" android:state_window_focused="true"> + <shape android:shape="oval"> + <stroke + android:width="@dimen/template_focus_ring_stroke_width_focused" + android:color="?templateFocusAccentColor"/> + </shape> + </item> + </selector> + </item> +</ripple> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/interpolator/default_trim_end_interpolator.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/interpolator/default_trim_end_interpolator.xml new file mode 100644 index 0000000..de39d96 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/interpolator/default_trim_end_interpolator.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android" + android:pathData="C0.2,0 0.1,1 0.5, 1 L 1,1" /> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/interpolator/default_trim_start_interpolator.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/interpolator/default_trim_start_interpolator.xml new file mode 100644 index 0000000..34eba93 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/interpolator/default_trim_start_interpolator.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<pathInterpolator xmlns:android="http://schemas.android.com/apk/res/android" + android:pathData="L0.5,0 C 0.7,0 0.6,1 1, 1" /> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/layout/template_view.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/layout/template_view.xml new file mode 100644 index 0000000..67bc95b --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/layout/template_view.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!--The template view is marked as focusable in case nothing in the template presenter is focusable. +It will only take focus if no view under its hierarchy is focusable. +This is needed for the touchpad mode, which requires at least one focusable view in the screen. --> +<com.android.car.libraries.templates.host.view.TemplateView + xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/template_view" + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <com.android.car.ui.FocusParkingView + android:layout_width="wrap_content" + android:layout_height="wrap_content"/> + + <com.android.car.libraries.apphost.view.SurfaceViewContainer + android:id="@+id/surface_container" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:visibility="gone"/> + + <FrameLayout + android:id="@+id/template_container" + android:layout_width="match_parent" + android:layout_height="match_parent"/> + + <TextView + android:id="@+id/debug_overlay" + android:layout_gravity="bottom|end" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="?templateDebugMessageBackgroundColor" + android:layout_margin="10dp" + android:padding="5dp" + android:gravity="end" + style="?templateMessageDebugTextStyle" + android:visibility="gone"/> + +</com.android.car.libraries.templates.host.view.TemplateView> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-night/colors.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-night/colors.xml new file mode 100644 index 0000000..799ad34 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-night/colors.xml @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- Color definitions for the UI in the templates. + + !!! IMPORTANT !!! + Do not refer to these colors directly from views. Colors must be referred + to through theme attributes (in attrs.xml). + + !!! IMPORTANT !!! + Do not define colors with a RGB value in here (e.g. #FF9B4DF8). These + colors should all refer to colors defined in @color/default. + + If you need a color that's not there already, make a change to add it and + get that approved. --> +<resources> + <!-- Status bar. --> + <color name="template_status_bar_end_color">@color/default_black</color> + + <!-- Night mode color scheme for map markers. --> + <color name="template_marker_default_background_color">@color/default_white</color> + <color name="template_marker_map_default_content_color">@color/default_black</color> + <color name="template_marker_list_default_content_color">@color/default_white</color> + <color name="template_marker_custom_background_content_color">@color/default_black</color> + <color name="template_marker_default_border_color">@color/default_black</color> + <color name="template_marker_custom_border_color">@color/default_black</color> + <color name="template_anchor_default_background_color">@color/default_white</color> + <color name="template_anchor_border_color">@color/default_black</color> + <color name="template_anchor_dot_color">@color/default_gradient_black_64</color> +</resources> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w600dp/integers.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w600dp/integers.xml new file mode 100644 index 0000000..65eecaa --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w600dp/integers.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- TODO(b/171342295): Update the dp threshold for deciding number of grid items.--> +<resources> + <integer name="template_grid_items_per_row">3</integer> +</resources> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w930dp-h520dp/dimens.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w930dp-h520dp/dimens.xml new file mode 100644 index 0000000..99cfd75 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w930dp-h520dp/dimens.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <!-- Markers. --> + <dimen name="template_marker_icon_size">48dp</dimen> + <dimen name="template_marker_image_size">54dp</dimen> +</resources>
\ No newline at end of file diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w930dp-h520dp/styles.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w930dp-h520dp/styles.xml new file mode 100644 index 0000000..6fef3f0 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w930dp-h520dp/styles.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<resources> + <!-- The appearance of the markers in the map view. --> + <style name="TextAppearance.Marker" parent="TextAppearance.Template.Body1"> + <item name="android:fontFamily">sans-serif-medium</item> + </style> +</resources>
\ No newline at end of file diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w930dp/integers.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w930dp/integers.xml new file mode 100644 index 0000000..a59a90d --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values-w930dp/integers.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- TODO(b/171342295): Update the dp threshold for deciding number of grid items.--> +<resources> + <integer name="template_grid_items_per_row">4</integer> +</resources> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/attrs.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/attrs.xml new file mode 100644 index 0000000..958b65b --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/attrs.xml @@ -0,0 +1,624 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<resources> + <!-- The theme attributes for the template UI. + Template layouts and their widgets should not hardcode any styles for the most part but instead + use references to these theme attributes, thus making the look and feel of the template UI + completely defined by this theme. --> + <declare-styleable name="TemplateTheme"> + <!-- Map markers. --> + <!-- The appearance of markers in the map view. --> + <attr name="templateMapMarkerAppearance" format="reference"/> + + <!-- The appearance of markers in the list view. --> + <attr name="templateListMarkerAppearance" format="reference"/> + + <!-- Content containers --> + <!-- Plain content container attributes. A plain container displays the + content on a flat surface with no rounded corners, shadows, etc. --> + <attr name="templatePlainContentContainerStyle" format="reference"/> + <attr name="templatePlainContentContainerWidth" format="dimension"/> + <attr name="templatePlainContentLayoutGravity" format="integer"/> + <attr name="templatePlainContentGravity" format="integer"/> + <attr name="templatePlainContentHorizontalPadding" format="dimension"/> + <attr name="templatePlainContentBackgroundColor" format="color"/> + + <!-- Card content container attributes. --> + <attr name="templateCardContentContainerStyle" format="reference"/> + <attr name="templateCardRoutingContentContainerStyle" format="reference"/> + <attr name="templateCardContentContainerDefaultWidth" format="dimension"/> + <attr name="templateCardContentContainerStartMargin" format="dimension"/> + <attr name="templateCardContentContainerTopMargin" format="dimension"/> + <attr name="templateCardContentContainerBottomMargin" format="dimension"/> + <attr name="templateCardContentContainerMinHeight" format="dimension"/> + + <!-- Headers --> + <!-- The height of the header, which contains a title and other elements + such as the app icon or a back button. --> + <attr name="templateHeaderHeight" format="dimension"/> + + <!-- The text style to be used in the header. --> + <attr name="templateHeaderTextStyle" format="reference"/> + + <!-- The size of the icon of a button in the header (aspect ratio 1:1). --> + <attr name="templateHeaderButtonIconSize" format="dimension"/> + + <!-- The color of the tint for header buttons (e.g. the back button). --> + <attr name="templateHeaderButtonIconTint" format="color"/> + + <!-- The size of the button container in the header (aspect ratio 1:1). --> + <attr name="templateHeaderButtonContainerSize" format="dimension"/> + + <!-- The start margin of the button container in the header. --> + <attr name="templateHeaderButtonStartSpacing" format="dimension"/> + + <!-- Height of the buttons. Both action buttons and FAB. --> + <attr name="templateButtonHeight" format="dimension"/> + + <!-- The corner radius used for non-button components. --> + <attr name="templateCornerRadius" format="dimension"/> + + <!-- The corner radius use for the buttons. --> + <attr name="templateButtonCornerRadius" format="dimension"/> + + <!-- The spacing around the header title. --> + <attr name="templateHeaderTextVerticalSpacing" format="dimension"/> + <attr name="templateHeaderTextStartSpacing" format="dimension"/> + <attr name="templateHeaderTextEndSpacing" format="dimension"/> + <attr name="templateHeaderTextNoIconStartSpacing" format="dimension"/> + + <!-- The background of a header button. Used to implement focus selection + state, ripple effects, etc. --> + <attr name="templateHeaderButtonBackground" format="reference"/> + + <!-- The color of the header background for templates where it is used. --> + <attr name="templateHeaderBackgroundColor" format="reference"/> + + <!-- Theme attributes for rows in lists. --> + <!-- The background color of a row container view. + This color is used only for color contrast checking, and not for actual coloring of the grid item background. --> + <attr name="templateRowBackgroundColor" format="color"/> + + <!-- The background color of a row container view in the selected state.--> + <attr name="templateRowSelectedBackgroundColor" format="color"/> + + <!-- The color of the placeholder while an image is loading in a row.--> + <attr name="templateRowImagePlaceholderColor" format="color"/> + + <!-- Sign in Template --> + <attr name="templateSignInContainerStyle" format="reference"/> + <attr name="templateSignInMethodViewMaxWidth" format="dimension"/> + <attr name="templateSignInInstructionTextStyle" format="reference"/> + <attr name="templateSignInProviderSignInButtonStyle" format="reference"/> + <attr name="templateSignInPinTextStyle" format="reference"/> + <attr name="templateSignInPinBackgroundColor" format="color"/> + <attr name="templateSignInPinCornerRadius" format="dimension"/> + <attr name="templateSignInPinBackground" format="reference"/> + <attr name="templateSignInPinPadding" format="dimension"/> + <attr name="templateSignInQRCodeImageWidth" format="dimension"/> + <attr name="templateSignInAdditionalTextStyle" format="reference"/> + <attr name="templateSignInErrorMessageStyle" format="reference"/> + <attr name="templateSignInInputViewStyle" format="reference"/> + + <!-- Hyperlink Text --> + <attr name="templateHyperlinkTextColor" format="color"/> + + <!-- The default tint for an icon in a row. --> + <attr name="templateRowDefaultIconTint" format="color"/> + + <!-- The padding to the left and right of a row's contents. --> + <attr name="templateRowHorizontalPadding" format="dimension"/> + + <!-- The padding to the left and right of a half row's contents. --> + <attr name="templateRowHorizontalHalfPadding" format="dimension"/> + + <!-- The padding to the left and right of the text inside of a row. --> + <attr name="templateRowTextHorizontalPadding" format="dimension"/> + + <!-- The padding to the left and right of the text inside of a half row. --> + <attr name="templateRowTextHorizontalHalfPadding" format="dimension"/> + + <!-- The padding to the bottom of a half list's contents. --> + <attr name="templateHalfListBottomPadding" format="dimension"/> + + <!-- The vertical padding inside of a half row. --> + <attr name="templateHalfListPaddingVertical" format="dimension"/> + + <!-- The style of the title of a row. --> + <attr name="templateRowTitleStyle" format="reference"/> + + <!-- The style of the secondary text of a row. --> + <attr name="templateRowSecondaryTextStyle" format="reference"/> + + <!-- The style of the section header. --> + <attr name="templateRowSectionHeaderStyle" format="reference"/> + + <!-- The style of the text that indicates a list is empty. --> + <attr name="templateRowListEmptyTextStyle" format="reference"/> + + <!-- The image dimensions (for PaneTemplate) in the row list template. --> + <attr name="templateRowListToLargeImageRatio" format="dimension"/> + <attr name="templateRowListLargeImageContainerMaxWidth" format="dimension"/> + <attr name="templateRowListLargeImageAspectRatio" format="dimension"/> + + <!-- Padding between the (PaneTemplate) image and row list --> + <attr name="templateRowListAndImagePadding" format="dimension"/> + + <!-- The background for the top, middle, and bottom rows, and for a single + row that is both top and bottom, for lists that show rows with + a rounded corner background. These backgrounds can be used for + providing rounded corners to the list, or they can all simply be set + to the same background, if such an effect is not desired. --> + <attr name="templateRowBackgroundSectionalTop" format="reference"/> + <attr name="templateRowBackgroundSectionalMiddle" format="reference"/> + <attr name="templateRowBackgroundSectionalBottom" format="reference"/> + <attr name="templateRowBackgroundSectionalTopBottom" format="reference"/> + + <!-- The margin at the bottom of a section in a list. --> + <attr name="templateRowBackgroundSectionalBottomMargin" format="dimension"/> + + <!-- The placeholder for asynchronously loaded row images. --> + <attr name="templateRowImagePlaceholder" format="reference"/> + + <!-- The background for rows with square corners. --> + <attr name="templateRowBackgroundSimple" format="reference"/> + + <!-- The minimum margin between the rows's title and the edge + of the row. --> + <attr name="templateRowMinHeight" format="dimension"/> + + <!-- Attributes of the icons in a row of a list. --> + <attr name="templateRowIconStyle" format="reference"/> + <attr name="templateRowIconSize" format="dimension"/> + <attr name="templateRowRadioButtonSize" format="dimension"/> + <attr name="templateRowImageSizeSmall" format="dimension"/> + <attr name="templateRowImageSizeLarge" format="dimension"/> + + <!-- Attributes for the marker label that is displayed in the list rows + when the row has a location attached to it. --> + <!-- The minimum width of the marker label. The actual width can expand based on the content string.--> + <attr name="templateRowMarkerMinSize" format="dimension"/> + + <!-- The margin from the edge of the row to the marker label. --> + <attr name="templateRowMarkerLabelMargin" format="dimension"/> + + <!-- The height of a selection element's container in a row (e.g. a toggle + or radio button. --> + <attr name="templateRowSelectionContainerHeight" format="dimension"/> + + <!-- The half row minimum height. --> + <attr name="templateHalfRowMinHeight" format="dimension"/> + + <!-- The paddings used around the half row. --> + <attr name="templateHalfRowHorizontalPadding" format="dimension"/> + <attr name="templateHalfRowVerticalPadding" format="dimension"/> + + <!-- The paddings used around the full row. --> + <attr name="templateFullRowStartPadding" format="dimension"/> + <attr name="templateFullRowEndPadding" format="dimension"/> + + <!-- The spacing used between the image and text of the half row. --> + <attr name="templateHalfRowImageToTextSpacing" format="dimension"/> + + <!-- The spacing used between the primary and secondary text of the half row. --> + <attr name="templateHalfRowTextToTextSpacing" format="dimension"/> + + <!-- Size of the images used within the half list row. --> + <attr name="templateHalfRowImageSize" format="dimension"/> + + <!-- The full list row's chevron icon on the right side. --> + <attr name="templateFullRowChevronIcon" format="reference"/> + + <!-- The full list row's chevron height. --> + <attr name="templateFullRowChevronHeight" format="dimension"/> + + <!-- The full list row's chevron width. --> + <attr name="templateFullRowChevronWidth" format="dimension"/> + + <!-- The half list row's chevron icon on the right side. --> + <attr name="templateHalfRowChevronIcon" format="reference"/> + + <!-- The background for the grid item and its containers. --> + <attr name="templateGridItemBackground" format="reference"/> + + <!-- The background color for the grid item. + This color is used only for color contrast checking, and not for actual coloring of the grid item background. --> + <attr name="templateGridItemBackgroundColor" format="reference"/> + + <!-- The style of the title of a grid item. --> + <attr name="templateGridItemTitleStyle" format="reference"/> + + <!-- The style of the secondary text line below the title of a grid item. --> + <attr name="templateGridItemTextStyle" format="reference"/> + + <!-- The tint variations for an icon in a grid item. --> + <attr name="templateGridItemDefaultIconTint" format="color"/> + + <!-- The maximum width of a grid item text container. --> + <attr name="templateGridItemTextContainerMaxWidth" format="dimension"/> + + <!-- The bottom padding of the text inside of a grid item. --> + <attr name="templateGridItemTextBottomPadding" format="dimension"/> + + <!-- The bottom padding of the image inside of a grid item. --> + <attr name="templateGridItemImageBottomPadding" format="dimension"/> + + <!-- The padding for the grid items. --> + <attr name="templateGridItemHorizontalSpacing" format="dimension"/> + <attr name="templateGridItemVerticalSpacing" format="dimension"/> + + <!-- The number of grid items in a grid row. --> + <attr name="templateGridItemsPerRow" format="integer"/> + + <!-- Theme attributes for the grid. --> + <attr name="templateGridStyle" format="reference"/> + <attr name="templateGridRecyclerViewPaddingRight" format="reference"/> + + <!-- The style of the text that indicates a grid is empty. --> + <attr name="templateGridEmptyTextStyle" format="reference"/> + + <!-- Action buttons and FABs. --> + <!-- The margin between action buttons. --> + <attr name="templateActionButtonMargin" format="dimension"/> + + <!-- The style of an action displayed as a button. --> + <attr name="templateActionButtonStyle" format="reference"/> + + <!-- The style of the text inside of an action button. --> + <attr name="templateActionButtonTextStyle" format="reference"/> + + <!-- The style of the text inside of a primary action button. --> + <attr name="templateActionButtonPrimaryTextStyle" format="reference"/> + + <!-- The default background color of an action displayed as a button. --> + <attr name="templateActionButtonDefaultBackgroundColor" format="color" /> + + <!-- The background color of a primary action displayed as a button. --> + <attr name="templateActionButtonPrimaryBackgroundColor" format="color" /> + + <!-- The default foreground drawable of an action displayed as a button. --> + <attr name="templateActionButtonForeground" format="reference" /> + + <!-- The default background drawable of an action displayed as a button. --> + <attr name="templateActionButtonBackground" format="reference" /> + + <!-- The height of an action button. --> + <attr name="templateActionButtonHeight" format="dimension"/> + + <!-- The minimum touch area size for action buttons. --> + <attr name="templateActionButtonTouchTargetSize" format="dimension"/> + + <!-- Whether buttons in the action button list (e.g. used in PaneTemplate) stretch to fill the horizontal space. --> + <attr name="templateActionButtonListButtonStretchHorizontal" format="boolean"/> + + <!-- Whether OEM colors should override 3P provided colors. --> + <attr name="templateActionButtonUseOemColors" format="boolean"/> + + <!-- The alignment of contents in buttons in the action button list (e.g. used in PaneTemplate). + The possible values are: + <ul> + <li>0: center (default) + <li>1: left + <li>2: right + </ul> --> + <attr name="templateActionButtonPrimaryHorizontalOrder" format="integer"/> + + <!-- The gravity of action button list (e.g. used in MessageTemplate, SigninTemplate and LongMessageTemplate). + The possible values are: + <ul> + <li>0: center (default) + <li>1: bottom + </ul> --> + <attr name="templateActionButtonListGravity" format="integer"/> + <!-- The alignment of contents in buttons in the action button list (e.g. used in PaneTemplate). + The possible values are: + <ul> + <li>0: center (default) + <li>1: left + <li>2: right + </ul> --> + <attr name="templateActionButtonListButtonContentAlignment" format="integer"/> + + <!-- The maximum width of a button in the action button list, e.g. used in PaneTemplate. + This value will be used only when `templateActionButtonListFillHorizontalSpace` is set to `true`. --> + <attr name="templateActionButtonListButtonMaxWidth" format="dimension"/> + + <!-- The spacing between the content and the aligned side in a button in the action button list, e.g. used in PaneTemplate. + This value will be used only when `templateActionButtonListButtonContentAlignment` is set to 1 (left) or 2 (right). + When this value is used, `templateActionIconTextStartSpacing`, `templateActionIconTextEndSpacing`, and `templateActionTextHorizontalSpacing` will be ignored. --> + <attr name="templateActionButtonSideAlignmentSpacing" format="dimension"/> + + <!-- The vertical spacing of the action button list row, e.g. used in PaneTemplate. --> + <attr name="templateActionButtonListRowVerticalSpacing" format="dimension"/> + + <!-- The size of an icon inside of an action button or FAB. --> + <attr name="templateActionIconSize" format="dimension"/> + <attr name="templateActionIconSizeMin" format="dimension"/> + <attr name="templateActionIconSizeMax" format="dimension"/> + + <!-- The spacing between the start side of a FAB or button and the action icon. + The spacing is applied only when the button has both icon and text. --> + <attr name="templateActionIconTextStartSpacing" format="dimension"/> + + <!-- The spacing between the end side of a FAB or button and the action icon. + The spacing is applied only when the button has both icon and text. --> + <attr name="templateActionIconTextEndSpacing" format="dimension"/> + + <!-- The spacing between the icon and the text in a FAB or button. --> + <attr name="templateActionIconToTextSpacing" format="dimension"/> + + <!-- The spacing between the start and end sides of a FAB or button and the action text. + The spacing is applied only when the button only has the text. --> + <attr name="templateActionTextHorizontalSpacing" format="dimension"/> + + <!-- The default tint of an icon inside of an action button or FAB. --> + <attr name="templateActionDefaultIconTint" format="color"/> + + <!-- The min width of an action button or FAB with text. --> + <attr name="templateActionWithTextMinWidth" format="integer"/> + + <!-- The min width of an action button or FAB with an icon only. --> + <attr name="templateActionWithoutTextMinWidth" format="dimension"/> + + <!-- The max ems of the text inside of a button when there is no icon. --> + <attr name="templateActionButtonTextMaxEmsNoIcon" format="integer"/> + + <!-- The max ems of the text inside of a button when there is an icon. --> + <attr name="templateActionButtonTextMaxEmsWithIcon" format="integer"/> + + <!-- The max ems of the text inside of a FAB when there is no icon. --> + <attr name="templateFabTextMaxEmsNoIcon" format="integer"/> + + <!-- The max ems of the text inside of a FAB when there is an icon. --> + <attr name="templateFabTextMaxEmsWithIcon" format="integer"/> + + <!-- The width of the border of a secondary button. --> + <attr name="templateActionButtonSecondaryBorderWidth" format="dimension"/> + + <!-- The color of the border of a secondary button. --> + <attr name="templateActionButtonSecondaryBorderColor" format="color"/> + + <!-- The margin between buttons in the action strip. --> + <attr name="templateActionStripButtonMargin" format="dimension"/> + + <!-- The padding around the action strip. --> + <attr name="templateActionStripPadding" format="dimension"/> + + <!-- The color of buttons in the action strip in full-screen templates. --> + <attr name="templateActionStripButtonBackgroundColor" format="color"/> + + <!-- The light color of buttons in the action strip as FABs. --> + <attr name="templateActionStripFabBackgroundColorLight" format="color"/> + + <!-- The dark color of buttons in the action strip as FABs. --> + <attr name="templateActionStripFabBackgroundColorDark" format="color"/> + + <!-- The appearance of action strip buttons as FABs. --> + <attr name="templateActionStripFabAppearance" format="reference"/> + + <!-- The appearance of action strip buttons in full-screen templates. --> + <attr name="templateActionStripFullTemplateFabAppearance" format="reference"/> + + <!-- Ripple attributes, common for all elements using ripples. --> + <attr name="templateRippleColor" format="color"/> + <attr name="templateRippleSelectorColor" format="color"/> + + <!-- Toggles and radio buttons. --> + <attr name="templateToggleWidth" format="dimension"/> + <attr name="templateToggleHeight" format="dimension"/> + <attr name="templateToggleInactiveTrackColor" format="color"/> + <attr name="templateToggleInactiveThumbColor" format="color"/> + <attr name="templateToggleActiveTrackColor" format="color"/> + <attr name="templateToggleActiveThumbColor" format="color"/> + <attr name="templateRadioButtonSize" format="dimension"/> + + <!-- Clickable spans. --> + <attr name="templateClickableSpanHighlightForegroundColor" format="color"/> + <attr name="templateClickableSpanHighlightBackgroundColor" format="color"/> + + <!-- Focus. --> + <attr name="templateFocusAccentColor" format="color"/> + <attr name="templateFocusNoContentAccentColor" format="color"/> + <attr name="templateFocusStateInactive" format="boolean"/> + <attr name="templateFocusRingColor" format="color"/> + <attr name="templateFocusRingNoAccentColor" format="color"/> + + <!-- Editable text. --> + <attr name="templateEditTextStyle" format="reference"/> + <attr name="templateEditTextActiveColor" format="color"/> + <attr name="templateEditTextEnabledColor" format="color"/> + <attr name="templateEditTextErrorColor" format="color"/> + <attr name="templateEditTextDisabledColor" format="color"/> + <attr name="templateEditTextErrorVerticalSpacing" format="dimension"/> + <attr name="templateEditTextErrorHorizontalSpacing" format="dimension"/> + + <!-- Search bar. --> + <!-- Maximum width of the search bar. --> + <attr name="templateSearchBarMaxWidth" format="dimension"/> + + <!-- The search icon on the left side of the search bar. --> + <attr name="templateSearchBarIcon" format="reference"/> + + <!-- Images. --> + <!-- The size of a large image. --> + <attr name="templateLargeImageSize" format="dimension"/> + + <!-- The minimum size of a large image. --> + <attr name="templateLargeImageSizeMin" format="dimension"/> + + <!-- The maximum size of a large image. --> + <attr name="templateLargeImageSizeMax" format="dimension"/> + + <!-- Message template. --> + <!-- The default tint of an icon inside of the message template. --> + <attr name="templateMessageDefaultIconTint" format="color"/> + + <!-- The style of the text in the title of the message template. --> + <attr name="templateMessageTitleTextStyle" format="reference"/> + + <!-- The spacing used on top of the title of the message template. --> + <attr name="templateMessageTitleTopSpacing" format="dimension"/> + + <!-- The spacing used on top of the buttons of the message template. --> + <attr name="templateMessageButtonsTopSpacing" format="dimension"/> + + <!-- The spacing used on top and bottom of the sticky buttons. --> + <attr name="templateStickyButtonsVerticalSpacing" format="dimension"/> + + <!-- The style of the text in the long message template. --> + <attr name="templateMessageLongTextStyle" format="reference"/> + + <!-- The color of the text and background of the debug message showing the + callstack in error screens. --> + <attr name="templateMessageDebugTextStyle" format="reference"/> + <attr name="templateDebugMessageBackgroundColor" format="color"/> + + <!-- Navigation routing template. --> + <!-- The maximum heights and width of an image in a text span. + body2 and body3 variants should be used along text views configured + with those respective font sizes. --> + <attr name="templateRoutingImageSpanBody2MaxHeight" format="dimension"/> + <attr name="templateRoutingImageSpanBody3MaxHeight" format="dimension"/> + + <!-- The horizontal and vertical padding values in the routing card. --> + <attr name="templateNavCardPaddingHorizontal" format="dimension"/> + <attr name="templateNavCardPaddingVertical" format="dimension"/> + + <!-- The small vertical padding value in the routing card and the travel estimate card. --> + <attr name="templateNavCardSmallPaddingVertical" format="dimension"/> + + <!-- The horizontal padding value between the icon and the distance text in the routing card. --> + <attr name="templateRoutingStepsCardIconToDistanceSpacingHorizontal" format="dimension"/> + + <!-- Ratio of the image span (width/height) based on the max height value --> + <attr name="templateRoutingImageSpanRatio" format="float"/> + + <!-- The dimensions of the large image in the routing card (ratio 1:1). --> + <attr name="templateNavCardLargeImageSize" format="dimension"/> + <attr name="templateNavCardLargeImageSizeMin" format="dimension"/> + <attr name="templateNavCardLargeImageSizeMax" format="dimension"/> + + <!-- The dimensions of the small image in the routing card (ratio 1:1). --> + <attr name="templateNavCardSmallImageSize" format="dimension"/> + <attr name="templateNavCardSmallImageSizeMin" format="dimension"/> + <attr name="templateNavCardSmallImageSizeMax" format="dimension"/> + + <!-- Size of the large text of the routing card. --> + <attr name="templateNavCardLargeTextSize" format="dimension"/> + + <!-- Size of the xlarge text of the routing card. --> + <attr name="templateNavCardXLargeTextSize" format="dimension"/> + + <!-- The fallback text color used in the routing card when the OEM-provided default text color is not used. --> + <attr name="templateNavCardFallbackContentColor" format="color"/> + + <!-- The style of the distance text in the detailed step view. --> + <attr name="templateRoutingDistanceStyle" format="dimension"/> + + <!-- The style of the description text in the detailed step view. --> + <attr name="templateRoutingDescriptionStyle" format="dimension"/> + + <!-- The style of the description text in the compact step view. --> + <attr name="templateRoutingCompactDescriptionStyle" format="dimension"/> + + <!-- The style of the description text in the travel estimate view. --> + <attr name="templateRoutingTravelEstimateStyle" format="dimension"/> + + <!-- The height of the container of the lanes image. --> + <attr name="templateRoutingLanesImageContainerHeight" format="dimension"/> + + <!-- The vertical padding of the container of the lanes image. --> + <attr name="templateRoutingLanesImageContainerVerticalPadding" format="dimension"/> + + <!-- The horizontal padding of the container of the lanes image. --> + <attr name="templateRoutingLanesImageContainerHorizontalPadding" format="dimension"/> + + <!-- The color of the background of the lanes image. --> + <attr name="templateRoutingLanesImageBackgroundColor" format="color"/> + + <!-- The color of the background of the junction image. --> + <attr name="templateRoutingJunctionImageBackgroundColor" format="color"/> + + <!-- The style of the primary text for the title in the message view. --> + <attr name="templateRoutingMessagePrimaryStyle" format="reference"/> + + <!-- The style of the secondary text for the message view. --> + <attr name="templateRoutingMessageSecondaryStyle" format="reference"/> + + <!-- The horizontal inner padding between the image and the primary text in the message view. --> + <attr name="templateRoutingMessageInnerPaddingHorizontal" format="dimension"/> + + <!-- The vertical inner padding between the primary and secondary texts in the message view. --> + <attr name="templateRoutingMessageInnerPaddingVertical" format="dimension"/> + + <!-- The width and min height of the container which shows the current and + next steps in the routing card. --> + <attr name="templateRoutingStepsCardContentContainerMinWidth" format="dimension"/> + <attr name="templateRoutingStepsCardContentContainerMinHeight" format="dimension"/> + + <!-- The color of the divider in the routing card. --> + <attr name="templateRoutingDividerColor" format="dimension"/> + + <!-- Status bar. --> + <!-- Status bar gradient background start and end colors. --> + <attr name="templateStatusBarStartColor" format="color"/> + <attr name="templateStatusBarEndColor" format="color"/> + + <!-- Defines a minimum top padding for the presenter in case there is no status bar, + i.e. Widescreen Android Auto does not have status bar. --> + <attr name="templateStatusBarMinimumTopPadding" format="dimension"/> + + <!-- No content view. --> + <attr name="templateNoContentFocusCornerRadius" format="dimension"/> + + <!-- Loading spinner. --> + <attr name="templateLoadingSpinnerStyle" format="reference"/> + <attr name="templateLoadingSpinnerColor" format="color"/> + + <!-- Attributes of most dividers used throughout the UI. --> + <attr name="templateDividerColor" format="color"/> + <attr name="templateDividerThickness" format="dimension"/> + + <!-- A fraction used for implementing margins that adapt to the width of the screen. + For example, some templates may have a 12% minimum margin (with respect of the + screen width) on either side. This value should be set to 1.0 minus twice + the margin percentage (in other words, it is the width of the content itself). --> + <attr name="templateAdaptiveWidthFraction" format="float"/> + + <!-- The duration in milliseconds of a template transition animation e.g. a cross fade. --> + <attr name="templateUpdateAnimationDurationMilliseconds" format="integer"/> + + <!-- Standard colors --> + <attr name="templateStandardBlue" format="color"/> + <attr name="templateStandardRed" format="color"/> + <attr name="templateStandardGreen" format="color"/> + <attr name="templateStandardYellow" format="color"/> + + <!-- The spacing used between controls e.g. buttons. --> + <attr name="templateControlToControlSpacingHorizontal" format="dimension"/> + + <!-- The maximum number of rows in a list view. --> + <attr name="templateListMaxLength" format="integer"/> + + <!-- The maximum number of grid items in a grid view. --> + <attr name="templateGridMaxLength" format="integer"/> + + <!-- Whether or not NavState events should be sent to the system via NavigationManager --> + <attr name="templateSendNavStateToSystem" format="boolean"/> + </declare-styleable> +</resources> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/colors.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/colors.xml new file mode 100644 index 0000000..31833f1 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/colors.xml @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- Color definitions for the UI in the templates. + + !!! IMPORTANT !!! + Do not refer to these colors directly from views. Colors must be referred + to through theme attributes (in attrs.xml). + + !!! IMPORTANT !!! + Do not define colors with a RGB value in here (e.g. #FF9B4DF8). These + colors should all refer to colors defined in @color/default. + + If you need a color that's not there already, make a change to add it and + get that approved. --> +<resources> + + <color name="template_black">@color/default_black</color> + <color name="template_black_64">@color/default_gradient_black_64</color> + + <color name="template_white">@color/default_white</color> + <color name="template_white_16">@color/default_gradient_white_16</color> + <color name="template_white_24">@color/default_gradient_white_24</color> + <color name="template_white_46">@color/default_gradient_white_46</color> + <color name="template_white_56">@color/default_gradient_white_56</color> + <color name="template_white_72">@color/default_gradient_white_72</color> + + <color name="template_gray_50">@color/default_gray_50</color> + <color name="template_gray_100">@color/default_gray_100</color> + <color name="template_gray_400">@color/default_gray_400</color> + <color name="template_gray_500">@color/default_gray_500</color> + <color name="template_gray_700">@color/default_gray_700</color> + <color name="template_gray_846">@color/default_gray_846</color> + <color name="template_gray_868">@color/default_gray_868</color> + <color name="template_gray_878">@color/default_gray_878</color> + <color name="template_gray_900">@color/default_gray_900</color> + <color name="template_gray_928">@color/default_gray_928</color> + + <!-- Standard colors --> + <color name="template_standard_red">@color/car_app_ui_standard_red</color> + <color name="template_standard_red_dark">@color/car_app_ui_standard_red_dark</color> + <color name="template_standard_green">@color/car_app_ui_standard_green</color> + <color name="template_standard_green_dark">@color/car_app_ui_standard_green_dark</color> + <color name="template_standard_blue">@color/car_app_ui_standard_blue</color> + <color name="template_standard_blue_dark">@color/car_app_ui_standard_blue_dark</color> + <color name="template_standard_yellow">@color/car_app_ui_standard_yellow</color> + <color name="template_standard_yellow_dark">@color/car_app_ui_standard_yellow_dark</color> + + <!-- Colors derived from OEM values. These values should be customized + through car_ui. --> + <color name="template_icon_tint_color">@color/car_ui_text_color_primary</color> + <color name="template_text_color_primary">@color/car_ui_text_color_primary</color> + <color name="template_card_background_color">@color/car_ui_activity_background_color</color> + <color name="template_plain_content_background_color">@color/car_ui_activity_background_color</color> + + <!-- Color of text inside of a content view. --> + <color name="template_content_text_color">@color/template_gray_50</color> + + <!-- Color of secondary text inside of a content view. --> + <color name="template_content_text_color_secondary">@color/template_gray_500</color> + + <!-- Color of focus text inside of a content view. --> + <color name="template_content_text_color_focus">@color/template_standard_blue</color> + + <!-- Map markers. --> + <color name="template_marker_default_background_color">@color/template_white</color> + <color name="template_marker_map_default_content_color">@color/template_black</color> + <color name="template_marker_list_default_content_color">@color/template_white</color> + <color name="template_marker_custom_background_content_color">@color/template_white</color> + <color name="template_marker_default_border_color">@color/template_gray_700</color> + <color name="template_marker_custom_border_color">@color/template_white</color> + <color name="template_anchor_default_background_color">@color/template_black</color> + <color name="template_anchor_border_color">@color/template_white</color> + <color name="template_anchor_dot_color">@color/template_white_56</color> + + <!-- Content Containers. --> + <color name="template_container_background">@color/template_black</color> + <color name="template_content_button_color">@color/template_white</color> + + <!-- Cards. --> + <color name="template_card_content_container_border_color">@color/template_white_24</color> + + <!-- Toggles. --> + <color name="template_toggle_inactive_track">@color/template_white</color> + <color name="template_toggle_inactive_thumb">@color/template_gray_400</color> + <color name="template_toggle_active_track">@color/template_standard_blue</color> + <color name="template_toggle_active_thumb">@color/template_standard_blue</color> + + <!-- Actions. --> + <color name="template_action_button_default_background_color">@color/car_app_ui_action_button_default_background_color</color> + + <!-- Action strip FABs. --> + <color name="template_action_strip_fab_background_color">@color/car_app_ui_floating_button_default_background_color</color> + <color name="template_action_strip_fab_content_color">@color/car_app_ui_floating_button_default_text_color</color> + + <!-- Message template. --> + <color name="template_message_debug_text_color">@color/default_message_debug_text_color</color> + + <!-- Sign-in template. --> + <color name="template_sign_in_error_message_color">@color/template_standard_red</color> + <color name="template_sign_in_additional_text_color">@color/template_gray_500</color> + + <!-- Read-only text. --> + <color name="template_read_only_text_background_color">@color/car_app_ui_read_only_text_background_color</color> + + <!-- Ripples. --> + <color name="template_ripple_color">@color/default_controller_ripple_color</color> + <color name="template_ripple_selector_color">@color/default_controller_ripple_selector_color</color> + + <!-- Status bar. --> + <color name="template_status_bar_end_color">@color/template_white</color> + + <!-- Edit text. --> + <color name="template_edit_text_color_selector">@color/default_edit_text_color_selector</color> + <color name="template_edit_text_active_color">@color/car_app_ui_edit_text_active_color</color> + <color name="template_edit_text_enabled_color">@color/car_app_ui_edit_text_enabled_color</color> + <color name="template_edit_text_error_color">@color/car_app_ui_edit_text_error_color</color> + <color name="template_edit_text_disabled_color">@color/car_app_ui_edit_text_disabled_color</color> + + <!-- Loading spinner. --> + <color name="template_loading_spinner_color">@color/template_standard_blue</color> + +</resources> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/dimens.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/dimens.xml new file mode 100644 index 0000000..defd4c4 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/dimens.xml @@ -0,0 +1,278 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<resources> + + <!-- Adaptive height and width spacing key lines. --> + <dimen name="template_height_keyline_0">@dimen/default_height_keyline_0</dimen> + <dimen name="template_height_keyline_1">@dimen/default_height_keyline_1</dimen> + <dimen name="template_height_keyline_2">@dimen/default_height_keyline_2</dimen> + <dimen name="template_height_keyline_3">@dimen/default_height_keyline_3</dimen> + <dimen name="template_width_keyline_0">@dimen/default_width_keyline_0</dimen> + <dimen name="template_width_keyline_1">@dimen/default_width_keyline_1</dimen> + <dimen name="template_width_keyline_2">@dimen/default_width_keyline_2</dimen> + <dimen name="template_width_keyline_3">@dimen/default_width_keyline_3</dimen> + + <!-- Padding. --> + <dimen name="template_padding_0">@dimen/default_padding_0</dimen> + <dimen name="template_padding_1">@dimen/default_padding_1</dimen> + <dimen name="template_padding_2">@dimen/default_padding_2</dimen> + <dimen name="template_padding_3">@dimen/default_padding_3</dimen> + <dimen name="template_padding_4">@dimen/default_padding_4</dimen> + <dimen name="template_padding_5">@dimen/default_padding_5</dimen> + <dimen name="template_padding_6">@dimen/default_padding_6</dimen> + <dimen name="template_padding_7">@dimen/default_padding_7</dimen> + <dimen name="template_padding_8">@dimen/default_padding_8</dimen> + + <!-- Minimum tap target size, used for buttons, etc. --> + <dimen name="template_min_tap_target_size">68dp</dimen> + + <!-- + Edge column definition + + These values are used to align UI elements at the edge of the screen, even if + the elements belong to completely different layouts. + --> + <dimen name="template_edge_column_width">@dimen/default_edge_column_width</dimen> + <dimen name="template_edge_column_margin">@dimen/default_edge_column_margin</dimen> + + <!-- + This dimen represents the entire width of the edge column, margin included. + + It should remain equal to: + 2 * template_edge_column_margin + template_edge_column_width + --> + <dimen name="template_edge_column_width_padded">@dimen/default_edge_column_width_padded</dimen> + + <!-- A minimum margin value used to offset some of the text views + in the UI. --> + <dimen name="template_min_text_margin">8dp</dimen> + + <!-- Common dimensions. --> + <item name="template_adaptive_width_fraction" format="float" type="dimen">.76</item> + <dimen name="template_button_touch_target_size">@dimen/car_app_ui_touch_target_size</dimen> + + <!-- Images. --> + <dimen name="template_large_image_size">@dimen/car_app_ui_large_image_size</dimen> + <dimen name="template_large_image_size_min">0dp</dimen> + <dimen name="template_large_image_size_max">128dp</dimen> + + <!-- Markers. --> + <dimen name="template_marker_pointer_width">16dp</dimen> + <dimen name="template_marker_pointer_height">10dp</dimen> + <dimen name="template_marker_text_horizontal_padding">8dp</dimen> + <dimen name="template_marker_icon_size">32dp</dimen> + <dimen name="template_marker_stroke">2dp</dimen> + <dimen name="template_marker_corner_radius">8dp</dimen> + <dimen name="template_marker_image_size">36dp</dimen> + <dimen name="template_marker_image_corner_radius">4dp</dimen> + <dimen name="template_marker_padding">2dp</dimen> + + <!-- Plain content containers. --> + <dimen name="template_plain_content_container_width">400dp</dimen> + <dimen name="template_plain_content_container_padding">10dp</dimen> + <dimen name="template_plain_content_horizontal_padding">@dimen/car_app_ui_content_horizontal_margin</dimen> + + <!-- Card content containers. --> + <dimen name="template_card_content_container_default_width">384dp</dimen> + <dimen name="template_card_content_container_min_width">360dp</dimen> + <dimen name="template_card_content_container_max_width">416dp</dimen> + <dimen name="template_card_content_container_oem_max_width">500dp</dimen> + <dimen name="template_card_content_container_start_margin">@dimen/car_app_ui_card_start_margin</dimen> + <dimen name="template_card_content_container_top_margin">@dimen/car_app_ui_card_top_margin</dimen> + <dimen name="template_card_content_container_bottom_margin">@dimen/template_width_keyline_1</dimen> + <dimen name="template_card_content_container_min_height">200dp</dimen> + + <!-- Card container width fractions. Zero means we use the layout_width, not the fraction. --> + <item name="template_card_content_container_width_fraction" format="float" type="dimen">.48</item> + <item name="template_steps_card_content_container_width_fraction" format="float" type="dimen">.4</item> + + <!-- Corresponds to +5 elevation in material spec: + https://standards.google/guidelines/google-material/styles/elevation.html#spec --> + <dimen name="template_card_content_container_elevation">12dp</dimen> + <dimen name="template_card_content_container_border_width">2dp</dimen> + + <!-- Headers. --> + <dimen name="template_header_height">68dp</dimen> + <dimen name="template_header_text_vertical_spacing">@dimen/car_app_ui_card_header_text_padding_vertical</dimen> + <dimen name="template_header_text_horizontal_spacing">@dimen/car_app_ui_card_header_text_padding_horizontal</dimen> + <dimen name="template_header_button_icon_size">@dimen/car_app_ui_card_header_image_size</dimen> + <dimen name="template_header_button_start_spacing">0dp</dimen> + <dimen name="template_header_text_no_icon_start_spacing">@dimen/car_app_ui_card_header_no_button_text_margin_start</dimen> + + <dimen name="template_header_button_focus_inset">4dp</dimen> + + <!-- Lists. --> + <dimen name="template_row_list_max_width">@dimen/default_canvas_max_width</dimen> + <dimen name="template_row_list_no_scrollbar_start_padding_card">@dimen/template_padding_1</dimen> + + <!-- Row List. --> + <dimen name="template_row_list_large_image_container_max_width">480dp</dimen> + + <!-- Rows. --> + <dimen name="template_row_min_height">72dp</dimen> + <dimen name="template_row_corner_radius">@dimen/default_list_item_corner_radius</dimen> + <dimen name="template_row_icon_size">36dp</dimen> + <dimen name="template_row_image_size_small">36dp</dimen> + <dimen name="template_row_image_size_large">64dp</dimen> + <dimen name="template_row_action_max_width">240dp</dimen> + <dimen name="template_row_marker_min_size">36dp</dimen> + <dimen name="template_row_marker_label_margin">15dp</dimen> + <dimen name="template_row_horizontal_padding">@dimen/template_width_keyline_1</dimen> + <dimen name="template_row_horizontal_half_padding">@dimen/template_width_keyline_0</dimen> + <dimen name="template_row_text_horizontal_padding">@dimen/template_width_keyline_0</dimen> + <dimen name="template_row_text_horizontal_half_padding">@dimen/template_padding_0</dimen> + <dimen name="template_row_background_sectional_bottom_margin">@dimen/template_padding_3</dimen> + <dimen name="template_half_list_bottom_padding">@dimen/default_height_keyline_3</dimen> + <dimen name="template_half_row_padding_vertical">@dimen/default_padding_4</dimen> + + <!-- Half Rows. --> + <dimen name="template_half_row_horizontal_padding">@dimen/car_app_ui_half_row_horizontal_padding</dimen> + <dimen name="template_half_row_vertical_padding">@dimen/car_app_ui_half_row_vertical_padding</dimen> + <dimen name="template_half_row_image_to_text_margin">@dimen/car_app_ui_half_row_image_to_text_spacing</dimen> + <dimen name="template_half_row_text_to_text_margin">@dimen/car_app_ui_half_row_text_to_text_spacing</dimen> + <dimen name="template_half_row_image_size">@dimen/car_app_ui_half_row_image_size</dimen> + + <!-- Full Rows. --> + <dimen name="template_full_row_start_padding">@dimen/car_app_ui_full_row_start_padding</dimen> + <dimen name="template_full_row_end_padding">@dimen/car_app_ui_full_row_end_padding</dimen> + <dimen name="template_full_row_chevron_size">@dimen/car_ui_list_item_supplemental_icon_size</dimen> + + <!-- Grids. --> + <dimen name="template_grid_max_width">@dimen/default_paged_list_view_max_content_width</dimen> + + <!-- Grid items. --> + <dimen name="template_grid_item_image_bottom_padding">@dimen/car_app_ui_grid_item_image_to_text_spacing_vertical</dimen> + <dimen name="template_grid_item_text_container_max_width">196dp</dimen> + <dimen name="template_grid_item_text_bottom_padding">@dimen/car_app_ui_grid_item_text_to_text_spacing_vertical</dimen> + <dimen name="template_grid_item_horizontal_spacing">@dimen/template_width_keyline_0</dimen> + <dimen name="template_grid_item_vertical_spacing">@dimen/car_app_ui_grid_item_vertical_spacing</dimen> + + <dimen name="template_grid_item_corner_radius">@dimen/default_list_item_corner_radius</dimen> + <dimen name="template_grid_item_image_background_size">50dp</dimen> + + <!-- Sign-In Template. --> + <dimen name="template_sign_in_method_view_max_width">@dimen/car_app_ui_sign_in_method_max_width</dimen> + <dimen name="template_sign_in_pin_text_letter_spacing" format="float" type="dimen">.6</dimen> + <dimen name="template_sign_in_input_error_message_text_size">18dp</dimen> + <dimen name="template_sign_in_input_additional_text_size">18dp</dimen> + <dimen name="template_sign_in_qr_code_image_width">250dp</dimen> + + <!-- Read-only Text. --> + <dimen name="template_read_only_text_padding">@dimen/car_app_ui_read_only_text_padding</dimen> + + <!-- Scrollbar. --> + <dimen name="template_paged_list_scrollbar_width">@dimen/template_edge_column_width_padded</dimen> + <dimen name="template_paged_list_scrollbar_width_card">68dp</dimen> + + <!-- Dividers. --> + <dimen name="template_divider_thickness">1dp</dimen> + + <!-- Action buttons and FABs. --> + <!-- Vertical margin in action button. --> + <dimen name="template_action_button_vertical_margin">@dimen/template_padding_2</dimen> + + <!-- Action button list row vertical spacing. --> + <dimen name="template_action_button_list_row_vertical_spacing">@dimen/template_padding_2</dimen> + + <!-- Min width common to buttons and FABs, when the action has text. --> + <dimen name="template_action_with_text_min_width">156dp</dimen> + + <!-- The size of an icon inside of a FAB or button. --> + <dimen name="template_action_icon_size">@dimen/car_app_ui_button_image_size</dimen> + <dimen name="template_action_icon_size_min">0dp</dimen> + <!-- This max size should align with the max size we can set on the system toolbar. --> + <dimen name="template_action_icon_size_max">88dp</dimen> + + <!-- The spacing between the start side of a FAB or button and the action icon. + The spacing is applied only when the button has both icon and text. --> + <dimen name="template_action_icon_text_start_spacing">@dimen/car_app_ui_icon_button_start_spacing</dimen> + + <!-- The spacing between the end side of a FAB or button and the action icon. + The spacing is applied only when the button has both icon and text. --> + <dimen name="template_action_icon_text_end_spacing">@dimen/car_app_ui_icon_button_end_spacing</dimen> + + <!-- The spacing between the icon and the text in a FAB or button. --> + <dimen name="template_action_icon_to_text_spacing">@dimen/car_app_ui_icon_button_image_to_text_spacing</dimen> + + <!-- The spacing between the start and end sides of a FAB or button and the action text. + The spacing is applied only when the button only has the text. --> + <dimen name="template_action_text_horizontal_spacing">@dimen/car_app_ui_button_text_horizontal_spacing</dimen> + + <!-- The width of the border for a secondary button, e.g. a button rendered + in the action strip in a full screen template. --> + <dimen name="template_action_button_secondary_border_width">2dp</dimen> + + <!-- The padding around the action strip. --> + <dimen name="template_action_strip_padding">@dimen/car_ui_padding_3</dimen> + + <!-- The vertical margin of the sticky buttons. --> + <dimen name="template_sticky_buttons_vertical_spacing">@dimen/car_ui_padding_2</dimen> + + <!-- Toggles and radio buttons. --> + <dimen name="template_toggle_width">44dp</dimen> + <dimen name="template_toggle_height">24dp</dimen> + <dimen name="template_radio_button_size">24dp</dimen> + + <!-- Focus. --> + <dimen name="template_focus_ring_stroke_width_hovered">@dimen/default_focus_ring_stroke_width_hovered</dimen> + <dimen name="template_focus_ring_stroke_width_focused">@dimen/default_focus_ring_stroke_width_focused</dimen> + <dimen name="template_back_focus_ring_inset">4dp</dimen> + <dimen name="template_search_focus_ring_inset">6dp</dimen> + <dimen name="template_action_fab_focus_ring_size">56dp</dimen> + <dimen name="template_focus_oval_ripple_inset">4dp</dimen> + + <!-- Routing. --> + <dimen name="template_routing_image_span_body2_max_height">@dimen/default_body2_line_height</dimen> + <dimen name="template_routing_image_span_body3_max_height">@dimen/default_body3_line_height</dimen> + <dimen name="template_nav_card_large_image_size">@dimen/car_app_ui_nav_card_large_image_size</dimen> + <dimen name="template_nav_card_large_image_size_min">0dp</dimen> + <dimen name="template_nav_card_large_image_size_max">128dp</dimen> + <dimen name="template_nav_card_small_image_size">@dimen/car_app_ui_nav_card_small_image_size</dimen> + <dimen name="template_nav_card_small_image_size_min">0dp</dimen> + <dimen name="template_nav_card_small_image_size_max">72dp</dimen> + <dimen name="template_routing_lanes_image_container_height">55dp</dimen> + + <dimen name="template_nav_card_padding_vertical">@dimen/car_app_ui_nav_card_padding_vertical</dimen> + <dimen name="template_nav_card_padding_horizontal">@dimen/car_app_ui_nav_card_padding_horizontal</dimen> + <dimen name="template_nav_card_small_padding_vertical">@dimen/car_app_ui_nav_card_small_padding_vertical</dimen> + <dimen name="template_steps_card_image_to_text_spacing_horizontal">@dimen/car_app_ui_nav_card_image_to_text_spacing_horizontal</dimen> + <dimen name="template_steps_card_image_to_text_spacing_vertical">@dimen/car_app_ui_nav_card_image_to_text_spacing_vertical</dimen> + + <dimen name="template_steps_card_content_container_min_width">320dp</dimen> + <dimen name="template_steps_card_content_container_max_width">372dp</dimen> + <dimen name="template_steps_card_content_container_oem_max_width">500dp</dimen> + <dimen name="template_steps_card_content_container_min_height">100dp</dimen> + + <!-- Message template. --> + <dimen name="template_message_title_top_spacing">@dimen/car_app_ui_image_to_text_spacing_vertical</dimen> + <dimen name="template_message_buttons_top_spacing">@dimen/car_app_ui_text_to_control_spacing_vertical</dimen> + <dimen name="template_message_debug_text_size">14dp</dimen> + <dimen name="template_message_debug_text_line_height">18dp</dimen> + + <!-- Search template. --> + <dimen name="template_search_bar_max_width">580dp</dimen> + + <!-- Status bar. --> + <dimen name="template_status_bar_minimum_top_padding">0dp</dimen> + + <!-- No content view. --> + <dimen name="template_no_content_view_focus_corner_radius">@dimen/default_no_content_focus_background_corner_radius</dimen> + + <!-- Use a negative padding value to draw the focus ring outside the no content view. --> + <dimen name="template_no_content_view_focus_ring_padding">-8dp</dimen> +</resources> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/dimens_default.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/dimens_default.xml new file mode 100644 index 0000000..d462eba --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/dimens_default.xml @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<!-- Standard dimensions for all template widgets. + + These dimensions can be referenced directly from widgets without going + through a theme attribute. + + See go/watevra-visd. --> +<resources> + + <dimen name="default_padding_0">4dp</dimen> + <dimen name="default_padding_1">8dp</dimen> + <dimen name="default_padding_2">12dp</dimen> + <dimen name="default_padding_3">16dp</dimen> + <dimen name="default_padding_4">24dp</dimen> + <dimen name="default_padding_5">32dp</dimen> + <dimen name="default_padding_6">48dp</dimen> + <dimen name="default_padding_7">64dp</dimen> + <dimen name="default_padding_8">96dp</dimen> + + <dimen name="default_height_keyline_0">0dp</dimen> + <dimen name="default_height_keyline_1">8dp</dimen> + <dimen name="default_height_keyline_2">12dp</dimen> + <dimen name="default_height_keyline_3">16dp</dimen> + <dimen name="default_width_keyline_0">4dp</dimen> + <dimen name="default_width_keyline_1">8dp</dimen> + <dimen name="default_width_keyline_2">8dp</dimen> + <dimen name="default_width_keyline_3">16dp</dimen> + + <dimen name="default_touch_target_minimum_size">68dp</dimen> + <dimen name="default_edge_column_width">@dimen/default_touch_target_minimum_size</dimen> + <dimen name="default_edge_column_margin">@dimen/default_width_keyline_1</dimen> + <dimen name="default_edge_column_width_padded">84dp</dimen> + + <dimen name="default_body1_text_size">32dp</dimen> + <dimen name="default_body1_line_height">40dp</dimen> + <item name="default_body1_letter_spacing" format="float" type="dimen">0.0094</item> + + <dimen name="default_body2_text_size">28dp</dimen> + <dimen name="default_body2_line_height">36dp</dimen> + <item name="default_body2_letter_spacing" format="float" type="dimen">0.0107</item> + + <dimen name="default_body3_text_size">24dp</dimen> + <dimen name="default_body3_line_height">32dp</dimen> + <item name="default_body3_letter_spacing" format="float" type="dimen">0.0250</item> + + <dimen name="default_display1_text_size">56dp</dimen> + <dimen name="default_display1_line_height">64dp</dimen> + <item name="default_display1_letter_spacing" format="float" type="dimen">0.0000</item> + + <dimen name="default_display2_text_size">44dp</dimen> + <dimen name="default_display2_line_height">52dp</dimen> + <item name="default_display2_letter_spacing" format="float" type="dimen">0.0023</item> + + <dimen name="default_display3_text_size">36dp</dimen> + <dimen name="default_display3_line_height">44dp</dimen> + <item name="default_display3_letter_spacing" format="float" type="dimen">0.0055</item> + + <!-- PagedListView --> + <dimen name="default_paged_list_view_max_content_width">704dp</dimen> + + <!-- Focus --> + <dimen name="default_focus_ring_stroke_width_hovered">4dp</dimen> + <dimen name="default_focus_ring_stroke_width_focused">6dp</dimen> + + <!-- Apps Space --> + <dimen name="default_canvas_max_width">794dp</dimen> + <dimen name="default_list_item_corner_radius">8dp</dimen> + <dimen name="default_no_content_focus_background_corner_radius">16dp</dimen> + + <!-- Edit Text --> + <!-- Use a negative padding value to draw the focus ring outside the edit text. --> + <dimen name="default_edit_text_focus_ring_padding">-6dp</dimen> + <dimen name="default_edit_text_focus_ring_radius">12dp</dimen> + +</resources> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/floats.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/floats.xml new file mode 100644 index 0000000..970dd93 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/floats.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<resources> + <!-- GridItems. --> + <!-- Alpha value for the secondary text line in a grid item. --> + <item name="template_grid_item_text_alpha" format="float" type="dimen">0.72</item> + + <!-- Navigation routing template. --> + <!-- Ratio of the image span (width/height) that should be used alongside text. --> + <item name="template_routing_image_span_ratio" format="float" type="dimen">3.0</item> + + <!-- Row list template. --> + <!-- Aspect ratio of the PaneTemplate large image. --> + <item name="template_row_list_large_image_aspect_ratio" format="float" type="dimen">1.75</item> + + <!-- Width ratio of the large image relative to the row list width --> + <item name="template_row_list_to_large_image_ratio" format="float" type="dimen">0.33</item> +</resources> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/integers.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/integers.xml new file mode 100644 index 0000000..10a9467 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/integers.xml @@ -0,0 +1,78 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<resources> + <integer name="template_grid_items_per_row">2</integer> + + <!-- Actions. --> + <!-- + Max ems to display for the button text if there is no icon. + Actual spec is 11ems, but TextView inserts the ellipsize after the maxems + value, so here the value is 11-1 to account for the ellipsize. + --> + <integer name="template_action_button_text_max_ems_no_icon">10</integer> + + <!-- + Max ems to display for the button text if there is an icon. + Actual spec is 10ems, but TextView inserts the ellipsize after the maxems + value, so here the value is 10-1 to account for the ellipsize. + --> + <integer name="template_action_button_text_max_ems_with_icon">9</integer> + + <!-- + Max ems to display for the fab text if there is no icon. + Actual spec is 7ems, but TextView inserts the ellipsize after the maxems + value, so here the value is 7-1 to account for the ellipsize. + --> + <integer name="template_fab_text_max_ems_no_icon">6</integer> + + <!-- + Max ems to display for the fab text if there is an icon. + Actual spec is 6ems, but TextView inserts the ellipsize after the maxems + value, so here the value is 6-1 to account for the ellipsize. + --> + <integer name="template_fab_text_max_ems_with_icon">5</integer> + + <!-- + Max ems to display for the provider sign-in button text. + TODO(b/184195457): remove the custom maxEms limit when we remove the limit for all + --> + <integer name="template_provider_sign_in_button_text_max_ems">100</integer> + + <!-- Duration for the animation of templates switching. --> + <integer name="template_update_animation_duration_millis">300</integer> + + <!-- Layout gravity for content areas (e.g content vertical alignment in Sign In Template + content).--> + <integer name="template_plain_content_layout_gravity">@integer/car_app_ui_content_layout_gravity</integer> + + <!-- Content gravity for content areas (e.g. component horizontal alignment in Sign In + Template content). --> + <integer name="template_plain_content_gravity">@integer/car_app_ui_content_gravity</integer> + + <!-- Gravity integer values (to be used as part of gravity overlayable attributes. --> + <integer name="gravity_bottom">80</integer> + <integer name="gravity_center">17</integer> + <integer name="gravity_center_horizontal">1</integer> + <integer name="gravity_center_vertical">16</integer> + <integer name="gravity_end">8388613</integer> + <integer name="gravity_left">3</integer> + <integer name="gravity_no_gravity">0</integer> + <integer name="gravity_right">5</integer> + <integer name="gravity_start">8388611</integer> + <integer name="gravity_top">48</integer> +</resources> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/styles.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/styles.xml new file mode 100644 index 0000000..0779b34 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/styles.xml @@ -0,0 +1,391 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<resources xmlns:tools="http://schemas.android.com/tools"> + <!-- Style definitions for the UI in the templates. + + !!! IMPORTANT !!! + Do not refer to these styles directly from views. Styles must be referred + to through theme attributes (in attrs.xml). --> + <style name="Template" parent="Theme.Template"/> + + <!-- The appearance of the markers in the map view. --> + <style name="TextAppearance.Marker" parent="TextAppearance.Template.Body3.Medium"/> + + <style name="MarkerAppearance" parent="TextAppearance.Marker"> + <item name="markerDefaultBackgroundColor">@color/template_marker_default_background_color</item> + <item name="markerCustomBackgroundContentColor">@color/template_marker_custom_background_content_color</item> + <item name="markerDefaultBorderColor">@color/template_marker_default_border_color</item> + <item name="markerCustomBorderColor">@color/template_marker_custom_border_color</item> + <item name="markerPointerWidth">@dimen/template_marker_pointer_width</item> + <item name="markerPointerHeight">@dimen/template_marker_pointer_height</item> + <item name="markerStroke">@dimen/template_marker_stroke</item> + <item name="markerCornerRadius">@dimen/template_marker_corner_radius</item> + <item name="markerPadding">@dimen/template_marker_padding</item> + + <item name="anchorDefaultBackgroundColor">@color/template_anchor_default_background_color</item> + <item name="anchorBorderColor">@color/template_anchor_border_color</item> + <item name="anchorDotColor">@color/template_anchor_dot_color</item> + + <item name="markerTextHorizontalPadding">@dimen/template_marker_text_horizontal_padding</item> + <item name="markerIconSize">@dimen/template_marker_icon_size</item> + <item name="markerImageSize">@dimen/template_marker_image_size</item> + <item name="markerImageCornerRadius">@dimen/template_marker_image_corner_radius</item> + + <item name="markerListIconSize">?templateHalfRowImageSize</item> + </style> + + <style name="MarkerAppearance.Template.Map" parent="MarkerAppearance"> + <item name="markerDefaultContentColor">@color/template_marker_map_default_content_color</item> + </style> + + <style name="MarkerAppearance.Template.List" parent="MarkerAppearance"> + <item name="markerDefaultContentColor">@color/template_marker_list_default_content_color</item> + </style> + + <!-- The style of an action button. --> + <style name="Widget.Template.ActionButton"> + <item name="android:foreground">?templateActionButtonForeground</item> + <item name="android:background">?templateActionButtonBackground</item> + </style> + + <!-- The style of a FAB. --> + <style name="Widget.Template.Fab"> + <item name="android:clickable">true</item> + <item name="android:focusable">true</item> + <item name="android:orientation">horizontal</item> + <item name="android:gravity">center</item> + <item name="android:elevation">6dp</item> + </style> + + <!-- The appearance of a FAB when actually displayed as floating, e.g. + over a map surface. --> + <style name="FabAppearance.Template.Fab" parent="Widget.Template.Fab"> + <item name="android:background">@drawable/action_strip_fab_view_background</item> + <item name="android:foreground">@drawable/action_strip_button_view_focus_ring</item> + <item name="fabDefaultContentColor">@color/template_action_strip_fab_content_color</item> + </style> + + <!-- The appearance of a FAB when displayed in a full screen template. --> + <style name="FabAppearance.Template.FullTemplate" parent="Widget.Template.Fab"> + <item name="android:background">@drawable/action_strip_button_view_background</item> + <item name="android:foreground">@drawable/action_strip_button_view_focus_ring</item> + <item name="fabDefaultContentColor">@color/default_white</item> + </style> + + <!-- The style of a loading spinner. --> + <style name="Widget.Template.Spinner"> + <item name="android:indeterminateDrawable">@drawable/default_progress_spinner</item> + <item name="android:indeterminate">true</item> + </style> + + <!-- The style of a content container. --> + <style name="Widget.Template.Container"> + <item name="android:background">@drawable/car_ui_activity_background</item> + </style> + + <!-- The style of a content container on a surface template. --> + <style name="Widget.Template.Container.Surface"> + <item name="android:background">@android:color/transparent</item> + <item name="android:paddingRight">@dimen/template_plain_content_container_padding</item> + </style> + + <!-- The style of a plain content container. --> + <style name="Widget.Template.Container.Plain" /> + + <!-- The style of a card content container. --> + <style name="Widget.Template.Container.Card"> + <item name="cardBackgroundColor">@color/template_card_background_color</item> + <item name="cardTextColor">@color/template_text_color_primary</item> + <item name="cardFallbackDarkBackgroundColor">@color/default_gray_928</item> + <item name="cardFallbackLightBackgroundColor">@color/template_white</item> + <item name="cardBorderColor">@color/template_card_content_container_border_color</item> + <item name="cardBorderWidth">@dimen/template_card_content_container_border_width</item> + <item name="cardRadius">?templateCornerRadius</item> + <item name="android:elevation">@dimen/template_card_content_container_elevation</item> + </style> + + <!-- The style of a card content container with a content view (e.g. list). --> + <style name="Widget.Template.Container.Card.Content"> + <item name="cardWidthFraction">@dimen/template_card_content_container_width_fraction</item> + <item name="cardMinWidth">@dimen/template_card_content_container_min_width</item> + <item name="cardMaxWidth">@dimen/template_card_content_container_max_width</item> + <item name="cardOemWidth">@dimen/car_app_ui_card_width</item> + <item name="cardOemMaxWidth">@dimen/template_card_content_container_oem_max_width</item> + </style> + + <!-- The style of a card content container with the routing information. --> + <style name="Widget.Template.Container.Card.Content.Routing"> + <item name="cardWidthFraction">@dimen/template_steps_card_content_container_width_fraction</item> + <item name="cardMinWidth">@dimen/template_steps_card_content_container_min_width</item> + <item name="cardMaxWidth">@dimen/template_steps_card_content_container_max_width</item> + <item name="cardOemWidth">@dimen/car_app_ui_nav_card_width</item> + <item name="cardOemMaxWidth">@dimen/template_steps_card_content_container_oem_max_width</item> + </style> + + <!-- The style of a button in a content view. --> + <style name="Widget.Template.ContentButton"> + <item name="android:scaleType">center</item> + <item name="android:tint">@color/template_content_button_color</item> + <item name="android:tintMode">src_atop</item> + </style> + + <!-- The style of a list of rows, plain style. --> + <style name="Widget.Template.RowList"> + <item name="listWidthFraction">@dimen/template_adaptive_width_fraction</item> + <item name="listMaxWidth">@dimen/template_row_list_max_width</item> + <item name="listScrollbarWidth">@dimen/template_paged_list_scrollbar_width</item> + <item name="listShowScrollbarDivider">false</item> + </style> + + <!-- The style of a list of rows, card style. --> + <style name="Widget.Template.RowList.Card"> + <item name="listScrollbarWidth">@dimen/template_paged_list_scrollbar_width_card</item> + <item name="listNoScrollBarStartPadding">@dimen/template_row_list_no_scrollbar_start_padding_card</item> + <!-- Card widths are not adaptive. --> + <item name="listWidthFraction">-1.0</item> + <item name="listShowScrollbarDivider">true</item> + </style> + + <!-- The style of a grid, plain style. --> + <style name="Widget.Template.Grid"> + <item name="listWidthFraction">@dimen/template_adaptive_width_fraction</item> + <item name="listMaxWidth">@dimen/template_grid_max_width</item> + <item name="listScrollbarWidth">@dimen/template_paged_list_scrollbar_width</item> + <item name="listShowScrollbarDivider">false</item> + </style> + + <!-- The style of the title text in a grid item. --> + <style name="Widget.Template.Text.GridItemTitle"> + <item name="android:textAppearance">@style/TextAppearance.CarAppUi.GridItemTitle</item> + <item name="android:gravity">center</item> + </style> + + <!-- The style of the secondary text line below the title in a grid item. --> + <style name="Widget.Template.Text.GridItemText"> + <item name="android:textAppearance">@style/TextAppearance.CarAppUi.GridItemText</item> + <item name="android:gravity">center</item> + </style> + + <!-- The style of text that indicates a grid is empty --> + <style name="Widget.Template.GridEmpty" parent="Widget.CarAppUi.RowSecondary"> + <item name="android:maxLines">2</item> + <item name="android:gravity">center</item> + <!-- TODO(b/174717763): overriding body3's letter spacing since it seems to cause + centered text to be incorrectly cropped --> + <item name="android:letterSpacing">0</item> + </style> + + <style name="Widget.Template.Routing"/> + + <!-- The style of the text showing the title of the routing card when in + arrived state. --> + <style name="Widget.Template.Routing.MessagePrimary"> + <item name="android:textAppearance">@style/TextAppearance.Template.NavCardLargeText</item> + <item name="android:maxLines">2</item> + </style> + + <!-- The style of the text showing the destination address in the routing + card when in arrived state. --> + <style name="Widget.Template.Routing.MessageSecondary"> + <item name="android:textAppearance">@style/TextAppearance.Template.NavCardSmallText</item> + <item name="android:maxLines">2</item> + <item name="android:lineSpacingExtra">5sp</item> + </style> + + <style name="Widget.Template.Routing.Distance"> + <item name="android:textAppearance">@style/TextAppearance.Template.NavCardXLargeText</item> + </style> + + <style name="Widget.Template.Routing.Description"> + <item name="android:textAppearance">@style/TextAppearance.Template.NavCardMediumText</item> + <item name="android:maxLines">2</item> + </style> + + <style name="Widget.Template.Routing.CompactDescription"> + <item name="android:textAppearance">@style/TextAppearance.Template.NavCardSmallText</item> + <item name="android:maxLines">1</item> + </style> + + <style name="Widget.Template.Routing.TravelEstimate"> + <item name="android:textAppearance">@style/TextAppearance.Template.NavCardSmallText</item> + <item name="android:maxLines">1</item> + </style> + + <!-- Routing card textAppearance --> + <style name="TextAppearance.Template.NavCardSmallText" parent="TextAppearance.CarUi.Body3" /> + <style name="TextAppearance.Template.NavCardMediumText" parent="TextAppearance.CarUi.Body2" /> + <style name="TextAppearance.Template.NavCardLargeText" parent="TextAppearance.CarUi.Body1" > + <item name="android:textSize">?templateNavCardLargeTextSize</item> + </style> + <style name="TextAppearance.Template.NavCardXLargeText" parent="TextAppearance.CarUi.Body1"> + <item name="android:textSize">?templateNavCardXLargeTextSize</item> + </style> + + <!-- The style of the title text inside of the message template. --> + <style name="Widget.Template.Text.Message"> + <item name="android:textAppearance">@style/TextAppearance.CarAppUi.TextBlock</item> + <item name="android:maxLines">2</item> + <item name="android:gravity">center</item> + </style> + + <!-- The style of the title text inside of the long message template. --> + <style name="Widget.Template.Text.LongMessage"> + <item name="android:textAppearance">@style/TextAppearance.CarAppUi.TextBlock</item> + <item name="android:maxLines">2147483647</item> + </style> + + <!-- The style of text inside of a debug info inside of the message template. --> + <style name="Widget.Template.Debug" parent="Widget.Template.Text.Body3"> + <item name="android:maxLines">1024</item> + <item name="android:textColor">@color/template_message_debug_text_color</item> + <item name="android:fontFamily">monospace</item> + <item name="android:textSize">@dimen/template_message_debug_text_size</item> + <item name="android:lineHeight" tools:ignore="NewApi">@dimen/template_message_debug_text_line_height</item> + </style> + + <style name="Widget.Template.SignIn"/> + + <!-- The style of the container of sign-in content. --> + <style name="Widget.Template.SignIn.Container"> + <item name="android:gravity">?templatePlainContentGravity</item> + <item name="android:layout_gravity">?templatePlainContentLayoutGravity</item> + <item name="android:layout_marginHorizontal">?templatePlainContentHorizontalPadding</item> + </style> + + <!-- The style of the instruction text inside the sign-in template. --> + <style name="Widget.Template.SignIn.InstructionText"> + <item name="android:textAppearance">@style/TextAppearance.CarAppUi.SignInHeader</item> + <item name="android:maxLines">2</item> + <item name="android:gravity">center</item> + </style> + + <!-- The style of a provider sign-in button. --> + <style name="Widget.Template.SignIn.ProviderSignInbutton" parent="Widget.Template.ActionButton"> + <item name="textMaxEms">@integer/template_provider_sign_in_button_text_max_ems</item> + </style> + + <!-- The style of the PIN text inside the sign-in template. --> + <style name="Widget.Template.SignIn.PinText"> + <item name="android:textAppearance">@style/TextAppearance.CarAppUi.ReadOnlyText</item> + <item name="android:maxLines">1</item> + <item name="android:gravity">center</item> + <item name="android:letterSpacing">@dimen/template_sign_in_pin_text_letter_spacing</item> + </style> + + <!-- The style of the additional text inside the sign-in template. --> + <style name="Widget.Template.SignIn.AdditionalText"> + <item name="android:textAppearance">@style/TextAppearance.CarAppUi.SignInLegal</item> + <item name="android:maxLines">3</item> + <item name="android:gravity">center</item> + <item name="android:textColor">@color/template_sign_in_additional_text_color</item> + <item name="android:textColorLink">?templateHyperlinkTextColor</item> + <item name="android:linksClickable">true</item> + </style> + + <!-- The style of the error message inside the sign-in template. --> + <style name="Widget.Template.SignIn.ErrorMessage" parent="Widget.Template.Text.Body3"> + <item name="android:maxLines">1</item> + <item name="android:gravity">start</item> + <item name="android:textColor">@color/template_sign_in_error_message_color</item> + <item name="android:textSize">@dimen/template_sign_in_input_error_message_text_size</item> + <item name="android:layout_marginStart">?templateEditTextErrorHorizontalSpacing</item> + <item name="android:layout_marginTop">?templateEditTextErrorVerticalSpacing</item> + </style> + + <!-- The style of the text in an action button. --> + <style name="Widget.Template.Text.ActionButton"> + <item name="android:textAppearance">@style/TextAppearance.CarAppUi.ButtonText</item> + <item name="android:textColor">@color/car_app_ui_action_button_text_color</item> + </style> + + <!-- Standard styles for all template widgets. + + These styles can be referenced directly from widgets without using a + theme attribute. + + See go/watevra-visd. --> + <style name="TextAppearance.Template" parent="TextAppearance.Design"/> + + <!-- Styles for display text, meant for larger text like titles and such. --> + <style name="TextAppearance.Template.Display1" parent="TextAppearance.Design.Display1"/> + <style name="TextAppearance.Template.Display2" parent="TextAppearance.Design.Display2"/> + <style name="TextAppearance.Template.Display2.Medium" parent="TextAppearance.Design.Display2.Medium"/> + <style name="TextAppearance.Template.Display3" parent="TextAppearance.Design.Display3"/> + + <!-- Styles for body text, meant for smaller text like list row contents. --> + <style name="TextAppearance.Template.Body1" parent="TextAppearance.Design.Body1"/> + <style name="TextAppearance.Template.Body2" parent="TextAppearance.Design.Body2"/> + <style name="TextAppearance.Template.Body3" parent="TextAppearance.Design.Body3"/> + <style name="TextAppearance.Template.Body3.Medium" parent="TextAppearance.Design.Body3.Medium"/> + + <style name="Widget"/> + <style name="Widget.Template"/> + + <!-- Base style for text widgets. --> + <style name="Widget.Template.Text"> + <item name="android:maxLines">1</item> + <item name="android:ellipsize">end</item> + </style> + + <!-- Styles for text widgets. There's one per typographic style as declare in + the specification: + https://designguidelines.withgoogle.com/automotive-os-apps/visual-foundations/typography.html#typography-scale-grid-references + + Note certain paragraph-level attributes such as `lineHeight` can't be + folded into the `TextAppearance` hence why we need to declare these as + part of a style. --> + <style name="Widget.Template.Text.Display1"> + <item name="android:textAppearance">@style/TextAppearance.Template.Display1</item> + <item name="android:lineHeight" tools:ignore="NewApi">@dimen/default_display1_line_height</item> + <item name="android:letterSpacing">@dimen/default_display1_letter_spacing</item> + </style> + + <style name="Widget.Template.Text.Display2"> + <item name="android:textAppearance">@style/TextAppearance.Template.Display2</item> + <item name="android:lineHeight" tools:ignore="NewApi">@dimen/default_display2_line_height</item> + <item name="android:letterSpacing">@dimen/default_display2_letter_spacing</item> + </style> + + <style name="Widget.Template.Text.Display3"> + <item name="android:textAppearance">@style/TextAppearance.Template.Display3</item> + <item name="android:lineHeight" tools:ignore="NewApi">@dimen/default_display3_line_height</item> + <item name="android:letterSpacing">@dimen/default_display3_letter_spacing</item> + </style> + + <style name="Widget.Template.Text.Body1"> + <item name="android:textAppearance">@style/TextAppearance.Template.Body1</item> + <item name="android:lineHeight" tools:ignore="NewApi">@dimen/default_body1_line_height</item> + <item name="android:letterSpacing">@dimen/default_body1_letter_spacing</item> + </style> + + <style name="Widget.Template.Text.Body2"> + <item name="android:textAppearance">@style/TextAppearance.Template.Body2</item> + <item name="android:lineHeight" tools:ignore="NewApi">@dimen/default_body2_line_height</item> + <item name="android:letterSpacing">@dimen/default_body2_letter_spacing</item> + </style> + + <style name="Widget.Template.Text.Body3"> + <item name="android:textAppearance">@style/TextAppearance.Template.Body3</item> + <item name="android:lineHeight" tools:ignore="NewApi">@dimen/default_body3_line_height</item> + <item name="android:letterSpacing">@dimen/default_body3_letter_spacing</item> + </style> + + <style name="Widget.Template.Text.Body3.Medium"> + <item name="android:textAppearance">@style/TextAppearance.Template.Body3.Medium</item> + </style> +</resources> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/styles_default.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/styles_default.xml new file mode 100644 index 0000000..3595ae0 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/styles_default.xml @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<resources xmlns:tools="http://schemas.android.com/tools"> + + <!-- Typography spec: + https://designguidelines.withgoogle.com/automotive-os-apps/visual-foundations/typography.html#typography-scale-grid-references --> + <style name="TextAppearance.Design" parent="TextAppearance.CarUi"> + <item name="android:textStyle">normal</item> + <item name="android:textColor">@color/default_text_color</item> + </style> + + <style name="TextAppearance.Design.Body1" parent="TextAppearance.CarUi.Body1"/> + + <style name="TextAppearance.Design.Body2" parent="TextAppearance.CarUi.Body2"/> + + <style name="TextAppearance.Design.Body3" parent="TextAppearance.CarUi.Body3"/> + + <style name="TextAppearance.Design.Body3.Medium" parent="TextAppearance.Design.Body3"> + <item name="android:fontFamily">sans-serif-medium</item> + </style> + + <style name="TextAppearance.Design.Display1" parent="TextAppearance.CarUi.Body1"> + <item name="android:textSize">@dimen/default_display1_text_size</item> + </style> + + <style name="TextAppearance.Design.Display2" parent="TextAppearance.CarUi.Body1"> + <item name="android:textSize">@dimen/default_display2_text_size</item> + </style> + + <style name="TextAppearance.Design.Display2.Medium" parent="TextAppearance.Design.Display2"> + <item name="android:fontFamily">sans-serif-medium</item> + </style> + + <style name="TextAppearance.Design.Display3" parent="TextAppearance.CarUi.Body1"> + <item name="android:textSize">@dimen/default_display3_text_size</item> + </style> + +</resources> diff --git a/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/themes.xml b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/themes.xml new file mode 100644 index 0000000..16ae280 --- /dev/null +++ b/Host/app/renderer/src/main/java/com/android/car/libraries/templates/host/view/res/values/themes.xml @@ -0,0 +1,344 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + Copyright (C) 2021 The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + https://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +<resources> + <!-- The template app theme. + + <p>This theme must be set on the root template view which is the parent of all the + template layouts and their child views. + + <p>Styles used by this theme are named using the convention Type.Template.Etc + (for example {@code TextAppearance.Template.RowTitle}).--> + + <style name="Theme.Template" parent="Theme.CarUi"> + + <!-- Common. --> + <item name="templateAdaptiveWidthFraction">@dimen/template_adaptive_width_fraction</item> + <!-- Margin between buttons placed side by side. --> + <item name="templateControlToControlSpacingHorizontal">@dimen/car_app_ui_control_to_control_spacing_horizontal</item> + <!-- Button height. --> + <item name="templateButtonHeight">@dimen/car_app_ui_button_height</item> + <!-- Corner radius used across the UI except for the buttons. --> + <item name="templateCornerRadius">@dimen/car_app_ui_corner_radius</item> + <!-- Corner radius used for the buttons. --> + <item name="templateButtonCornerRadius">@dimen/car_app_ui_button_corner_radius</item> + + <!-- Standard colors. --> + <item name="templateStandardBlue">@color/car_app_ui_standard_blue</item> + <item name="templateStandardRed">@color/car_app_ui_standard_red</item> + <item name="templateStandardGreen">@color/car_app_ui_standard_green</item> + <item name="templateStandardYellow">@color/car_app_ui_standard_yellow</item> + + <!-- Images. --> + <item name="templateLargeImageSize">@dimen/template_large_image_size</item> + <item name="templateLargeImageSizeMin">@dimen/template_large_image_size_min</item> + <item name="templateLargeImageSizeMax">@dimen/template_large_image_size_max</item> + + <!-- Sign In Template. --> + <item name="templateSignInContainerStyle">@style/Widget.Template.SignIn.Container</item> + <item name="templateSignInMethodViewMaxWidth">@dimen/template_sign_in_method_view_max_width</item> + <item name="templateSignInInstructionTextStyle">@style/Widget.Template.SignIn.InstructionText</item> + <item name="templateSignInProviderSignInButtonStyle">@style/Widget.Template.SignIn.ProviderSignInbutton</item> + <item name="templateSignInPinTextStyle">@style/Widget.Template.SignIn.PinText</item> + <item name="templateSignInPinBackgroundColor">@color/template_read_only_text_background_color</item> + <item name="templateSignInPinCornerRadius">?templateCornerRadius</item> + <item name="templateSignInPinBackground">@drawable/pin_sign_in_view_background</item> + <item name="templateSignInPinPadding">@dimen/template_read_only_text_padding</item> + <item name="templateSignInQRCodeImageWidth">@dimen/template_sign_in_qr_code_image_width</item> + <item name="templateSignInAdditionalTextStyle">@style/Widget.Template.SignIn.AdditionalText</item> + <item name="templateSignInErrorMessageStyle">@style/Widget.Template.SignIn.ErrorMessage</item> + <item name="templateSignInInputViewStyle">@style/Widget.CarAppUi.InputView</item> + + <!-- Hyperlink Text --> + <item name="templateHyperlinkTextColor">@color/car_app_ui_hyperlink_text_color</item> + + <!-- Map markers. --> + <item name="templateMapMarkerAppearance">@style/MarkerAppearance.Template.Map</item> + <item name="templateListMarkerAppearance">@style/MarkerAppearance.Template.List</item> + + <!-- Loading spinners. --> + <item name="templateLoadingSpinnerStyle">@style/Widget.Template.Spinner</item> + <item name="templateLoadingSpinnerColor">@color/template_loading_spinner_color</item> + + <!-- Plain content containers. --> + <item name="templatePlainContentContainerStyle">@style/Widget.Template.Container.Plain</item> + <item name="templatePlainContentContainerWidth">@dimen/template_plain_content_container_width</item> + <item name="templatePlainContentLayoutGravity">@integer/template_plain_content_layout_gravity</item> + <item name="templatePlainContentGravity">@integer/template_plain_content_gravity</item> + <item name="templatePlainContentHorizontalPadding">@dimen/template_plain_content_horizontal_padding</item> + <item name="templatePlainContentBackgroundColor">@color/template_plain_content_background_color</item> + + <!-- Card content containers. --> + <item name="templateCardContentContainerStyle">@style/Widget.Template.Container.Card.Content</item> + <item name="templateCardRoutingContentContainerStyle">@style/Widget.Template.Container.Card.Content.Routing</item> + <item name="templateCardContentContainerDefaultWidth">@dimen/template_card_content_container_default_width</item> + <item name="templateCardContentContainerStartMargin">@dimen/template_card_content_container_start_margin</item> + <item name="templateCardContentContainerTopMargin">@dimen/template_card_content_container_top_margin</item> + <item name="templateCardContentContainerBottomMargin">@dimen/template_card_content_container_bottom_margin</item> + <item name="templateCardContentContainerMinHeight">@dimen/template_card_content_container_min_height</item> + + <!-- Content headers. --> + <item name="templateHeaderHeight">@dimen/template_header_height</item> + <item name="templateHeaderTextVerticalSpacing">@dimen/template_header_text_vertical_spacing</item> + <item name="templateHeaderTextStartSpacing">@dimen/template_header_text_horizontal_spacing</item> + <item name="templateHeaderTextEndSpacing">@dimen/template_header_text_horizontal_spacing</item> + <item name="templateHeaderTextStyle">@style/TextAppearance.CarAppUi.CardHeader</item> + <item name="templateHeaderTextNoIconStartSpacing">@dimen/template_header_text_no_icon_start_spacing</item> + <item name="templateHeaderButtonIconSize">@dimen/template_header_button_icon_size</item> + <item name="templateHeaderButtonIconTint">@color/template_icon_tint_color</item> + <item name="templateHeaderButtonContainerSize">@dimen/template_button_touch_target_size</item> + <item name="templateHeaderButtonStartSpacing">@dimen/template_header_button_start_spacing</item> + <item name="templateHeaderButtonBackground">@drawable/template_header_button_background</item> + <item name="templateHeaderBackgroundColor">@color/template_container_background</item> + + <!-- Dividers. --> + <item name="templateDividerThickness">@dimen/template_divider_thickness</item> + <item name="templateDividerColor">@color/default_gradient_white_24</item> + + <!-- Rows. --> + <item name="templateRippleColor">@color/template_ripple_color</item> + <item name="templateRippleSelectorColor">@color/template_ripple_selector_color</item> + <item name="templateRowBackgroundColor">@color/car_app_ui_row_background_color</item> + <item name="templateRowSelectedBackgroundColor">@color/default_gray_878</item> + <item name="templateRowImagePlaceholderColor">@color/default_gray_928</item> + <item name="templateRowBackgroundSimple">@drawable/row_background_simple</item> + <item name="templateRowBackgroundSectionalMiddle">@drawable/row_background_sectional_middle</item> + <item name="templateRowBackgroundSectionalTop">@drawable/row_background_sectional_top</item> + <item name="templateRowBackgroundSectionalBottom">@drawable/row_background_sectional_bottom</item> + <item name="templateRowBackgroundSectionalTopBottom">@drawable/row_background_sectional_top_bottom</item> + <item name="templateRowBackgroundSectionalBottomMargin">@dimen/template_row_background_sectional_bottom_margin</item> + <item name="templateRowImagePlaceholder">@drawable/row_image_placeholder</item> + <item name="templateRowMinHeight">@dimen/template_row_min_height</item> + <item name="templateRowIconSize">@dimen/template_row_icon_size</item> + <item name="templateRowImageSizeSmall">@dimen/template_row_image_size_small</item> + <item name="templateRowImageSizeLarge">@dimen/template_row_image_size_large</item> + <item name="templateRowMarkerMinSize">@dimen/template_row_marker_min_size</item> + <item name="templateRowMarkerLabelMargin">@dimen/template_row_marker_label_margin</item> + <item name="templateRowDefaultIconTint">@color/template_icon_tint_color</item> + <item name="templateRowHorizontalPadding">@dimen/template_row_horizontal_padding</item> + <item name="templateRowHorizontalHalfPadding">@dimen/template_row_horizontal_half_padding</item> + <item name="templateRowTextHorizontalPadding">@dimen/template_row_text_horizontal_padding</item> + <item name="templateRowTextHorizontalHalfPadding">@dimen/template_row_text_horizontal_half_padding</item> + <item name="templateHalfListBottomPadding">@dimen/template_half_list_bottom_padding</item> + <item name="templateHalfListPaddingVertical">@dimen/template_half_row_padding_vertical</item> + + <!-- Half rows. --> + <item name="templateHalfRowMinHeight">@dimen/car_app_ui_half_row_min_height</item> + <item name="templateHalfRowHorizontalPadding">@dimen/template_half_row_horizontal_padding</item> + <item name="templateHalfRowVerticalPadding">@dimen/template_half_row_vertical_padding</item> + <item name="templateHalfRowImageToTextSpacing">@dimen/template_half_row_image_to_text_margin</item> + <item name="templateHalfRowTextToTextSpacing">@dimen/template_half_row_text_to_text_margin</item> + <item name="templateHalfRowImageSize">@dimen/template_half_row_image_size</item> + + <!-- Full rows. --> + <item name="templateFullRowStartPadding">@dimen/template_full_row_start_padding</item> + <item name="templateFullRowEndPadding">@dimen/template_full_row_end_padding</item> + <item name="templateFullRowChevronIcon">@drawable/car_ui_preference_icon_chevron</item> + <item name="templateHalfRowChevronIcon">@drawable/car_ui_preference_icon_chevron</item> + <item name="templateFullRowChevronHeight">@dimen/template_full_row_chevron_size</item> + <item name="templateFullRowChevronWidth">@dimen/template_full_row_chevron_size</item> + + <!-- Note, these containers are sized to match the height of the title of the row + so that they appear vertically aligned at the center when both are top aligned. --> + <item name="templateRowSelectionContainerHeight">@dimen/default_body2_line_height</item> + + <!-- Text styles for list elements. --> + <item name="templateRowTitleStyle">@style/Widget.CarAppUi.RowTitle</item> + <item name="templateRowSecondaryTextStyle">@style/Widget.CarAppUi.RowSecondary</item> + <item name="templateRowSectionHeaderStyle">@style/Widget.CarAppUi.RowSectionHeader</item> + <item name="templateRowListEmptyTextStyle">@style/Widget.CarAppUi.RowListEmpty</item> + + <!-- The image dimensions (for PaneTemplate) in the row list template. --> + <item name="templateRowListToLargeImageRatio">@dimen/template_row_list_to_large_image_ratio</item> + <item name="templateRowListLargeImageContainerMaxWidth">@dimen/template_row_list_large_image_container_max_width</item> + <item name="templateRowListLargeImageAspectRatio">@dimen/template_row_list_large_image_aspect_ratio</item> + + <!-- Padding between the (PaneTemplate) image and row list --> + <item name="templateRowListAndImagePadding">@dimen/default_width_keyline_1</item> + + <!-- Grids. --> + <item name="templateGridStyle">@style/Widget.Template.Grid</item> + + <!-- Grid items. --> + <item name="templateGridItemImageBottomPadding">@dimen/template_grid_item_image_bottom_padding</item> + <item name="templateGridItemDefaultIconTint">@color/template_icon_tint_color</item> + <item name="templateGridItemTextContainerMaxWidth">@dimen/template_grid_item_text_container_max_width</item> + <item name="templateGridItemTextBottomPadding">@dimen/template_grid_item_text_bottom_padding</item> + <item name="templateGridItemHorizontalSpacing">@dimen/template_grid_item_horizontal_spacing</item> + <item name="templateGridItemVerticalSpacing">@dimen/template_grid_item_vertical_spacing</item> + <item name="templateGridItemsPerRow">@integer/template_grid_items_per_row</item> + <item name="templateGridEmptyTextStyle">@style/Widget.Template.GridEmpty</item> + <item name="templateGridItemBackground">@drawable/template_grid_item_background</item> + <item name="templateGridItemBackgroundColor">@color/car_app_ui_grid_item_background_color</item> + + <!-- Text styles for grid items. --> + <item name="templateGridItemTitleStyle">@style/Widget.Template.Text.GridItemTitle</item> + <item name="templateGridItemTextStyle">@style/Widget.Template.Text.GridItemText</item> + + <!-- Action buttons and FABs. --> + <item name="templateActionButtonMargin">?templateControlToControlSpacingHorizontal</item> + <item name="templateActionButtonStyle">@style/Widget.Template.ActionButton</item> + <item name="templateActionButtonTextStyle">@style/Widget.Template.Text.ActionButton</item> + <item name="templateActionButtonForeground">@drawable/action_button_focus_ring</item> + <item name="templateActionButtonDefaultBackgroundColor">@color/car_app_ui_action_button_default_background_color</item> + <item name="templateActionButtonPrimaryBackgroundColor">@color/car_app_ui_action_button_primary_background_color</item> + <item name="templateActionButtonBackground">@drawable/car_app_ui_action_button_background</item> + <item name="templateActionButtonHeight">?templateButtonHeight</item> + <item name="templateActionButtonTouchTargetSize">@dimen/template_button_touch_target_size</item> + <item name="templateActionButtonListButtonStretchHorizontal">@bool/car_app_ui_action_button_list_button_stretch_horizontal</item> + <item name="templateActionButtonListGravity">@integer/car_app_ui_action_button_list_gravity</item> + <item name="templateActionButtonListButtonContentAlignment">@integer/car_app_ui_action_button_list_button_content_alignment</item> + <item name="templateActionButtonListButtonMaxWidth">@dimen/car_app_ui_action_button_list_button_max_width</item> + <item name="templateActionButtonSideAlignmentSpacing">@dimen/car_app_ui_button_side_alignment_spacing</item> + <item name="templateActionButtonListRowVerticalSpacing">@dimen/template_action_button_list_row_vertical_spacing</item> + <item name="templateActionIconSize">@dimen/template_action_icon_size</item> + <item name="templateActionIconSizeMin">@dimen/template_action_icon_size_min</item> + <item name="templateActionIconSizeMax">@dimen/template_action_icon_size_max</item> + <item name="templateActionIconTextStartSpacing">@dimen/template_action_icon_text_start_spacing</item> + <item name="templateActionIconTextEndSpacing">@dimen/template_action_icon_text_end_spacing</item> + <item name="templateActionIconToTextSpacing">@dimen/template_action_icon_to_text_spacing</item> + <item name="templateActionTextHorizontalSpacing">@dimen/template_action_text_horizontal_spacing</item> + <item name="templateActionWithTextMinWidth">@dimen/template_action_with_text_min_width</item> + <item name="templateActionButtonUseOemColors">@bool/car_app_ui_is_action_color_overridden</item> + <item name="templateActionButtonPrimaryHorizontalOrder">@integer/car_app_ui_action_button_primary_horizontal_order</item> + <!-- Min width common to buttons and FABs. It is the same as the height of + the action button so that the button appears with 1:1 aspect ratio when it has just + an icon inside. --> + <item name="templateActionWithoutTextMinWidth">?templateButtonHeight</item> + <item name="templateActionDefaultIconTint">@color/template_white</item> + <item name="templateActionButtonTextMaxEmsNoIcon">@integer/template_action_button_text_max_ems_no_icon</item> + <item name="templateActionButtonTextMaxEmsWithIcon">@integer/template_action_button_text_max_ems_with_icon</item> + <item name="templateFabTextMaxEmsNoIcon">@integer/template_fab_text_max_ems_no_icon</item> + <item name="templateFabTextMaxEmsWithIcon">@integer/template_fab_text_max_ems_with_icon</item> + <item name="templateActionButtonSecondaryBorderWidth">@dimen/template_action_button_secondary_border_width</item> + <item name="templateActionButtonSecondaryBorderColor">@color/template_white_46</item> + <item name="templateActionStripButtonMargin">?templateControlToControlSpacingHorizontal</item> + <item name="templateActionStripPadding">@dimen/template_action_strip_padding</item> + + <item name="templateActionStripButtonBackgroundColor">@color/template_black</item> + <item name="templateActionStripFabAppearance">@style/FabAppearance.Template.Fab</item> + <item name="templateActionStripFullTemplateFabAppearance">@style/FabAppearance.Template.FullTemplate</item> + + <!-- FAB background color. + They point to the same resource, which is set to a different value between light and dark modes. --> + <item name="templateActionStripFabBackgroundColorLight">@color/template_action_strip_fab_background_color</item> + <item name="templateActionStripFabBackgroundColorDark">@color/template_action_strip_fab_background_color</item> + + <!-- Toggles and radio buttons. --> + <item name="templateToggleWidth">@dimen/template_toggle_width</item> + <item name="templateToggleHeight">@dimen/template_toggle_height</item> + <item name="templateToggleInactiveTrackColor">@color/template_toggle_inactive_track</item> + <item name="templateToggleInactiveThumbColor">@color/template_toggle_inactive_thumb</item> + <item name="templateToggleActiveTrackColor">@color/template_toggle_active_track</item> + <item name="templateToggleActiveThumbColor">@color/template_toggle_active_thumb</item> + <item name="templateRadioButtonSize">@dimen/template_radio_button_size</item> + + <!-- Clickable spans. --> + <item name="templateClickableSpanHighlightForegroundColor">@color/template_black</item> + <item name="templateClickableSpanHighlightBackgroundColor">@color/template_focus_ring_color_selector</item> + + <!-- Full screen message --> + <item name="templateMessageDefaultIconTint">@color/template_white</item> + <item name="templateMessageTitleTextStyle">@style/Widget.Template.Text.Message</item> + <item name="templateMessageTitleTopSpacing">@dimen/template_message_title_top_spacing</item> + <item name="templateMessageButtonsTopSpacing">@dimen/template_message_buttons_top_spacing</item> + <item name="templateStickyButtonsVerticalSpacing">@dimen/template_sticky_buttons_vertical_spacing</item> + + <item name="templateMessageLongTextStyle">@style/Widget.Template.Text.LongMessage</item> + <item name="templateMessageDebugTextStyle">@style/Widget.Template.Debug</item> + <item name="templateDebugMessageBackgroundColor">@color/template_gray_900</item> + + <!-- Focus. --> + <item name="templateFocusAccentColor">@color/template_focus_ring_color_selector</item> + <item name="templateFocusNoContentAccentColor">@color/default_focus_no_content</item> + <item name="templateFocusRingColor">@color/default_focus_blue</item> + <item name="templateFocusRingNoAccentColor">@color/default_focus_no_content</item> + + <!-- EditText. --> + <item name="templateEditTextStyle">@style/Widget.CarAppUi.EditText</item> + <item name="templateEditTextActiveColor">@color/template_edit_text_active_color</item> + <item name="templateEditTextEnabledColor">@color/template_edit_text_enabled_color</item> + <item name="templateEditTextErrorColor">@color/template_edit_text_error_color</item> + <item name="templateEditTextDisabledColor">@color/template_edit_text_disabled_color</item> + <item name="templateEditTextErrorVerticalSpacing">@dimen/car_app_ui_edit_text_error_vertical_spacing</item> + <item name="templateEditTextErrorHorizontalSpacing">@dimen/car_app_ui_edit_text_error_horizontal_spacing</item> + + <!-- Search bar. --> + <item name="templateSearchBarMaxWidth">@dimen/template_search_bar_max_width</item> + <item name="templateSearchBarIcon">@drawable/search_bar_icon</item> + + <!-- Routing --> + <item name="templateRoutingStepsCardIconToDistanceSpacingHorizontal">@dimen/template_steps_card_image_to_text_spacing_horizontal</item> + <item name="templateRoutingImageSpanRatio">@dimen/template_routing_image_span_ratio</item> + <item name="templateRoutingImageSpanBody2MaxHeight">@dimen/template_routing_image_span_body2_max_height</item> + <item name="templateRoutingImageSpanBody3MaxHeight">@dimen/template_routing_image_span_body3_max_height</item> + <item name="templateNavCardLargeTextSize" format="dimension">@dimen/car_app_ui_nav_card_large_text_size</item> + <item name="templateNavCardXLargeTextSize" format="dimension">@dimen/car_app_ui_nav_card_xlarge_text_size</item> + <item name="templateNavCardLargeImageSize" format="dimension">@dimen/template_nav_card_large_image_size</item> + <item name="templateNavCardLargeImageSizeMin" format="dimension">@dimen/template_nav_card_large_image_size_min</item> + <item name="templateNavCardLargeImageSizeMax" format="dimension">@dimen/template_nav_card_large_image_size_max</item> + <item name="templateNavCardSmallImageSize" format="dimension">@dimen/template_nav_card_small_image_size</item> + <item name="templateNavCardSmallImageSizeMin" format="dimension">@dimen/template_nav_card_small_image_size_min</item> + <item name="templateNavCardSmallImageSizeMax" format="dimension">@dimen/template_nav_card_small_image_size_max</item> + <item name="templateNavCardFallbackContentColor">@color/default_white</item> + <item name="templateRoutingDistanceStyle">@style/Widget.Template.Routing.Distance</item> + <item name="templateRoutingDescriptionStyle">@style/Widget.Template.Routing.Description</item> + <item name="templateRoutingCompactDescriptionStyle">@style/Widget.Template.Routing.CompactDescription</item> + <item name="templateRoutingTravelEstimateStyle">@style/Widget.Template.Routing.TravelEstimate</item> + <item name="templateRoutingLanesImageContainerHeight">@dimen/template_routing_lanes_image_container_height</item> + <item name="templateRoutingLanesImageContainerVerticalPadding">@dimen/template_padding_0</item> + <item name="templateRoutingLanesImageContainerHorizontalPadding">@dimen/template_padding_2</item> + <item name="templateRoutingLanesImageBackgroundColor">@color/template_white_16</item> + <item name="templateRoutingJunctionImageBackgroundColor">@color/template_white_16</item> + <item name="templateRoutingMessagePrimaryStyle">@style/Widget.Template.Routing.MessagePrimary</item> + <item name="templateRoutingMessageSecondaryStyle">@style/Widget.Template.Routing.MessageSecondary</item> + <item name="templateRoutingMessageInnerPaddingHorizontal">@dimen/template_padding_3</item> + <item name="templateRoutingMessageInnerPaddingVertical">@dimen/template_padding_1</item> + <item name="templateNavCardPaddingHorizontal">@dimen/template_nav_card_padding_horizontal</item> + <item name="templateNavCardPaddingVertical">@dimen/template_nav_card_padding_vertical</item> + <item name="templateNavCardSmallPaddingVertical">@dimen/template_nav_card_small_padding_vertical</item> + <item name="templateRoutingStepsCardContentContainerMinWidth">@dimen/template_steps_card_content_container_min_width</item> + <item name="templateRoutingStepsCardContentContainerMinHeight">@dimen/template_steps_card_content_container_min_height</item> + <item name="templateRoutingDividerColor">@color/template_white_16</item> + + <!-- Status bar gradient background start and end colors. --> + <item name="templateStatusBarStartColor">@android:color/transparent</item> + <item name="templateStatusBarEndColor">@color/template_status_bar_end_color</item> + <item name="templateStatusBarMinimumTopPadding">@dimen/template_status_bar_minimum_top_padding</item> + + <!-- No content view. --> + <item name="templateNoContentFocusCornerRadius">@dimen/template_no_content_view_focus_corner_radius</item> + + <!-- Animation. --> + <item name="templateUpdateAnimationDurationMilliseconds">@integer/template_update_animation_duration_millis</item> + + <!-- This is necessary so that the floating elements such as the action + strip don't get their shadows clipped. --> + <item name="android:clipChildren">false</item> + <item name="android:clipToPadding">false</item> + + <!-- The max number of rows in a list view. --> + <item name="templateListMaxLength">@integer/car_app_ui_list_max_length</item> + + <!-- The max number of grid items in a grid view. --> + <item name="templateGridMaxLength">@integer/car_app_ui_grid_max_length</item> + + <item name="templateSendNavStateToSystem">@bool/send_navstates_to_system</item> + + </style> + +</resources> |