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

Commit fa3846b4 authored by Roman Birg's avatar Roman Birg Committed by Steve Kondik
Browse files

SystemUI: attach a queue to media player notifications



Extend media player notificatoins to attach a queue below them, set via
the MediaController.setQueue() API, when available.

Long pressing on the notificaiton will reveal an option to disable the
queue.

The queue is currently hardcoded to be limited to 3 items.

(cyanogen: Port to CM14)

Ticket: CYNGNOS-217
Change-Id: I3b8503cb47af2d36f031d06aefc1bfbe7ed80010
Signed-off-by: default avatarRoman Birg <roman@cyngn.com>
parent 3f8962fc
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
        package="com.android.systemui">

    <uses-permission android:name="cyanogenmod.permission.WRITE_SECURE_SETTINGS" />
    <uses-permission android:name="cyanogenmod.permission.WRITE_SETTINGS" />

    <!-- Visualizer -->
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
+44 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (C) 2015 The CyanogenMod 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">
    <ripple android:color="?android:colorControlHighlight">
        <item android:state_pressed="true">
            <shape android:shape="rectangle">
                <solid android:color="@color/notification_ripple_untinted_color"/>
            </shape>
        </item>
    </ripple>
    <ripple android:color="?android:colorControlHighlight">
        <item android:state_selected="true">
            <shape android:shape="rectangle">
                <solid android:color="@color/notification_ripple_untinted_color"/>
            </shape>
        </item>
    </ripple>
    <ripple android:color="?android:colorControlHighlight">
        <item android:state_focused="true">
            <shape android:shape="rectangle">
                <solid android:color="@color/notification_ripple_untinted_color"/>
            </shape>
        </item>
    </ripple>
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/notification_guts_bg_color"/>
        </shape>
    </item>
</selector>
+22 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright (C) 2015 The CyanogenMod 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.
-->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="?android:attr/colorControlHighlight">
    <item android:id="@+id/mask">
        <color android:color="@color/system_secondary_color"/>
    </item>
</ripple>
+10 −0
Original line number Diff line number Diff line
@@ -184,4 +184,14 @@
            android:layout_marginEnd="8dp"
            android:focusable="true"/>
    </LinearLayout>

    <!-- Stub for the media extension guts -->
    <ViewStub
        android:layout="@layout/notification_guts_media_extension"
        android:id="@+id/notification_guts_media_stub"
        android:inflatedId="@+id/notification_guts_media_extension"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />

</com.android.systemui.statusbar.NotificationGuts>
+42 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
    Copyright 2016, The CyanogenMod 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.
-->
<com.android.systemui.statusbar.MediaNotificationGuts
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/notification_guts_media_extension"
        android:padding="8dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="end"
        android:orientation="horizontal">
    <TextView
            android:id="@+id/switch_label"
            android:theme="@style/TextAppearance.NotificationGuts.Button"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:paddingEnd="8dp"
            android:gravity="end"
            android:text="@string/play_queue_extension"/>
    <Switch
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0"
            android:theme="@style/ThemeOverlay.SwitchBar.Secondary"
            android:paddingStart="8dp"
            android:gravity="center"
            android:id="@+id/queue_switch"/>
</com.android.systemui.statusbar.MediaNotificationGuts>
Loading