diff options
3 files changed, 14 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index f5c994a..3b2d3cb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -2669,6 +2669,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, @Override public void setInteracting(int barWindow, boolean interacting) { + final boolean changing = ((mInteractingWindows & barWindow) != 0) != interacting; mInteractingWindows = interacting ? (mInteractingWindows | barWindow) : (mInteractingWindows & ~barWindow); @@ -2677,6 +2678,12 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } else { resumeSuspendedAutohide(); } + // manually dismiss the volume panel when interacting with the nav bar + if (changing && interacting && barWindow == StatusBarManager.WINDOW_NAVIGATION_BAR) { + if (mVolumeComponent != null) { + mVolumeComponent.dismissNow(); + } + } checkBarModes(); } diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeComponent.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeComponent.java index 31adc95..e3f8f3d 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeComponent.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeComponent.java @@ -21,4 +21,5 @@ import com.android.systemui.statusbar.policy.ZenModeController; public interface VolumeComponent extends DemoMode { ZenModeController getZenController(); + void dismissNow(); } diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java index 5232a17..7102c2a 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeUI.java @@ -178,7 +178,7 @@ public class VolumeUI extends SystemUI { @Override public void dismiss() throws RemoteException { - mPanel.postDismiss(0); + dismissNow(); } @Override @@ -190,6 +190,11 @@ public class VolumeUI extends SystemUI { public void dispatchDemoCommand(String command, Bundle args) { mPanel.dispatchDemoCommand(command, args); } + + @Override + public void dismissNow() { + mPanel.postDismiss(0); + } } private final class RemoteVolumeController extends IRemoteVolumeController.Stub { |