summaryrefslogtreecommitdiff
path: root/packages/CarSystemUI
diff options
context:
space:
mode:
authorDanny Epstein <depstein@google.com>2020-12-02 18:30:32 -0800
committerDanny Epstein <depstein@google.com>2020-12-03 16:35:13 -0800
commit9242e6ee6a029a01635eb482b719dcd4d99fa157 (patch)
tree16b5f3e5d415fb4d5e74ad2b2bacecd769290d48 /packages/CarSystemUI
parent571568a861707e98ab76e4f44ca4648f0df40f71 (diff)
DO NOT MERGE Use round highlight for navigation buttons
Make the focus highlight and touch ripple for buttons in the navigation bar be round rather than square. Also fix a bug in the dimming logic. The alpha was applied to the icon initially, but when the state changed, the alpha was applied to the entire button. Launcher in master is quite different so it this change is limited to rvc-qpr-dev for now. Test: manual Bug: 174614908 Bug: 168317872 Change-Id: I9b80946887ad85a73ddd281f7afcc9fcc8280a64
Diffstat (limited to 'packages/CarSystemUI')
-rw-r--r--packages/CarSystemUI/res/drawable/navigation_bar_button_bg.xml34
-rw-r--r--packages/CarSystemUI/res/values/styles.xml2
-rw-r--r--packages/CarSystemUI/src/com/android/systemui/car/navigationbar/CarNavigationButton.java3
3 files changed, 37 insertions, 2 deletions
diff --git a/packages/CarSystemUI/res/drawable/navigation_bar_button_bg.xml b/packages/CarSystemUI/res/drawable/navigation_bar_button_bg.xml
new file mode 100644
index 000000000000..848c7fa95737
--- /dev/null
+++ b/packages/CarSystemUI/res/drawable/navigation_bar_button_bg.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ~ Copyright (C) 2020 The Android Open Source Project
+ ~
+ ~ Licensed under the Apache License, Version 2.0 (the "License");
+ ~ you may not use this file except in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing, software
+ ~ distributed under the License is distributed on an "AS IS" BASIS,
+ ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ ~ See the License for the specific language governing permissions and
+ ~ limitations under the License.
+ -->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+ <item android:state_focused="true">
+ <shape android:shape="oval">
+ <solid android:color="@color/car_ui_rotary_focus_fill_color"/>
+ <stroke android:width="@dimen/car_ui_rotary_focus_stroke_width"
+ android:color="@color/car_ui_rotary_focus_stroke_color"/>
+ </shape>
+ </item>
+ <item>
+ <ripple android:color="@color/car_ui_ripple_color">
+ <item android:id="@android:id/mask">
+ <shape android:shape="oval">
+ <solid android:color="@android:color/white"/>
+ </shape>
+ </item>
+ </ripple>
+ </item>
+</selector>
diff --git a/packages/CarSystemUI/res/values/styles.xml b/packages/CarSystemUI/res/values/styles.xml
index e76373d4a4f7..648dc16626c7 100644
--- a/packages/CarSystemUI/res/values/styles.xml
+++ b/packages/CarSystemUI/res/values/styles.xml
@@ -40,6 +40,6 @@
<style name="NavigationBarButton">
<item name="android:layout_height">96dp</item>
<item name="android:layout_width">96dp</item>
- <item name="android:background">?android:attr/selectableItemBackground</item>
+ <item name="android:background">@drawable/navigation_bar_button_bg</item>
</style>
</resources> \ No newline at end of file
diff --git a/packages/CarSystemUI/src/com/android/systemui/car/navigationbar/CarNavigationButton.java b/packages/CarSystemUI/src/com/android/systemui/car/navigationbar/CarNavigationButton.java
index e7e33a5439f9..ddd261a4c018 100644
--- a/packages/CarSystemUI/src/com/android/systemui/car/navigationbar/CarNavigationButton.java
+++ b/packages/CarSystemUI/src/com/android/systemui/car/navigationbar/CarNavigationButton.java
@@ -99,7 +99,8 @@ public class CarNavigationButton extends LinearLayout {
if (mHighlightWhenSelected) {
// Always apply selected alpha if the button does not toggle alpha based on selection
// state.
- setAlpha(!mHighlightWhenSelected || mSelected ? mSelectedAlpha : mUnselectedAlpha);
+ mIcon.setAlpha(
+ !mHighlightWhenSelected || mSelected ? mSelectedAlpha : mUnselectedAlpha);
}
if (mShowMoreWhenSelected && mMoreIcon != null) {
mMoreIcon.setVisibility(selected ? VISIBLE : GONE);