diff options
author | d34d <clark@cyngn.com> | 2016-05-09 09:27:55 -0700 |
---|---|---|
committer | Clark Scheff <clark@cyngn.com> | 2016-05-16 08:54:23 -0700 |
commit | ad97956f82215357c50158b2384d527a96cce0d1 (patch) | |
tree | 7813a32c63622867e466230bd7f0e31216e454e2 /packages/SystemUI/src/com/android/systemui/statusbar/phone | |
parent | 20cb552a18faf9db89a7f92cb5c5a041a28216e2 (diff) | |
download | frameworks_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.java | 50 |
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); + } + } } |