diff options
-rw-r--r-- | core/java/com/android/internal/app/ShutdownThread.java | 11 | ||||
-rw-r--r-- | core/res/res/values/config.xml | 5 | ||||
-rw-r--r-- | services/java/com/android/server/status/StatusBarPolicy.java | 15 |
3 files changed, 24 insertions, 7 deletions
diff --git a/core/java/com/android/internal/app/ShutdownThread.java b/core/java/com/android/internal/app/ShutdownThread.java index 01f6dac..2060cf8 100644 --- a/core/java/com/android/internal/app/ShutdownThread.java +++ b/core/java/com/android/internal/app/ShutdownThread.java @@ -32,6 +32,7 @@ import android.os.RemoteException; import android.os.Power; import android.os.ServiceManager; import android.os.SystemClock; + import com.android.internal.telephony.ITelephony; import android.util.Log; import android.view.WindowManager; @@ -91,7 +92,10 @@ public final class ShutdownThread extends Thread { .setNegativeButton(com.android.internal.R.string.no, null) .create(); dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); - dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND); + if (!context.getResources().getBoolean( + com.android.internal.R.bool.config_sf_slowBlur)) { + dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND); + } dialog.show(); } else { beginShutdownSequence(context); @@ -111,7 +115,10 @@ public final class ShutdownThread extends Thread { pd.setIndeterminate(true); pd.setCancelable(false); pd.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); - pd.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND); + if (!context.getResources().getBoolean( + com.android.internal.R.bool.config_sf_slowBlur)) { + pd.getWindow().addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND); + } pd.show(); diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index 9f4af83..9040edb 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -26,6 +26,11 @@ strictly needed. --> <bool name="config_sf_limitedAlpha">false</bool> + <!-- Flag indicating whether the surface flinger is inefficient + at performing a blur. Used by parts of the UI to turn off + the blur effect where it isn't worth the performance hit. --> + <bool name="config_sf_slowBlur">false</bool> + <!-- The duration (in milliseconds) of a short animation. --> <integer name="config_shortAnimTime">150</integer> diff --git a/services/java/com/android/server/status/StatusBarPolicy.java b/services/java/com/android/server/status/StatusBarPolicy.java index 801a938..3d1fb83 100644 --- a/services/java/com/android/server/status/StatusBarPolicy.java +++ b/services/java/com/android/server/status/StatusBarPolicy.java @@ -624,15 +624,20 @@ public class StatusBarPolicy { pixelFormat = bg.getOpacity(); } + int flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE + | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE + | WindowManager.LayoutParams.FLAG_DIM_BEHIND; + + if (!mContext.getResources().getBoolean( + com.android.internal.R.bool.config_sf_slowBlur)) { + flags |= WindowManager.LayoutParams.FLAG_BLUR_BEHIND; + } + WindowManager.LayoutParams lp = new WindowManager.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.TYPE_TOAST, - WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE - | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE - | WindowManager.LayoutParams.FLAG_BLUR_BEHIND - | WindowManager.LayoutParams.FLAG_DIM_BEHIND, - pixelFormat); + flags, pixelFormat); // Get the dim amount from the theme TypedArray a = mContext.obtainStyledAttributes( |