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

Commit 759d6831 authored by Joey's avatar Joey
Browse files

SystemUI: disable wallpaper-based tint for scrim



This is quite annoying especially when the lockscreen is displaying an album art.
You don't really want to see the green of your amazing wallpaper
picturing a gorgerous forest landscape when you're rocking Master of Puppets.

Also several users and contributors complained about this thing.
Also it was removed in P dp1 and it never came back in later P builds.

Change-Id: I5ce5d5ff002f3be9b13a4cbb8df2300d0d7dcb3b
Signed-off-by: default avatarJoey <joey@lineageos.org>
parent 52017a50
Loading
Loading
Loading
Loading
+19 −4
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ import android.database.ContentObserver;
import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Point;
@@ -129,6 +130,9 @@ class GlobalActionsDialog implements DialogInterface.OnDismissListener, DialogIn

    private static final boolean SHOW_SILENT_TOGGLE = false;

    // Default scrim color
    private static final int SCRIM_DEFAULT_COLOR = Color.BLACK;

    private final Context mContext;
    private final GlobalActionsManager mWindowManagerFuncs;
    private final AudioManager mAudioManager;
@@ -1662,8 +1666,9 @@ class GlobalActionsDialog implements DialogInterface.OnDismissListener, DialogIn
            mContext.getDisplay().getRealSize(displaySize);
            mColorExtractor.addOnColorsChangedListener(this);
            mGradientDrawable.setScreenSize(displaySize.x, displaySize.y);
            GradientColors colors = mColorExtractor.getColors(mKeyguardShowing ?
                    WallpaperManager.FLAG_LOCK : WallpaperManager.FLAG_SYSTEM);
            GradientColors colors = getDarkGradientColor(
                    mColorExtractor.getColors(mKeyguardShowing ?
                    WallpaperManager.FLAG_LOCK : WallpaperManager.FLAG_SYSTEM));
            mGradientDrawable.setColors(colors, false);
        }

@@ -1734,13 +1739,23 @@ class GlobalActionsDialog implements DialogInterface.OnDismissListener, DialogIn
        public void onColorsChanged(ColorExtractor extractor, int which) {
            if (mKeyguardShowing) {
                if ((WallpaperManager.FLAG_LOCK & which) != 0) {
                    mGradientDrawable.setColors(extractor.getColors(WallpaperManager.FLAG_LOCK));
                    mGradientDrawable.setColors(getDarkGradientColor(
                            extractor.getColors(WallpaperManager.FLAG_LOCK)));
                }
            } else {
                if ((WallpaperManager.FLAG_SYSTEM & which) != 0) {
                    mGradientDrawable.setColors(extractor.getColors(WallpaperManager.FLAG_SYSTEM));
                    mGradientDrawable.setColors(getDarkGradientColor(
                            extractor.getColors(WallpaperManager.FLAG_SYSTEM)));
                }
            }
        }

        private GradientColors getDarkGradientColor(GradientColors fromWallpaper) {
            GradientColors colors = new GradientColors();
            colors.setMainColor(SCRIM_DEFAULT_COLOR);
            colors.setSecondaryColor(SCRIM_DEFAULT_COLOR);
            colors.setSupportsDarkText(fromWallpaper.supportsDarkText());
            return colors;
        }

        public void setKeyguardShowing(boolean keyguardShowing) {
+19 −8
Original line number Diff line number Diff line
@@ -77,6 +77,9 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
    private static final int TAG_END_ALPHA = R.id.scrim_alpha_end;
    private static final float NOT_INITIALIZED = -1;

    // Default scrim color
    private static final int SCRIM_DEFAULT_COLOR = Color.BLACK;

    private final LightBarController mLightBarController;
    protected final ScrimView mScrimBehind;
    protected final ScrimView mScrimInFront;
@@ -152,10 +155,10 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,

        mColorExtractor = Dependency.get(SysuiColorExtractor.class);
        mColorExtractor.addOnColorsChangedListener(this);
        mLockColors = mColorExtractor.getColors(WallpaperManager.FLAG_LOCK,
                ColorExtractor.TYPE_DARK, true /* ignoreVisibility */);
        mSystemColors = mColorExtractor.getColors(WallpaperManager.FLAG_SYSTEM,
                ColorExtractor.TYPE_DARK, true /* ignoreVisibility */);
        mLockColors = getDarkGradientColor(mColorExtractor.getColors(
                WallpaperManager.FLAG_LOCK, ColorExtractor.TYPE_DARK, true));
        mSystemColors = getDarkGradientColor(mColorExtractor.getColors(
                WallpaperManager.FLAG_SYSTEM, ColorExtractor.TYPE_DARK, true));
        mNeedsDrawableColorUpdate = true;

        updateHeadsUpScrim(false);
@@ -757,19 +760,27 @@ public class ScrimController implements ViewTreeObserver.OnPreDrawListener,
    @Override
    public void onColorsChanged(ColorExtractor colorExtractor, int which) {
        if ((which & WallpaperManager.FLAG_LOCK) != 0) {
            mLockColors = mColorExtractor.getColors(WallpaperManager.FLAG_LOCK,
                    ColorExtractor.TYPE_DARK, true /* ignoreVisibility */);
            mLockColors = getDarkGradientColor(mColorExtractor.getColors(
                    WallpaperManager.FLAG_LOCK, ColorExtractor.TYPE_DARK, true));
            mNeedsDrawableColorUpdate = true;
            scheduleUpdate();
        }
        if ((which & WallpaperManager.FLAG_SYSTEM) != 0) {
            mSystemColors = mColorExtractor.getColors(WallpaperManager.FLAG_SYSTEM,
                    ColorExtractor.TYPE_DARK, mKeyguardShowing);
            mSystemColors = getDarkGradientColor(mColorExtractor.getColors(
                    WallpaperManager.FLAG_SYSTEM, ColorExtractor.TYPE_DARK, mKeyguardShowing));
            mNeedsDrawableColorUpdate = true;
            scheduleUpdate();
        }
    }

    private GradientColors getDarkGradientColor(GradientColors fromWallpaper) {
        GradientColors colors = new GradientColors();
        colors.setMainColor(SCRIM_DEFAULT_COLOR);
        colors.setSecondaryColor(SCRIM_DEFAULT_COLOR);
        colors.setSupportsDarkText(fromWallpaper.supportsDarkText());
        return colors;
    }

    public void dump(PrintWriter pw) {
        pw.println(" ScrimController:");