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

Commit 101e40f0 authored by Lucas Dupin's avatar Lucas Dupin Committed by Automerger Merge Worker
Browse files

Merge "Set dark theme flag when initializing with Color" into rvc-dev am: 59dc371f

Change-Id: Ic0ee4d8fa956b023a890c59c86f9af036147e60b
parents b189742b 59dc371f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -222,6 +222,14 @@ public final class WallpaperColors implements Parcelable {
    public WallpaperColors(@NonNull Color primaryColor, @Nullable Color secondaryColor,
            @Nullable Color tertiaryColor) {
        this(primaryColor, secondaryColor, tertiaryColor, 0);

        // Calculate dark theme support based on primary color.
        final float[] tmpHsl = new float[3];
        ColorUtils.colorToHSL(primaryColor.toArgb(), tmpHsl);
        final float luminance = tmpHsl[2];
        if (luminance < DARK_THEME_MEAN_LUMINANCE) {
            mColorHints |= HINT_SUPPORTS_DARK_THEME;
        }
    }

    /**
+8 −0
Original line number Diff line number Diff line
@@ -87,6 +87,14 @@ public class WallpaperColorsTest {
                + "HINT_FROM_BITMAP.", fromBitmap);
    }

    @Test
    public void darkMainColorSupportsDarkTheme() {
        final Color color = Color.valueOf(Color.BLACK);
        WallpaperColors colors = new WallpaperColors(color, null, null);
        Assert.assertTrue("Dark theme should be supported by dark main colors.",
                (colors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_THEME) != 0);
    }

    /**
     * WallpaperColors should not recycle bitmaps that it didn't create.
     */