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

Commit 07d20c32 authored by Beth Thibodeau's avatar Beth Thibodeau
Browse files

Add QS media player options

This adds a mini player in the QQS, and media carousel in QS
Incorporates the WIP layout changes from ag/9415169

To enable: adb shell settings put system qs_media_player 1
then toggle dark mode, or adb shell stop && adb shell start

Known issues with color overlays not updating until you press a button,
and old sessions do not get automatically removed from the carousel.

Test: manual
Change-Id: Iaeda470a920cb115c28ec98f04d74f255e1d5a12
parent 7825637f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@
    <dimen name="quick_qs_offset_height">48dp</dimen>
    <!-- Total height of QQS (quick_qs_offset_height + 128) -->
    <dimen name="quick_qs_total_height">176dp</dimen>
    <!-- Total height of QQS with two rows to fit media player (quick_qs_offset_height + 176) -->
    <dimen name="quick_qs_total_height_with_media">224dp</dimen>
    <!-- Height of the bottom navigation / system bar. -->
    <dimen name="navigation_bar_height">48dp</dimen>
    <!-- Height of the bottom navigation bar in portrait; often the same as @dimen/navigation_bar_height -->
+1 −0
Original line number Diff line number Diff line
@@ -1774,6 +1774,7 @@
  <java-symbol type="dimen" name="display_cutout_touchable_region_size" />
  <java-symbol type="dimen" name="quick_qs_offset_height" />
  <java-symbol type="dimen" name="quick_qs_total_height" />
  <java-symbol type="dimen" name="quick_qs_total_height_with_media" />
  <java-symbol type="drawable" name="ic_jog_dial_sound_off" />
  <java-symbol type="drawable" name="ic_jog_dial_sound_on" />
  <java-symbol type="drawable" name="ic_jog_dial_unlock" />
+100 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2019 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
  -->

<!-- Layout for QQS media controls -->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/qqs_media_controls"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    android:padding="10dp"
    >
    <!-- Top line: icon + artist name -->
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clipChildren="false"
        android:gravity="center"
        >
        <com.android.internal.widget.CachingIconView
            android:id="@+id/icon"
            android:layout_width="15dp"
            android:layout_height="15dp"
            android:layout_marginEnd="5dp"
        />
        <TextView
            android:id="@+id/header_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
            android:singleLine="true"
        />
    </LinearLayout>

    <!-- Second line: song name -->
    <TextView
        android:id="@+id/header_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:fontFamily="@*android:string/config_bodyFontFamily"
        android:gravity="center"/>

    <!-- Bottom section: controls -->
    <LinearLayout
        android:id="@+id/media_actions"
        android:orientation="horizontal"
        android:layoutDirection="ltr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        >
        <ImageButton
            style="@android:style/Widget.Material.Button.Borderless.Small"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:padding="8dp"
            android:layout_marginEnd="2dp"
            android:gravity="center"
            android:visibility="gone"
            android:id="@+id/action0"
        />
        <ImageButton
            style="@android:style/Widget.Material.Button.Borderless.Small"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:padding="8dp"
            android:layout_marginEnd="2dp"
            android:gravity="center"
            android:visibility="gone"
            android:id="@+id/action1"
        />
        <ImageButton
            style="@android:style/Widget.Material.Button.Borderless.Small"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:padding="8dp"
            android:layout_marginEnd="2dp"
            android:gravity="center"
            android:visibility="gone"
            android:id="@+id/action2"
        />
    </LinearLayout>
</LinearLayout>
+124 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2019 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
  -->

<!-- Layout for media controls inside QSPanel carousel -->
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/qs_media_controls"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_horizontal|fill_vertical"
    android:padding="10dp"
    >

    <!-- placeholder for notification header -->
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/header"
        android:padding="3dp"
        android:layout_marginEnd="-12dp"
        />

    <!-- Top line: artist name -->
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        >
        <TextView
            android:id="@+id/header_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
            android:singleLine="true"
        />
    </LinearLayout>

    <!-- Second line: song name -->
    <TextView
        android:id="@+id/header_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:singleLine="true"
        android:fontFamily="@*android:string/config_bodyFontFamily"
        android:gravity="center"/>

    <!-- Bottom section: controls -->
    <LinearLayout
        android:id="@+id/media_actions"
        android:orientation="horizontal"
        android:layoutDirection="ltr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        >
        <ImageButton
            style="@android:style/Widget.Material.Button.Borderless.Small"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:padding="8dp"
            android:layout_marginEnd="2dp"
            android:gravity="center"
            android:visibility="gone"
            android:id="@+id/action0"
        />
        <ImageButton
            style="@android:style/Widget.Material.Button.Borderless.Small"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:padding="8dp"
            android:layout_marginEnd="2dp"
            android:gravity="center"
            android:visibility="gone"
            android:id="@+id/action1"
        />
        <ImageButton
            style="@android:style/Widget.Material.Button.Borderless.Small"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:padding="8dp"
            android:layout_marginEnd="2dp"
            android:gravity="center"
            android:visibility="gone"
            android:id="@+id/action2"
        />
        <ImageButton
            style="@android:style/Widget.Material.Button.Borderless.Small"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:padding="8dp"
            android:layout_marginEnd="2dp"
            android:gravity="center"
            android:visibility="gone"
            android:id="@+id/action3"
        />
        <ImageButton
            style="@android:style/Widget.Material.Button.Borderless.Small"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:padding="8dp"
            android:layout_marginEnd="2dp"
            android:gravity="center"
            android:visibility="gone"
            android:id="@+id/action4"
        />
    </LinearLayout>
</LinearLayout>
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@
    <com.android.systemui.qs.QuickQSPanel
        android:id="@+id/quick_qs_panel"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/quick_qs_status_icons"
        android:layout_marginStart="@dimen/qs_header_tile_margin_horizontal"
        android:layout_marginEnd="@dimen/qs_header_tile_margin_horizontal"
Loading