Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e011385 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "Fix blur feature broken from MR1 merging"

parents eb89236b 570c54ab
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -178,5 +178,6 @@ public class PhoneStatusBarView extends PanelBar {
        super.panelExpansionChanged(panel, frac, expanded);
        mScrimController.setPanelExpansion(frac);
        mBar.updateCarrierLabelVisibility(false);
        mBar.setBlur(frac);
    }
}
+22 −1
Original line number Diff line number Diff line
@@ -107,6 +107,20 @@ public class StatusBarWindowManager {
        mStatusBarView = statusBarView;
        mBarHeight = barHeight;
        mWindowManager.addView(mStatusBarView, mLp);

        Display display = mWindowManager.getDefaultDisplay();
        Point xy = new Point();
        display.getRealSize(xy);
        mKeyguardBlur = new BlurLayer(mFxSession, xy.x, xy.y, "KeyGuard");
        if (mKeyguardBlur != null) {
            mKeyguardBlur.setLayer(mStatusBarLayer -2);
       }

        mKeyguardBlurSettingObserver.onChange(true);
        mContext.getContentResolver().registerContentObserver(
                    Settings.System.getUriFor(Settings.System.BLUR_EFFECT_LOCKSCREEN), false,
                    mKeyguardBlurSettingObserver);

        mLpChanged = new WindowManager.LayoutParams();
        mLpChanged.copyFrom(mLp);
    }
@@ -121,11 +135,18 @@ public class StatusBarWindowManager {

    private void applyKeyguardFlags(State state) {
        if (state.keyguardShowing) {
            mLpChanged.flags |= WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
            mLpChanged.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD;
            if (mKeyguardBlurEnabled) {
                // mKeyguardBlur.show();
            } else {
                mLpChanged.flags |= WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
            }
        } else {
            mLpChanged.flags &= ~WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
            mLpChanged.privateFlags &= ~WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD;
            if (mKeyguardBlurEnabled) {
                mKeyguardBlur.hide();
            }
        }
    }

+35 −0
Original line number Diff line number Diff line
@@ -464,6 +464,41 @@ public class VolumePanel extends Handler implements DemoMode {

        registerReceiver();

        mBlurUiSettingObserver.onChange(true);
        mContext.getContentResolver().registerContentObserver(
                Settings.System.getUriFor(Settings.System.BLUR_EFFECT_VOLUMECONTROL), false,
                mBlurUiSettingObserver);
    }

    private ContentObserver mBlurUiSettingObserver = new ContentObserver(new Handler()) {
        @Override
        public void onChange(boolean selfChange) {
            mBlurUiEnabled = 1 == Settings.System.getInt(
                    mContext.getContentResolver(), Settings.System.BLUR_EFFECT_VOLUMECONTROL, 1);
            setupVolumePanelBlur(mBlurUiEnabled);
        }
    };

    private void setupVolumePanelBlur(boolean blurEnabled) {
        if (mDialog == null || mDialog.getWindow() == null) return;

        Window window = mDialog.getWindow();
        if (blurEnabled) {
            window.addPrivateFlags(WindowManager.LayoutParams.PRIVATE_FLAG_BLUR_WITH_MASKING);
            window.setBlurMaskAlphaThreshold(0.48f);
        } else {
            window.clearPrivateFlags(WindowManager.LayoutParams.PRIVATE_FLAG_BLUR_WITH_MASKING);
        }

        View mainContainer = window.findViewById(com.android.systemui.R.id.volume_dialog_bg_container);
        mainContainer.setBackgroundResource(blurEnabled ?
                com.android.systemui.R.drawable.volume_dialog_bg_translucent :
                com.android.systemui.R.drawable.qs_background_primary);

        View v1 = mSliderPanel;
        v1.setBackground(null);
        View v2 = window.findViewById(com.android.systemui.R.id.zen_buttons_container);
        v2.setBackground(null);
    }

    public VolumePanel(Context context, ZenModeController zenController) {