OSDN Git Service

Volume: force-dismiss panel when the screen turns off.
authorJohn Spurlock <jspurlock@google.com>
Thu, 24 Jul 2014 19:15:25 +0000 (15:15 -0400)
committerJohn Spurlock <jspurlock@google.com>
Thu, 24 Jul 2014 19:15:25 +0000 (15:15 -0400)
Bug:16492823
Change-Id: Ifc069ef936dc5f29d11f6b11dcc7131f440c7f0b

packages/SystemUI/src/com/android/systemui/volume/VolumePanel.java

index 9ba9745..b85fbf3 100644 (file)
@@ -371,7 +371,7 @@ public class VolumePanel extends Handler {
         final boolean masterVolumeKeySounds = res.getBoolean(R.bool.config_useVolumeKeySounds);
         mPlayMasterStreamTones = masterVolumeOnly && masterVolumeKeySounds;
 
-        listenToRingerMode();
+        registerReceiver();
     }
 
     public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
@@ -441,9 +441,10 @@ public class VolumePanel extends Handler {
         updateStates();
     }
 
-    private void listenToRingerMode() {
+    private void registerReceiver() {
         final IntentFilter filter = new IntentFilter();
         filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION);
+        filter.addAction(Intent.ACTION_SCREEN_OFF);
         mContext.registerReceiver(new BroadcastReceiver() {
             @Override
             public void onReceive(Context context, Intent intent) {
@@ -453,6 +454,10 @@ public class VolumePanel extends Handler {
                     removeMessages(MSG_RINGER_MODE_CHANGED);
                     sendMessage(obtainMessage(MSG_RINGER_MODE_CHANGED));
                 }
+
+                if (Intent.ACTION_SCREEN_OFF.equals(action)) {
+                    postDismiss(0);
+                }
             }
         }, filter);
     }