Merge "DO NOT MERGE: media: fix 4k hevc test stream" into lmp-sprout-dev
diff --git a/hostsidetests/theme/assets/21/hdpi.zip b/hostsidetests/theme/assets/21/hdpi.zip
index 9cc179c..0fa67b7 100644
--- a/hostsidetests/theme/assets/21/hdpi.zip
+++ b/hostsidetests/theme/assets/21/hdpi.zip
Binary files differ
diff --git a/tests/tests/os/src/android/os/cts/BuildVersionTest.java b/tests/tests/os/src/android/os/cts/BuildVersionTest.java
index 6069ee6..4c92da7 100644
--- a/tests/tests/os/src/android/os/cts/BuildVersionTest.java
+++ b/tests/tests/os/src/android/os/cts/BuildVersionTest.java
@@ -28,7 +28,7 @@
public class BuildVersionTest extends TestCase {
private static final String LOG_TAG = "BuildVersionTest";
- private static final Set<String> EXPECTED_RELEASES = new HashSet<String>(Arrays.asList("5.0"));
+ private static final Set<String> EXPECTED_RELEASES = new HashSet<String>(Arrays.asList("5.0.1"));
private static final int EXPECTED_SDK = 21;
private static final String EXPECTED_BUILD_VARIANT = "user";
private static final String EXPECTED_TAG = "release-keys";
diff --git a/tests/tests/uirendering/res/layout/blue_padded_layout.xml b/tests/tests/uirendering/res/layout/blue_padded_layout.xml
index 1cd1b21..68c9cd1 100644
--- a/tests/tests/uirendering/res/layout/blue_padded_layout.xml
+++ b/tests/tests/uirendering/res/layout/blue_padded_layout.xml
@@ -14,6 +14,7 @@
limitations under the License.
-->
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/test_root"
android:layout_width="200px"
android:layout_height="200px"
android:clipChildren="false">
diff --git a/tests/tests/uirendering/res/layout/blue_padded_square.xml b/tests/tests/uirendering/res/layout/blue_padded_square.xml
index 0f254d4..71f4b0c 100644
--- a/tests/tests/uirendering/res/layout/blue_padded_square.xml
+++ b/tests/tests/uirendering/res/layout/blue_padded_square.xml
@@ -14,6 +14,7 @@
limitations under the License.
-->
<View xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="100px"
- android:layout_height="100px"
- android:background="@drawable/blue_padded_square"/>
+ android:id="@+id/test_root"
+ android:layout_width="100px"
+ android:layout_height="100px"
+ android:background="@drawable/blue_padded_square"/>
diff --git a/tests/tests/uirendering/res/layout/simple_rect_layout.xml b/tests/tests/uirendering/res/layout/simple_rect_layout.xml
index e64c4e9..b570df8 100644
--- a/tests/tests/uirendering/res/layout/simple_rect_layout.xml
+++ b/tests/tests/uirendering/res/layout/simple_rect_layout.xml
@@ -13,11 +13,11 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
+ android:id="@+id/test_root"
android:layout_width="match_parent"
- android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ android:orientation="vertical">
<View android:layout_width="100px"
android:layout_height="100px"
diff --git a/tests/tests/uirendering/res/layout/simple_red_layout.xml b/tests/tests/uirendering/res/layout/simple_red_layout.xml
index 1ae3e38..2d2d189 100644
--- a/tests/tests/uirendering/res/layout/simple_red_layout.xml
+++ b/tests/tests/uirendering/res/layout/simple_red_layout.xml
@@ -14,6 +14,7 @@
limitations under the License.
-->
<View xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:id="@+id/test_root"
+ android:layout_width="180px"
+ android:layout_height="180px"
android:background="#f00" />
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/bitmapcomparers/ExactComparer.java b/tests/tests/uirendering/src/android/uirendering/cts/bitmapcomparers/ExactComparer.java
index 978dc0b..36be5f0 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/bitmapcomparers/ExactComparer.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/bitmapcomparers/ExactComparer.java
@@ -41,9 +41,11 @@
for (int x = 0 ; x < width ; x++) {
int index = indexFromXAndY(x, y, stride, offset);
if (ideal[index] != given[index]) {
- Log.d(TAG, "Failure on position x = " + x + " y = " + y);
- Log.d(TAG, "Expected color : " + Integer.toHexString(ideal[index]) +
- " given color : " + Integer.toHexString(given[index]));
+ if (count < 50) {
+ Log.d(TAG, "Failure on position x = " + x + " y = " + y);
+ Log.d(TAG, "Expected color : " + Integer.toHexString(ideal[index]) +
+ " given color : " + Integer.toHexString(given[index]));
+ }
count++;
}
}
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/PerPixelBitmapVerifier.java b/tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/PerPixelBitmapVerifier.java
index ab809f4..0bdcc9b 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/PerPixelBitmapVerifier.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/bitmapverifiers/PerPixelBitmapVerifier.java
@@ -38,30 +38,33 @@
public boolean verify(int[] bitmap, int offset, int stride, int width, int height) {
- boolean res = true;
+ int failCount = 0;
int[] differenceMap = new int[bitmap.length];
for (int y = 0 ; y < height ; y++) {
for (int x = 0 ; x < width ; x++) {
int index = indexFromXAndY(x, y, stride, offset);
int expectedColor = getExpectedColor(x, y);
if (!verifyPixel(bitmap[index], expectedColor)) {
- Log.d(TAG, "Expected : " + Integer.toHexString(expectedColor)
- + " received : " + Integer.toHexString(bitmap[index])
- + " at position (" + x + "," + y + ")");
- res = false;
+ if (failCount < 50) {
+ Log.d(TAG, "Expected : " + Integer.toHexString(expectedColor)
+ + " received : " + Integer.toHexString(bitmap[index])
+ + " at position (" + x + "," + y + ")");
+ }
+ failCount++;
differenceMap[index] = FAIL_COLOR;
} else {
differenceMap[index] = PASS_COLOR;
}
}
}
- if (!res) {
+ boolean success = failCount == 0;
+ if (!success) {
mDifferenceBitmap = Bitmap.createBitmap(ActivityTestBase.TEST_WIDTH,
ActivityTestBase.TEST_HEIGHT, Bitmap.Config.ARGB_8888);
mDifferenceBitmap.setPixels(differenceMap, offset, stride, 0, 0,
ActivityTestBase.TEST_WIDTH, ActivityTestBase.TEST_HEIGHT);
}
- return res;
+ return success;
}
protected boolean verifyPixel(int color, int expectedColor) {
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/LayoutTests.java b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/LayoutTests.java
index 0ba0f69..4667ee9 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/LayoutTests.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/LayoutTests.java
@@ -15,32 +15,26 @@
*/
package android.uirendering.cts.testclasses;
+import android.graphics.Color;
+import android.graphics.Rect;
+import android.uirendering.cts.bitmapverifiers.ColorVerifier;
+import android.uirendering.cts.bitmapverifiers.RectVerifier;
import com.android.cts.uirendering.R;
import android.test.suitebuilder.annotation.SmallTest;
-import android.uirendering.cts.bitmapcomparers.BitmapComparer;
-import android.uirendering.cts.bitmapcomparers.ExactComparer;
import android.uirendering.cts.testinfrastructure.ActivityTestBase;
-
-/**
- * Created to see how custom views made with XML and programatic code will work.
- */
public class LayoutTests extends ActivityTestBase {
- private BitmapComparer mBitmapComparer;
-
- public LayoutTests() {
- mBitmapComparer = new ExactComparer();
- }
-
@SmallTest
public void testSimpleRedLayout() {
- createTest().addLayout(R.layout.simple_red_layout, null).runWithComparer(mBitmapComparer);
+ createTest().addLayout(R.layout.simple_red_layout, null, false).runWithVerifier(
+ new ColorVerifier(Color.RED));
}
@SmallTest
public void testSimpleRectLayout() {
- createTest().addLayout(R.layout.simple_rect_layout, null).runWithComparer(mBitmapComparer);
+ createTest().addLayout(R.layout.simple_rect_layout, null, false).runWithVerifier(
+ new RectVerifier(Color.WHITE, Color.BLUE, new Rect(0, 0, 100, 100)));
}
}
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ViewClippingTests.java b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ViewClippingTests.java
index 1acdc20..da2db48 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ViewClippingTests.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testclasses/ViewClippingTests.java
@@ -62,7 +62,7 @@
};
// TODO: attempt to reduce
- static final int TOLERANCE = 10;
+ static final int TOLERANCE = 16;
static BitmapVerifier makeClipVerifier(Rect blueBoundsRect) {
return new RectVerifier(Color.WHITE, Color.BLUE, blueBoundsRect, TOLERANCE);
}
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java b/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java
index 4d4a012..d24377b 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/testinfrastructure/DrawActivity.java
@@ -22,10 +22,15 @@
import android.os.Handler;
import android.os.Message;
import android.util.AttributeSet;
+import android.util.Log;
import android.view.View;
+import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.webkit.WebView;
+
+import com.android.cts.uirendering.R;
+
/**
* A generic activity that uses a view specified by the user.
*/
@@ -42,12 +47,6 @@
mHandler = new RenderSpecHandler();
}
- @Override
- public View onCreateView(View parent, String name, Context context, AttributeSet attrs) {
- mView = parent;
- return super.onCreateView(parent, name, context, attrs);
- }
-
public void enqueueRenderSpecAndWait(int layoutId, CanvasClient canvasClient, String webViewUrl,
@Nullable ViewInitializer viewInitializer, boolean useHardware) {
((RenderSpecHandler) mHandler).setViewInitializer(viewInitializer);
@@ -85,6 +84,10 @@
switch (message.what) {
case LAYOUT_MSG: {
setContentView(message.arg1);
+ mView = findViewById(R.id.test_root);
+ if (mView == null) {
+ throw new IllegalStateException("test_root failed to inflate");
+ }
} break;
case CANVAS_MSG: {
diff --git a/tests/tests/uirendering/src/android/uirendering/cts/util/BitmapDumper.java b/tests/tests/uirendering/src/android/uirendering/cts/util/BitmapDumper.java
index 41e255b..8dd98b0 100644
--- a/tests/tests/uirendering/src/android/uirendering/cts/util/BitmapDumper.java
+++ b/tests/tests/uirendering/src/android/uirendering/cts/util/BitmapDumper.java
@@ -99,9 +99,25 @@
saveFile(className, testName, SINGULAR_FILE_NAME, bitmap);
}
+ private static void logIfBitmapSolidColor(String bitmapName, Bitmap bitmap) {
+ int firstColor = bitmap.getPixel(0, 0);
+ for (int x = 0; x < bitmap.getWidth(); x++) {
+ for (int y = 0; y < bitmap.getHeight(); y++) {
+ if (bitmap.getPixel(x, y) != firstColor) {
+ return;
+ }
+ }
+ }
+
+ Log.w(TAG, String.format("%s entire bitmap color is %x", bitmapName, firstColor));
+ }
+
private static void saveFile(String className, String testName, String fileName, Bitmap bitmap) {
- Log.d(TAG, "Saving file : " + testName + "_" + fileName + " in directory : " + className);
- File file = new File(CAPTURE_SUB_DIRECTORY + className, testName + "_" + fileName);
+ String bitmapName = testName + "_" + fileName;
+ Log.d(TAG, "Saving file : " + bitmapName + " in directory : " + className);
+ logIfBitmapSolidColor(bitmapName, bitmap);
+
+ File file = new File(CAPTURE_SUB_DIRECTORY + className, bitmapName);
FileOutputStream fileStream = null;
try {
fileStream = new FileOutputStream(file);