diff --git a/packages/CarSystemUI/res/values/integers_car.xml b/packages/CarSystemUI/res/values/integers_car.xml
index d6c16cb4180bc..ba3d329ef32ac 100644
--- a/packages/CarSystemUI/res/values/integers_car.xml
+++ b/packages/CarSystemUI/res/values/integers_car.xml
@@ -37,4 +37,6 @@
3000
16000
+ 6000
+ 32000
diff --git a/packages/CarSystemUI/src/com/android/systemui/volume/CarVolumeDialogImpl.java b/packages/CarSystemUI/src/com/android/systemui/volume/CarVolumeDialogImpl.java
index 0dad8e51ad7d0..b1e7f40e7c4b8 100644
--- a/packages/CarSystemUI/src/com/android/systemui/volume/CarVolumeDialogImpl.java
+++ b/packages/CarSystemUI/src/com/android/systemui/volume/CarVolumeDialogImpl.java
@@ -92,6 +92,8 @@ public class CarVolumeDialogImpl implements VolumeDialog {
private final KeyguardManager mKeyguard;
private final int mNormalTimeout;
private final int mHoveringTimeout;
+ private final int mExpNormalTimeout;
+ private final int mExpHoveringTimeout;
private Window mWindow;
private CustomDialog mDialog;
@@ -180,6 +182,10 @@ public class CarVolumeDialogImpl implements VolumeDialog {
R.integer.car_volume_dialog_display_normal_timeout);
mHoveringTimeout = mContext.getResources().getInteger(
R.integer.car_volume_dialog_display_hovering_timeout);
+ mExpNormalTimeout = mContext.getResources().getInteger(
+ R.integer.car_volume_dialog_display_expanded_normal_timeout);
+ mExpHoveringTimeout = mContext.getResources().getInteger(
+ R.integer.car_volume_dialog_display_expanded_hovering_timeout);
}
private static int getSeekbarValue(CarAudioManager carAudioManager, int volumeGroupId) {
@@ -314,7 +320,11 @@ public class CarVolumeDialogImpl implements VolumeDialog {
}
private int computeTimeoutH() {
- return mHovering ? mHoveringTimeout : mNormalTimeout;
+ if (mExpanded) {
+ return mHovering ? mExpHoveringTimeout : mExpNormalTimeout;
+ } else {
+ return mHovering ? mHoveringTimeout : mNormalTimeout;
+ }
}
private void dismissH(int reason) {
@@ -533,6 +543,7 @@ public class CarVolumeDialogImpl implements VolumeDialog {
public void onClick(final View v) {
mExpandIcon = v;
toggleDialogExpansion(true);
+ rescheduleTimeoutH();
}
}