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

Commit 018d972e authored by Anton Potapov's avatar Anton Potapov
Browse files

Make substitutable top and bottom section, so that we can use customize

them on the TV platform.

Flag: com.android.systemui.volume_redesign
Bug: 369993959
Test: manual on the tablet. Open Volume Dialog and make sure it's the
same as before this refactor

Change-Id: I11a9926e91e254f586f1019587e6950cf3fa09f9
parent 157826ef
Loading
Loading
Loading
Loading
+21 −17
Original line number Diff line number Diff line
@@ -14,7 +14,6 @@
     limitations under the License.
-->
<androidx.constraintlayout.motion.widget.MotionLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/volume_dialog_root"
    android:layout_width="match_parent"
@@ -30,42 +29,47 @@
        android:layout_marginTop="@dimen/volume_dialog_background_top_margin"
        android:layout_marginBottom="@dimen/volume_dialog_background_vertical_margin"
        android:background="@drawable/volume_dialog_background"
        app:layout_constraintBottom_toBottomOf="@id/volume_dialog_settings"
        app:layout_constraintBottom_toBottomOf="@id/volume_dialog_bottom_section_container"
        app:layout_constraintEnd_toEndOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintStart_toStartOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintTop_toTopOf="@id/volume_dialog_main_slider_container" />

    <include
        android:id="@id/volume_ringer_drawer"
        layout="@layout/volume_ringer_drawer"
    <FrameLayout
        android:id="@+id/volume_dialog_top_section_container"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginEnd="@dimen/volume_dialog_ringer_drawer_diff_end_margin"
        android:layout_marginBottom="@dimen/volume_dialog_components_spacing"
        android:clipChildren="false"
        app:layout_constraintBottom_toTopOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintEnd_toEndOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintHeight_default="spread"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintWidth_default="spread">

        <include layout="@layout/volume_dialog_top_section" />
    </FrameLayout>

    <include
        android:id="@+id/volume_dialog_main_slider_container"
        layout="@layout/volume_dialog_slider" />

    <ImageButton
        android:id="@+id/volume_dialog_settings"
        android:layout_width="@dimen/volume_dialog_button_size"
        android:layout_height="@dimen/volume_dialog_button_size"
    <FrameLayout
        android:id="@+id/volume_dialog_bottom_section_container"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginTop="@dimen/volume_dialog_components_spacing"
        android:background="@drawable/ripple_drawable_20dp"
        android:contentDescription="@string/accessibility_volume_settings"
        android:scaleType="centerInside"
        android:soundEffectsEnabled="false"
        android:tint="@androidprv:color/materialColorPrimary"
        android:clipChildren="false"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintHeight_default="wrap"
        app:layout_constraintStart_toStartOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintTop_toBottomOf="@id/volume_dialog_main_slider_container"
        app:layout_constraintVertical_bias="0" />
        app:layout_constraintVertical_bias="0"
        app:layout_constraintWidth_default="wrap">

        <include layout="@layout/volume_dialog_bottom_section" />
    </FrameLayout>

    <LinearLayout
        android:id="@+id/volume_dialog_floating_sliders_container"
+26 −0
Original line number Diff line number Diff line
<!--
     Copyright (C) 2024 The Android Open Source Project

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

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

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
    android:id="@+id/volume_dialog_settings"
    android:layout_width="@dimen/volume_dialog_button_size"
    android:layout_height="@dimen/volume_dialog_button_size"
    android:layout_gravity="center"
    android:background="@drawable/ripple_drawable_20dp"
    android:contentDescription="@string/accessibility_volume_settings"
    android:scaleType="centerInside"
    android:soundEffectsEnabled="false"
    android:tint="@androidprv:color/materialColorPrimary" />
 No newline at end of file
+3 −2
Original line number Diff line number Diff line
@@ -23,16 +23,17 @@
    android:clipToPadding="false"
    android:gravity="center"
    android:layoutDirection="ltr"
    android:paddingEnd="@dimen/volume_dialog_ringer_drawer_diff_end_margin"
    app:layoutDescription="@xml/volume_dialog_ringer_drawer_motion_scene">

    <View
        android:id="@+id/ringer_buttons_background"
        android:layout_width="@dimen/volume_dialog_width"
        android:layout_height="0dp"
        android:visibility="gone"
        android:layout_marginTop="@dimen/volume_dialog_background_vertical_margin"
        android:layout_marginBottom="@dimen/volume_dialog_background_vertical_margin"
        android:background="@drawable/volume_dialog_ringer_background" />
        android:background="@drawable/volume_dialog_ringer_background"
        android:visibility="gone" />

    <!-- add ringer buttons here -->

+14 −3
Original line number Diff line number Diff line
@@ -2124,18 +2124,25 @@
    <dimen name="volume_dialog_width">60dp</dimen>

    <dimen name="volume_dialog_background_corner_radius">30dp</dimen>
    <dimen name="volume_dialog_background_vertical_margin">-10dp</dimen>
    <dimen name="volume_dialog_background_vertical_margin">
        @dimen/volume_dialog_buttons_margin_negative
    </dimen>
    <!-- top margin covers half the ringer button + components spacing -->
    <dimen name="volume_dialog_background_top_margin">-28dp</dimen>

    <dimen name="volume_dialog_window_margin">14dp</dimen>
    <dimen name="volume_dialog_components_spacing">8dp</dimen>
    <dimen name="volume_dialog_floating_sliders_spacing">8dp</dimen>
    <dimen name="volume_dialog_floating_sliders_vertical_padding">10dp</dimen>
    <dimen name="volume_dialog_floating_sliders_vertical_padding_negative">-10dp</dimen>
    <dimen name="volume_dialog_floating_sliders_vertical_padding_negative">
        @dimen/volume_dialog_buttons_margin_negative
    </dimen>
    <dimen name="volume_dialog_floating_sliders_horizontal_padding">4dp</dimen>
    <dimen name="volume_dialog_button_size">40dp</dimen>
    <dimen name="volume_dialog_slider_width">52dp</dimen>
    <dimen name="volume_dialog_slider_height">254dp</dimen>
    <dimen name="volume_dialog_buttons_margin">10dp</dimen>
    <dimen name="volume_dialog_buttons_margin_negative">-10dp</dimen>
    <!--
        A primary goal of this margin is to vertically constraint slider height in the landscape
        orientation when the vertical space is limited
@@ -2148,7 +2155,11 @@

    <dimen name="volume_dialog_background_square_corner_radius">12dp</dimen>

    <dimen name="volume_dialog_ringer_drawer_margin">10dp</dimen>
    <dimen name="volume_dialog_ringer_drawer_margin">@dimen/volume_dialog_buttons_margin</dimen>
    <!--
     (volume_dialog_slider_width - volume_dialog_button_size) / 2
     This centers ringer drawer against the volume slider
    -->
    <dimen name="volume_dialog_ringer_drawer_diff_end_margin">6dp</dimen>
    <dimen name="volume_dialog_ringer_drawer_button_size">@dimen/volume_dialog_button_size</dimen>
    <dimen name="volume_dialog_ringer_drawer_button_icon_radius">10dp</dimen>
+1 −1
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
        android:layout_width="@dimen/volume_dialog_slider_width"
        android:layout_height="0dp"
        android:layout_marginTop="@dimen/volume_dialog_slider_vertical_margin"
        android:layout_marginEnd="@dimen/volume_dialog_components_spacing"
        android:layout_marginEnd="@dimen/volume_dialog_window_margin"
        android:layout_marginBottom="@dimen/volume_dialog_slider_vertical_margin"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
Loading