Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 75cec37e authored by Josh Tsuji's avatar Josh Tsuji
Browse files

Redesigns the volume panel, take 2!

Now that ag/13665338 is in, we shouldn't see crashes related to the AlphaTintDrawableWrapper anymore, so we can try this again.

This is nearly identical to ag/13535305, with two changes:
1) we pass the Theme to getDrawable() so we don't see warnings in logcat about undefined theme attributes
2) we use a placeholder drawable in the XML drawables instead of @android:color/transparent, which caused issues with the first tint not being applied

Bug: 171441100
Test: atest SystemUITests
Test: manual
Change-Id: I91c6e6430bb15e4f921aa0bd45f505c26db5aca4
parent b717397d
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2021 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0"
    android:tint="?android:attr/colorBackgroundFloating" >

    <path
        android:pathData="M6 10c-1.1 0-2 0.9-2 2s0.9 2 2 2 2-0.9 2-2-0.9-2-2-2zm12 0c-1.1 0-2 0.9-2 2s0.9 2 2 2 2-0.9 2-2-0.9-2-2-2zm-6 0c-1.1 0-2 0.9-2 2s0.9 2 2 2 2-0.9 2-2-0.9-2-2-2z"
        android:fillColor="@android:color/white" />
</vector>
 No newline at end of file
+22 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2021 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:paddingMode="stack" >
    <size android:width="@dimen/volume_ringer_drawer_item_size" />
    <solid android:color="?android:attr/colorBackgroundFloating" />
    <corners android:radius="@dimen/volume_ringer_drawer_item_size_half" />
</shape>
 No newline at end of file
+24 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2021 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
            android:paddingMode="stack" >
    <size
        android:height="@dimen/volume_ringer_drawer_item_size"
        android:width="@dimen/volume_ringer_drawer_item_size" />
    <solid android:color="?android:attr/colorAccent" />
    <corners android:radius="@dimen/volume_ringer_drawer_item_size_half" />
</shape>
 No newline at end of file
+56 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2021 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<!-- SeekBar drawable for volume rows. This contains a background layer (with a solid round rect,
     and a bottom-aligned icon) and a progress layer (with an accent-colored round rect and icon)
     that moves up and down with the progress value. -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
            android:paddingMode="stack" >
    <item android:id="@android:id/background"
        android:gravity="center_vertical|fill_horizontal">
        <layer-list>
            <item android:id="@+id/volume_seekbar_background_solid">
                <shape>
                    <size android:height="@dimen/volume_dialog_panel_width" />
                    <solid android:color="?android:attr/colorBackgroundFloating" />
                    <corners android:radius="@dimen/volume_dialog_panel_width_half" />
                </shape>
            </item>
            <item
                android:id="@+id/volume_seekbar_background_icon"
                android:gravity="center_vertical|left"
                android:height="@dimen/rounded_slider_icon_size"
                android:width="@dimen/rounded_slider_icon_size"
                android:left="@dimen/rounded_slider_icon_inset">
                <rotate
                    android:fromDegrees="-270"
                    android:toDegrees="-270">
                    <!-- A placeholder drawable is required here - it'll be replaced in code. -->
                    <com.android.systemui.util.AlphaTintDrawableWrapper
                        android:drawable="@drawable/ic_volume_media"
                        android:tint="?android:attr/colorAccent" />
                </rotate>
            </item>
        </layer-list>
    </item>
    <item android:id="@android:id/progress"
          android:gravity="center_vertical|fill_horizontal">
            <com.android.systemui.util.RoundedCornerProgressDrawable
                android:drawable="@drawable/volume_row_seekbar_progress"
            />
    </item>
</layer-list>
 No newline at end of file
+44 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2021 The Android Open Source Project
  ~
  ~ Licensed under the Apache License, Version 2.0 (the "License");
  ~ you may not use this file except in compliance with the License.
  ~ You may obtain a copy of the License at
  ~
  ~      http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<!-- Progress drawable for volume row SeekBars. This is the accent-colored round rect that moves up
     and down as the progress value changes. -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:autoMirrored="true">
    <item android:id="@+id/volume_seekbar_progress_solid">
        <shape>
            <size android:height="@dimen/volume_dialog_panel_width" />
            <solid android:color="?android:attr/colorAccent" />
            <corners android:radius="@dimen/volume_dialog_panel_width_half"/>
        </shape>
    </item>
    <item
        android:id="@+id/volume_seekbar_progress_icon"
        android:gravity="center_vertical|right"
        android:height="@dimen/rounded_slider_icon_size"
        android:width="@dimen/rounded_slider_icon_size"
        android:right="@dimen/rounded_slider_icon_inset">
        <rotate
            android:fromDegrees="-270"
            android:toDegrees="-270">
            <!-- A placeholder drawable is required here - it'll be replaced in code. -->
            <com.android.systemui.util.AlphaTintDrawableWrapper
                android:drawable="@drawable/ic_volume_media"
                android:tint="?android:attr/colorBackgroundFloating" />
        </rotate>
    </item>
</layer-list>
 No newline at end of file
Loading