summaryrefslogtreecommitdiffstats
path: root/packages/SystemUI/src/com/android/systemui/statusbar/phone
diff options
context:
space:
mode:
authord34d <clark@cyngn.com>2016-05-09 09:27:55 -0700
committerClark Scheff <clark@cyngn.com>2016-05-16 08:54:23 -0700
commitad97956f82215357c50158b2384d527a96cce0d1 (patch)
tree7813a32c63622867e466230bd7f0e31216e454e2 /packages/SystemUI/src/com/android/systemui/statusbar/phone
parent20cb552a18faf9db89a7f92cb5c5a041a28216e2 (diff)
downloadframeworks_base-ad97956f82215357c50158b2384d527a96cce0d1.zip
frameworks_base-ad97956f82215357c50158b2384d527a96cce0d1.tar.gz
frameworks_base-ad97956f82215357c50158b2384d527a96cce0d1.tar.bz2
Expose lock screen blurring as a setting [2/2]
This will provide control over blurring since the current implementation assumes it is always on provided the device config specifies it supports blur. Change-Id: If6d1f1290473df20bda7e96e42571285bd2d8967 TICKET: CYNGNOS-2610
Diffstat (limited to 'packages/SystemUI/src/com/android/systemui/statusbar/phone')
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java50
1 files changed, 37 insertions, 13 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java
index 9a991f4..b539194 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowManager.java
@@ -19,8 +19,10 @@ package com.android.systemui.statusbar.phone;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.content.res.Resources;
+import android.database.ContentObserver;
import android.graphics.Point;
import android.graphics.PixelFormat;
+import android.os.Handler;
import android.os.SystemProperties;
import android.util.Log;
import android.view.Gravity;
@@ -36,7 +38,6 @@ import com.android.systemui.statusbar.BaseStatusBar;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.policy.KeyguardMonitor;
import cyanogenmod.providers.CMSettings;
-import org.cyanogenmod.internal.util.CmLockPatternUtils;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -79,8 +80,6 @@ public class StatusBarWindowManager implements KeyguardMonitor.Callback {
mKeyguardMonitor = kgm;
mKeyguardMonitor.addCallback(this);
- mKeyguardBlurEnabled = mContext.getResources().getBoolean(
- com.android.internal.R.bool.config_ui_blur_enabled);
mFxSession = new SurfaceSession();
}
@@ -121,7 +120,11 @@ public class StatusBarWindowManager implements KeyguardMonitor.Callback {
mLpChanged = new WindowManager.LayoutParams();
mLpChanged.copyFrom(mLp);
- if (mKeyguardBlurEnabled) {
+ boolean blurSupported = mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_ui_blur_enabled);
+ mKeyguardBlurEnabled = CMSettings.Secure.getInt(mContext.getContentResolver(),
+ CMSettings.Secure.LOCK_SCREEN_BLUR_ENABLED, blurSupported ? 1 : 0) == 1;
+ if (blurSupported) {
Display display = mWindowManager.getDefaultDisplay();
Point xy = new Point();
display.getRealSize(xy);
@@ -129,6 +132,9 @@ public class StatusBarWindowManager implements KeyguardMonitor.Callback {
if (mKeyguardBlur != null) {
mKeyguardBlur.setLayer(STATUS_BAR_LAYER - 2);
}
+
+ SettingsObserver observer = new SettingsObserver(new Handler());
+ observer.observe(mContext);
}
}
@@ -260,8 +266,7 @@ public class StatusBarWindowManager implements KeyguardMonitor.Callback {
boolean isblur = false;
if (mCurrentState.keyguardShowing && mKeyguardBlurEnabled
&& !mCurrentState.keyguardOccluded
- && !mShowingMedia
- && !isShowingLiveLockScreen()) {
+ && !mShowingMedia) {
isblur = true;
}
if (mKeyguardBlur != null) {
@@ -397,13 +402,6 @@ public class StatusBarWindowManager implements KeyguardMonitor.Callback {
return mCurrentState.keyguardExternalViewHasFocus;
}
- private boolean isShowingLiveLockScreen() {
- CmLockPatternUtils lockPatternUtils = new CmLockPatternUtils(mContext);
- return (CMSettings.Secure.getInt(mContext.getContentResolver(),
- CMSettings.Secure.LIVE_LOCK_SCREEN_ENABLED, 0) == 1)
- && lockPatternUtils.isThirdPartyKeyguardEnabled();
- }
-
private static class State {
boolean keyguardShowing;
boolean keyguardOccluded;
@@ -455,4 +453,30 @@ public class StatusBarWindowManager implements KeyguardMonitor.Callback {
return result.toString();
}
}
+
+ private class SettingsObserver extends ContentObserver {
+ public SettingsObserver(Handler handler) {
+ super(handler);
+ }
+
+ public void observe(Context context) {
+ context.getContentResolver().registerContentObserver(
+ CMSettings.Secure.getUriFor(CMSettings.Secure.LOCK_SCREEN_BLUR_ENABLED),
+ false,
+ this);
+ }
+
+ public void unobserve(Context context) {
+ context.getContentResolver().unregisterContentObserver(this);
+ }
+
+ @Override
+ public void onChange(boolean selfChange) {
+ // default to being enabled since we are here because the blur config was set to true
+ mKeyguardBlurEnabled = CMSettings.Secure.getInt(mContext.getContentResolver(),
+ CMSettings.Secure.LOCK_SCREEN_BLUR_ENABLED, 1) == 1;
+ // update the state
+ apply(mCurrentState);
+ }
+ }
}