diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java b/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java index 149d09a0e400..984a5f48b09d 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java @@ -45,6 +45,7 @@ import android.provider.Settings.Global; import android.util.Log; import android.util.SparseArray; import android.view.Gravity; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; @@ -249,6 +250,8 @@ public class VolumePanel extends Handler { private final VolumePanel mVolumePanel; private final AudioManager mAudioManager; + private boolean mNewVolumeUp; + SafetyWarning(Context context, VolumePanel volumePanel, AudioManager audioManager) { super(context); mContext = context; @@ -267,6 +270,24 @@ public class VolumePanel extends Handler { } @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_VOLUME_UP && event.getRepeatCount() == 0) { + mNewVolumeUp = true; + } + return super.onKeyDown(keyCode, event); + } + + @Override + public boolean onKeyUp(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_VOLUME_UP && mNewVolumeUp) { + if (LOGD) Log.d(TAG, "Confirmed warning via VOLUME_UP"); + mAudioManager.disableSafeMediaVolume(); + dismiss(); + } + return super.onKeyUp(keyCode, event); + } + + @Override public void onClick(DialogInterface dialog, int which) { mAudioManager.disableSafeMediaVolume(); } |