Merge "Fixing Video perf test" into klp-dev
diff --git a/suite/cts/deviceTests/opengl/jni/primitive/contextswitch/ContextSwitchRenderer.cpp b/suite/cts/deviceTests/opengl/jni/primitive/contextswitch/ContextSwitchRenderer.cpp
index 171f8fe..7fd4093 100644
--- a/suite/cts/deviceTests/opengl/jni/primitive/contextswitch/ContextSwitchRenderer.cpp
+++ b/suite/cts/deviceTests/opengl/jni/primitive/contextswitch/ContextSwitchRenderer.cpp
@@ -216,6 +216,8 @@
}
}
+ eglDestroySyncKHR(mEglDisplay, fence);
+
// Switch back to the main context.
eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext);
if (mOffscreen) {
diff --git a/tests/res/drawable/no_padding.png b/tests/res/drawable/no_padding.png
new file mode 100644
index 0000000..7d4c27c
--- /dev/null
+++ b/tests/res/drawable/no_padding.png
Binary files differ
diff --git a/tests/res/layout/view_layout.xml b/tests/res/layout/view_layout.xml
index cb444a5..d30c733 100644
--- a/tests/res/layout/view_layout.xml
+++ b/tests/res/layout/view_layout.xml
@@ -85,4 +85,12 @@
android:paddingBottom="0dp"
android:background="@drawable/padding_0" />
+ <android.view.cts.MockView
+ android:id="@+id/mock_view_padding_runtime_updated"
+ android:layout_width="200px"
+ android:layout_height="200px"
+ android:paddingStart="8dp"
+ android:paddingEnd="8dp"
+ android:background="@drawable/no_padding" />
+
</LinearLayout>
diff --git a/tests/tests/view/src/android/view/cts/ViewTest.java b/tests/tests/view/src/android/view/cts/ViewTest.java
index 5e0dbe9..1066e67 100644
--- a/tests/tests/view/src/android/view/cts/ViewTest.java
+++ b/tests/tests/view/src/android/view/cts/ViewTest.java
@@ -2839,6 +2839,39 @@
assertEquals(backgroundPadding.top, view.getPaddingTop());
assertEquals(backgroundPadding.right, view.getPaddingRight());
assertEquals(0, view.getPaddingBottom());
+
+ // Case for interleaved background/padding changes
+ view = (MockView) mActivity.findViewById(R.id.mock_view_padding_runtime_updated);
+ background = view.getBackground();
+ backgroundPadding = new Rect();
+ background.getPadding(backgroundPadding);
+
+ // There is some background with a null padding
+ assertNotNull(background);
+ assertTrue(backgroundPadding.left == 0);
+ assertTrue(backgroundPadding.right == 0);
+ assertTrue(backgroundPadding.top == 0);
+ assertTrue(backgroundPadding.bottom == 0);
+
+ final int paddingLeft = view.getPaddingLeft();
+ final int paddingRight = view.getPaddingRight();
+ final int paddingTop = view.getPaddingTop();
+ final int paddingBottom = view.getPaddingBottom();
+ assertEquals(24, paddingLeft);
+ assertEquals(0, paddingTop);
+ assertEquals(24, paddingRight);
+ assertEquals(0, paddingBottom);
+
+ // Manipulate background and padding
+ background.setState(view.getDrawableState());
+ background.jumpToCurrentState();
+ view.setBackground(background);
+ view.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);
+
+ assertEquals(24, view.getPaddingLeft());
+ assertEquals(0, view.getPaddingTop());
+ assertEquals(24, view.getPaddingRight());
+ assertEquals(0, view.getPaddingBottom());
}
public void testGetWindowVisibleDisplayFrame() {