From 795bd0fe93e8bb5214e22cd38aea6a9dc651604b Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Fri, 16 Dec 2016 15:22:31 -0800 Subject: [PATCH] Fix ViewCaptureTest, Bitmap.sameAs Bug: 33702897 Test: tests added to android.graphics.cts.BitmapTest, all passing Change-Id: I41b06114929df3c0c9bf826c721a29630e8c5098 --- core/jni/android/graphics/Bitmap.cpp | 13 ++++++------- .../coretests/src/android/view/ViewCaptureTest.java | 5 +++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp index 673cf863391c0..d33d20bf6436d 100755 --- a/core/jni/android/graphics/Bitmap.cpp +++ b/core/jni/android/graphics/Bitmap.cpp @@ -1127,8 +1127,7 @@ static void Bitmap_copyPixelsFromBuffer(JNIEnv* env, jobject, } } -static jboolean Bitmap_sameAs(JNIEnv* env, jobject, jlong bm0Handle, - jlong bm1Handle) { +static jboolean Bitmap_sameAs(JNIEnv* env, jobject, jlong bm0Handle, jlong bm1Handle) { SkBitmap bm0; SkBitmap bm1; @@ -1144,11 +1143,11 @@ static jboolean Bitmap_sameAs(JNIEnv* env, jobject, jlong bm0Handle, bitmap0->bitmap().getSkBitmap(&bm0); bitmap1->bitmap().getSkBitmap(&bm1); - if (bm0.width() != bm1.width() || - bm0.height() != bm1.height() || - bm0.colorType() != bm1.colorType() || - bm0.alphaType() != bm1.alphaType() || - bm0.colorSpace() != bm1.colorSpace()) { + if (bm0.width() != bm1.width() + || bm0.height() != bm1.height() + || bm0.colorType() != bm1.colorType() + || bm0.alphaType() != bm1.alphaType() + || !SkColorSpace::Equals(bm0.colorSpace(), bm1.colorSpace())) { return JNI_FALSE; } diff --git a/core/tests/coretests/src/android/view/ViewCaptureTest.java b/core/tests/coretests/src/android/view/ViewCaptureTest.java index 15cfe230eb579..1b4d4a2fcd3ab 100644 --- a/core/tests/coretests/src/android/view/ViewCaptureTest.java +++ b/core/tests/coretests/src/android/view/ViewCaptureTest.java @@ -16,6 +16,8 @@ package android.view; +import static org.junit.Assert.assertTrue; + import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; @@ -32,8 +34,6 @@ import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; -import static org.junit.Assert.assertTrue; - @RunWith(AndroidJUnit4.class) public class ViewCaptureTest { @@ -70,6 +70,7 @@ public class ViewCaptureTest { private void testCreateSnapshot(boolean skipChildren, int goldenResId) { Bitmap result = mViewToCapture.createSnapshot(Bitmap.Config.ARGB_8888, 0, skipChildren); + result.setHasAlpha(false); // resource will have no alpha, since content is opaque Bitmap golden = BitmapFactory.decodeResource(mActivity.getResources(), goldenResId); assertTrue(golden.sameAs(result)); }