Whoops also need to move notification shade above lock screen.
And this requires making a new layer for the volume toast.
Change-Id: I4f272d56c87cf3b6bf886774b0fb02e610ab9164
diff --git a/core/java/android/view/VolumePanel.java b/core/java/android/view/VolumePanel.java
index 08ccd94..662137a 100644
--- a/core/java/android/view/VolumePanel.java
+++ b/core/java/android/view/VolumePanel.java
@@ -26,7 +26,6 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Resources;
-import android.graphics.drawable.Drawable;
import android.media.AudioManager;
import android.media.AudioService;
import android.media.AudioSystem;
@@ -36,13 +35,9 @@
import android.os.Handler;
import android.os.Message;
import android.os.Vibrator;
-import android.telephony.TelephonyManager;
import android.util.Log;
import android.widget.ImageView;
-import android.widget.ProgressBar;
import android.widget.SeekBar;
-import android.widget.TextView;
-import android.widget.Toast;
import android.widget.SeekBar.OnSeekBarChangeListener;
import java.util.HashMap;
@@ -52,6 +47,10 @@
*
* This code really should be moved elsewhere.
*
+ * Seriously, it really really should be moved elsewhere. This is used by
+ * android.media.AudioService, which actually runs in the system process, to
+ * show the volume dialog when the user changes the volume. What a mess.
+ *
* @hide
*/
public class VolumePanel extends Handler implements OnSeekBarChangeListener, View.OnClickListener
@@ -194,7 +193,7 @@
window.setGravity(Gravity.TOP);
WindowManager.LayoutParams lp = window.getAttributes();
lp.token = null;
- lp.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
+ lp.type = WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY;
window.setAttributes(lp);
window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index d1ad113..ff378a6 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -394,6 +394,13 @@
public static final int TYPE_NAVIGATION_BAR = FIRST_SYSTEM_WINDOW+19;
/**
+ * Window type: The volume level overlay/dialog shown when the user
+ * changes the system volume.
+ * @hide
+ */
+ public static final int TYPE_VOLUME_OVERLAY = FIRST_SYSTEM_WINDOW+20;
+
+ /**
* End of types of system windows.
*/
public static final int LAST_SYSTEM_WINDOW = 2999;