From 05568d9edda0458d238f3d962c9ed3e10ee4dd15 Mon Sep 17 00:00:00 2001 From: HrX03 Date: Thu, 7 Mar 2019 17:50:40 +0000 Subject: [aospa][quartz] SystemUI: Redesign volume dialog Inspiration from MiUI, iOS and Dil3mm4 Change-Id: I8bddda04c83c995bec82e9493017db69bd460b34 Co-Authored-By: Andrew Fluck Co-Authored-By: rituj Co-Authored-By: Jyotiraditya Co-Authored-By: Akash Srivastava Co-Authored-By: 00day0 Co-authored-by: Kshitij Gupta base: Redo expanded volume panel for 10.x [ HrX03 | AgentFabulous - POSP ] - Google nuked expanded volume panel in pie. Redo the current implementation to bring this back from the past and dejank it. - Back to Android 8.x functionality! Change-Id: Ie4931a4ae09483ba737a74fc32ed0a1f6acf105d Co-authored-by: Kshitij Gupta Signed-off-by: Arian SystemUI: VolumePanel: Version 1.1 * Add support for unlinked notification volume * Fix progress bar inconsistencies when switching ringer modes * Some minor animation tweaks Change-Id: I31f87aacb7fbb445dd3b03ceb5064263e5af4836 VolumeDialogImpl: fix ConcurrentModificationException SDB: it's happening to only a few users and let make those fc free msg: java.util.ConcurrentModificationException stacktrace: java.util.ConcurrentModificationException at java.util.ArrayList$Itr.next(ArrayList.java:860) at com.android.systemui.volume.VolumeDialogImpl.updateMediaOutputViewH(VolumeDialogImpl.java:905) at com.android.systemui.volume.VolumeDialogImpl.access$4800(VolumeDialogImpl.java:120) at com.android.systemui.volume.VolumeDialogImpl$H.handleMessage(VolumeDialogImpl.java:1912) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7657) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:594) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) VolumePluginManager: Fix fc for stock panel Change-Id: Ib0f6340ac7fea08abc637a1c3391a58cc4f1dfb6 VolumeDialogImpl: Reschedule the timeout on clicks on captions Change-Id: Ie98813a91396f3c3a84aeac8a609071c5cc315f6 VolumePanel: Fix glitchy ringer and notif bar when switching modes Co-Authored-By: Andrew Fluck Co-Authored-By: rituj Co-Authored-By: Jyotiraditya Co-Authored-By: Akash Srivastava Co-Authored-By: 00day0 Co-authored-by: Kshitij Gupta Signed-off-by: rituj Signed-off-by: Arian Signed-off-by: rituj Signed-off-by: althafvly Change-Id: I585c7366cb99c0c3baf699a5a553e77da895d195 --- .../SystemUI/res/drawable/ic_speaker_bluetooth.xml | 23 + .../SystemUI/res/drawable/ic_tick_mark_media.xml | 23 + .../res/drawable/ic_volume_notification.xml | 7 +- .../res/drawable/ic_volume_notification_mute.xml | 11 +- packages/SystemUI/res/drawable/rounded_ripple.xml | 2 +- .../res/drawable/rounded_volume_background.xml | 5 + .../res/drawable/volume_dialog_seekbar.xml | 21 + .../SystemUI/res/layout-land/volume_dialog.xml | 264 ++++--- .../res/layout-land/volume_tool_tip_view.xml | 64 ++ packages/SystemUI/res/layout/volume_dialog.xml | 271 ++++--- .../res/layout/volume_dialog_media_output.xml | 93 +++ packages/SystemUI/res/layout/volume_dialog_row.xml | 108 +-- packages/SystemUI/res/layout/volume_dnd_icon.xml | 3 +- .../SystemUI/res/layout/volume_tool_tip_view.xml | 23 +- packages/SystemUI/res/values-fr/strings.xml | 1 + packages/SystemUI/res/values-ja/strings.xml | 1 + packages/SystemUI/res/values-ko/strings.xml | 1 + packages/SystemUI/res/values-land/dimens.xml | 3 +- packages/SystemUI/res/values-night/colors.xml | 3 + packages/SystemUI/res/values-ru/strings.xml | 1 + packages/SystemUI/res/values-zh-rCN/strings.xml | 1 + packages/SystemUI/res/values-zh-rHK/strings.xml | 1 + packages/SystemUI/res/values-zh-rTW/strings.xml | 1 + packages/SystemUI/res/values/colors.xml | 3 + packages/SystemUI/res/values/dimens.xml | 38 +- packages/SystemUI/res/values/strings.xml | 3 + packages/SystemUI/res/values/styles.xml | 9 +- .../volume/VolumeDialogControllerImpl.java | 1 + .../android/systemui/volume/VolumeDialogImpl.java | 795 +++++++++++++++++---- .../android/systemui/volume/VolumeToolTipView.java | 18 +- 30 files changed, 1376 insertions(+), 422 deletions(-) create mode 100644 packages/SystemUI/res/drawable/ic_speaker_bluetooth.xml create mode 100644 packages/SystemUI/res/drawable/ic_tick_mark_media.xml create mode 100644 packages/SystemUI/res/drawable/rounded_volume_background.xml create mode 100644 packages/SystemUI/res/drawable/volume_dialog_seekbar.xml create mode 100644 packages/SystemUI/res/layout-land/volume_tool_tip_view.xml create mode 100644 packages/SystemUI/res/layout/volume_dialog_media_output.xml diff --git a/packages/SystemUI/res/drawable/ic_speaker_bluetooth.xml b/packages/SystemUI/res/drawable/ic_speaker_bluetooth.xml new file mode 100644 index 000000000000..7a4b23e90483 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_speaker_bluetooth.xml @@ -0,0 +1,23 @@ + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/drawable/ic_tick_mark_media.xml b/packages/SystemUI/res/drawable/ic_tick_mark_media.xml new file mode 100644 index 000000000000..49df1a9324b6 --- /dev/null +++ b/packages/SystemUI/res/drawable/ic_tick_mark_media.xml @@ -0,0 +1,23 @@ + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/drawable/ic_volume_notification.xml b/packages/SystemUI/res/drawable/ic_volume_notification.xml index 42eb7b7f3f88..d56120c366ac 100644 --- a/packages/SystemUI/res/drawable/ic_volume_notification.xml +++ b/packages/SystemUI/res/drawable/ic_volume_notification.xml @@ -21,10 +21,7 @@ android:tint="?android:attr/colorControlNormal" > - + android:fillColor="#FFFFFF" + android:pathData="M20,2H4A2,2 0 0,0 2,4V22L6,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M20,16H6L4,18V4H20" /> diff --git a/packages/SystemUI/res/drawable/ic_volume_notification_mute.xml b/packages/SystemUI/res/drawable/ic_volume_notification_mute.xml index 9cb7ca3679b9..387388743767 100644 --- a/packages/SystemUI/res/drawable/ic_volume_notification_mute.xml +++ b/packages/SystemUI/res/drawable/ic_volume_notification_mute.xml @@ -21,13 +21,10 @@ android:tint="?android:attr/colorControlNormal" > + android:fillColor="#FFFFFF" + android:pathData="M2.08,21.85V5C1.41,4.36 0.74 ,3.71 0.09 ,3L1.37,1.79,22,22.39l-1.26,1.24L15.07,18H6l-3.9,3.9Zm2-14.78c-0.06 0.49 -0.06,10.65,0,10.81a1,1,0,0,0,0.16-0.12l1.64-1.64A0.46 0.46 ,0,0,1,6.29,16H13Z" /> - + android:fillColor="#FFFFFF" + android:pathData="M18.13,16h1.7A1.16,1.16,0,0,0,20,16V4.27A1.6,1.6,0,0,0,20,4H6.19v0A1.81,1.81,0,0,1,6,3.89L4.28,2.21l-0.15-0.15 0.21 ,0H19.87a2.16,2.16,0,0,1,1.35 0.43 ,1.89,1.89,0,0,1,0.71,1.13,3.68,3.68,0,0,1,0.06 0.57 V15.86a2,2,0,0,1-0.6,1.53A1.87,1.87,0,0,1,20.2,18a0.27 0.27 ,0,0,1-0.21-0.07L18.2,16.1S18.17,16,18.13,16Z" /> diff --git a/packages/SystemUI/res/drawable/rounded_ripple.xml b/packages/SystemUI/res/drawable/rounded_ripple.xml index d9ed8233d886..5851d1d7f812 100644 --- a/packages/SystemUI/res/drawable/rounded_ripple.xml +++ b/packages/SystemUI/res/drawable/rounded_ripple.xml @@ -23,7 +23,7 @@ - + diff --git a/packages/SystemUI/res/drawable/rounded_volume_background.xml b/packages/SystemUI/res/drawable/rounded_volume_background.xml new file mode 100644 index 000000000000..6f377cf54793 --- /dev/null +++ b/packages/SystemUI/res/drawable/rounded_volume_background.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/packages/SystemUI/res/drawable/volume_dialog_seekbar.xml b/packages/SystemUI/res/drawable/volume_dialog_seekbar.xml new file mode 100644 index 000000000000..02a3c628c3de --- /dev/null +++ b/packages/SystemUI/res/drawable/volume_dialog_seekbar.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + diff --git a/packages/SystemUI/res/layout-land/volume_dialog.xml b/packages/SystemUI/res/layout-land/volume_dialog.xml index 5da7819c3d76..2b577399a5af 100644 --- a/packages/SystemUI/res/layout-land/volume_dialog.xml +++ b/packages/SystemUI/res/layout-land/volume_dialog.xml @@ -13,135 +13,199 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License --> - - + android:layout_marginBottom="@dimen/volume_dialog_spacer" + android:clipChildren="false" + android:gravity="start" + android:orientation="horizontal"> + android:layout_width="@dimen/volume_dialog_panel_width" + android:layout_height="@dimen/volume_dialog_panel_width" + android:layout_marginEnd="@dimen/volume_dialog_spacer" + android:background="@drawable/rounded_volume_background" + android:elevation="@dimen/volume_dialog_elevation"> + - - + android:padding="16dp" + android:tint="?android:attr/colorAccent" /> + + + + + + + + android:visibility="gone"> + + + + + + - + android:layout_height="match_parent" + android:background="@drawable/rounded_volume_background" + android:elevation="@dimen/volume_dialog_elevation" + android:orientation="vertical" + android:visibility="gone"> + + - - - + android:layout_marginStart="@dimen/volume_dialog_spacer" + android:inflatedId="@+id/odi_captions_tooltip_view" + android:layout="@layout/volume_tool_tip_view" /> + - - - + - + android:clipChildren="false" + android:clipToPadding="false" + android:gravity="center" + android:minWidth="@dimen/volume_dialog_panel_width" + android:orientation="horizontal"> + + - + + + - \ No newline at end of file + + + + + + + + + + + diff --git a/packages/SystemUI/res/layout-land/volume_tool_tip_view.xml b/packages/SystemUI/res/layout-land/volume_tool_tip_view.xml new file mode 100644 index 000000000000..3af2b789fcac --- /dev/null +++ b/packages/SystemUI/res/layout-land/volume_tool_tip_view.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + diff --git a/packages/SystemUI/res/layout/volume_dialog.xml b/packages/SystemUI/res/layout/volume_dialog.xml index 2296b613d56c..32440e14ffbc 100644 --- a/packages/SystemUI/res/layout/volume_dialog.xml +++ b/packages/SystemUI/res/layout/volume_dialog.xml @@ -13,131 +13,214 @@ See the License for the specific language governing permissions and limitations under the License. --> - - + android:clipToPadding="false" + android:clipChildren="false" + android:orientation="horizontal"> + android:layout_width="@dimen/volume_dialog_panel_width" + android:layout_height="@dimen/volume_dialog_panel_width" + android:background="@drawable/rounded_volume_background" + android:elevation="@dimen/volume_dialog_elevation"> + - - + android:padding="16dp" + android:tint="?android:attr/colorAccent" /> + + + + + - - - - - - + android:gravity="center" + android:minWidth="@dimen/volume_dialog_panel_width" + android:orientation="horizontal"> + - - + + - + android:layout_height="wrap_content" + android:layout_gravity="end" + android:clickable="false" + android:ellipsize="marquee" + android:focusable="true" + android:marqueeRepeatLimit="marquee_forever" + android:paddingBottom="5dp" + android:paddingLeft="8dp" + android:paddingRight="6dp" + android:paddingTop="5dp" + android:singleLine="true" + android:text="@string/media_output_title" + android:textColor="?android:attr/colorControlNormal" + android:textSize="15sp" + android:textStyle="bold" /> - + + + + + - + + + + + + + + + android:clipChildren="false" + android:layout_marginTop="@dimen/volume_dialog_spacer" + android:minWidth="@dimen/volume_dialog_panel_width" + android:orientation="horizontal"> + + + + + + + + + + + + + + + + + - \ No newline at end of file + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/layout/volume_dialog_media_output.xml b/packages/SystemUI/res/layout/volume_dialog_media_output.xml new file mode 100644 index 000000000000..30490d06dfd6 --- /dev/null +++ b/packages/SystemUI/res/layout/volume_dialog_media_output.xml @@ -0,0 +1,93 @@ + + + + + + + + + + + + diff --git a/packages/SystemUI/res/layout/volume_dialog_row.xml b/packages/SystemUI/res/layout/volume_dialog_row.xml index 6128da8627a9..aa9c403f47ad 100644 --- a/packages/SystemUI/res/layout/volume_dialog_row.xml +++ b/packages/SystemUI/res/layout/volume_dialog_row.xml @@ -17,55 +17,73 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:tag="row" android:layout_height="wrap_content" - android:layout_width="@dimen/volume_dialog_panel_width" - android:clipChildren="false" - android:clipToPadding="false" + android:layout_width="wrap_content" + android:layout_marginEnd="@dimen/volume_dialog_row_spacer" + android:background="@drawable/rounded_volume_background" + android:elevation="@dimen/volume_dialog_elevation" android:theme="@style/qs_theme"> - - - + + - - + android:paddingBottom="0dp" + android:paddingEnd="0dp" + android:paddingStart="0dp" + android:paddingTop="0dp" + android:progressDrawable="@drawable/volume_dialog_seekbar" + android:rotation="90" + android:thumb="@android:color/transparent" /> - - + + + - + + + + diff --git a/packages/SystemUI/res/layout/volume_dnd_icon.xml b/packages/SystemUI/res/layout/volume_dnd_icon.xml index 10c1472ae993..1adfb316ac59 100644 --- a/packages/SystemUI/res/layout/volume_dnd_icon.xml +++ b/packages/SystemUI/res/layout/volume_dnd_icon.xml @@ -16,14 +16,13 @@ \ No newline at end of file diff --git a/packages/SystemUI/res/layout/volume_tool_tip_view.xml b/packages/SystemUI/res/layout/volume_tool_tip_view.xml index 9fe885ebefc7..8de18821ad97 100644 --- a/packages/SystemUI/res/layout/volume_tool_tip_view.xml +++ b/packages/SystemUI/res/layout/volume_tool_tip_view.xml @@ -20,13 +20,20 @@ android:id="@+id/tooltip_view" android:layout_height="wrap_content" android:layout_width="wrap_content" - android:orientation="horizontal"> + android:orientation="vertical"> + + @@ -35,9 +42,10 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - android:textColor="@android:color/white" android:text="@string/volume_odi_captions_tip" - android:textSize="14sp"/> + android:textColor="@android:color/white" + android:textSize="14sp" /> + - - \ No newline at end of file diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index 7b6ad6bd7b52..4138a7672bf2 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -1098,6 +1098,7 @@ "%1$s (déconnecté)" "Impossible de se connecter. Réessayez." "Associer un nouvel appareil" + "Diffuser des contenus multimédias sur" "Un problème est survenu au niveau de la lecture de votre outil de mesure de batterie" "Appuyer pour en savoir plus" diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index 91488fa7094f..55e1d897a39f 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -1098,6 +1098,7 @@ "%1$s(未接続)" "接続できませんでした。もう一度お試しください。" "新しいデバイスとのペア設定" + "メディアの再生先" "電池残量の読み込み中に問題が発生しました" "タップすると詳細が表示されます" diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml index f5aadc85eab4..1b8cb2286dc9 100644 --- a/packages/SystemUI/res/values-ko/strings.xml +++ b/packages/SystemUI/res/values-ko/strings.xml @@ -1098,6 +1098,7 @@ "%1$s(연결 끊김)" "연결할 수 없습니다. 다시 시도하세요." "새 기기와 페어링" + "미디어 출력 대상" "배터리 수준을 읽는 중에 문제가 발생함" "탭하여 자세한 정보를 확인하세요." diff --git a/packages/SystemUI/res/values-land/dimens.xml b/packages/SystemUI/res/values-land/dimens.xml index 531b2d4a3114..254256719192 100644 --- a/packages/SystemUI/res/values-land/dimens.xml +++ b/packages/SystemUI/res/values-land/dimens.xml @@ -33,8 +33,7 @@ 4 0dp - 136dp - 12dp + 17dp diff --git a/packages/SystemUI/res/values-night/colors.xml b/packages/SystemUI/res/values-night/colors.xml index b956956aa1ab..f7a85973ca7a 100644 --- a/packages/SystemUI/res/values-night/colors.xml +++ b/packages/SystemUI/res/values-night/colors.xml @@ -105,4 +105,7 @@ #3C4043 + #141414 + #434343 + diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index 405cbdb22a48..bf08ddb45481 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -1110,6 +1110,7 @@ "%1$s (отключено)" "Не удалось подключиться. Повторите попытку." "Подключить новое устройство" + "Где воспроизводить" "Не удается получить данные об уровне заряда батареи" "Нажмите, чтобы узнать больше." diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index b42c89d30634..0382cb3fa64a 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -1098,6 +1098,7 @@ "%1$s(已断开连接)" "无法连接。请重试。" "与新设备配对" + "媒体播放到" "读取电池计量器时出现问题" "点按即可了解详情" diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index a1e7054c9faa..4f0cf4c5f8f5 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -1098,6 +1098,7 @@ "%1$s (已中斷連線)" "無法連線,請再試一次。" "配對新裝置" + "播放媒體的裝置" "讀取電池計量器時發生問題" "輕按即可瞭解詳情" diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index ed114c488fff..fe08028f4042 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -1098,6 +1098,7 @@ "%1$s (已中斷連線)" "無法連線,請再試一次。" "配對新裝置" + "播放媒體" "讀取電池計量器時發生問題" "輕觸即可瞭解詳情" diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index 461fe2f9d4d2..ae177dfd59ad 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -271,4 +271,7 @@ #F28B82 #E94235 + + #f2f2f2 + #E0E0E0 diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index ed72e8ba02a0..ae697fd6720b 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -439,37 +439,33 @@ @dimen/notification_panel_width 4dp - - 20dp - + 8dp 8dp - - 64dp - - 116dp - + 12dp 64dp - 20dp - 64dp - - 48dp - + 20dp + 54dp + 185dp + 13dp + @dimen/volume_dialog_panel_width + 170dp 4dp - - 14dp - - -2dp - + 45dp + 24dp + @dimen/volume_dialog_spacer 8dp - 9dp + 14dp + -2dp 76dp - 32dp - + 8dp + 10dp + -2dp + 24dp 2dp diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index 3d08c6680319..d7183d73caad 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -1059,6 +1059,9 @@ "Slide left for %s. + + Play media to + You won\'t be disturbed by sounds and vibrations, except from alarms, reminders, events, and callers you specify. You\'ll still hear anything you choose to play including music, videos, and games. diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index 1c0518208dea..787b6e9e01cf 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -488,7 +488,14 @@