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

Commit 29d047ba authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "WallpaperColors hint computation" into pi-dev

parents 1543a4ea c50f47d9
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -144,6 +144,13 @@ public final class WallpaperColors implements Parcelable {
     * @param bitmap Source where to extract from.
     */
    public static WallpaperColors fromBitmap(@NonNull Bitmap bitmap) {
        return fromBitmap(bitmap, false /* computeHints */);
    }

    /**
     * @hide
     */
    public static WallpaperColors fromBitmap(@NonNull Bitmap bitmap, boolean computeHints) {
        if (bitmap == null) {
            throw new IllegalArgumentException("Bitmap can't be null");
        }
@@ -193,7 +200,7 @@ public final class WallpaperColors implements Parcelable {
            }
        }

        int hints = calculateDarkHints(bitmap);
        int hints = computeHints ? calculateDarkHints(bitmap) : 0;

        if (shouldRecycle) {
            bitmap.recycle();
+1 −1
Original line number Diff line number Diff line
@@ -458,7 +458,7 @@ public class WallpaperManagerService extends IWallpaperManager.Stub
        if (cropFile != null) {
            Bitmap bitmap = BitmapFactory.decodeFile(cropFile);
            if (bitmap != null) {
                colors = WallpaperColors.fromBitmap(bitmap);
                colors = WallpaperColors.fromBitmap(bitmap, true /* computeHints */);
                bitmap.recycle();
            }
        }
+15 −0
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import android.app.WallpaperColors;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
@@ -85,4 +87,17 @@ public class WallpaperServiceTests {
        assertEquals("OnComputeColors should have been deferred.",
                0, eventCountdown.getCount());
    }

    @Test
    public void testFromDrawableTest_doesntComputeHints() {
        WallpaperColors wallpaperColors = WallpaperColors.fromDrawable(
                new ColorDrawable(Color.BLACK));
        assertEquals("WallpaperColors should not support dark theme.", 0,
                wallpaperColors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_THEME);

        wallpaperColors = WallpaperColors.fromDrawable(
                new ColorDrawable(Color.WHITE));
        assertEquals("WallpaperColors should not support dark text.", 0,
                wallpaperColors.getColorHints() & WallpaperColors.HINT_SUPPORTS_DARK_TEXT);
    }
}