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

Commit 4c69e807 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: I5a743be3d20f9ab8cb51c9838216d55e7193cb9d
parents 915c3e2b 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.
     */