summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2011-08-12 19:39:20 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2011-08-12 19:39:20 -0700
commit3a5f2e6f09ec473149596fb7ac5aefe6c7e83583 (patch)
tree46e69a852aceb6ceff520adcfcb9195ae2afdf67
parent9beeb95c80007106f71eb355c6682cddfc8e0305 (diff)
parent50d133e290468fd149b5c03e46549afca2ee05f8 (diff)
Merge "<blink/> is not an acceptable default behavior. Bug #5156334"
-rw-r--r--core/java/android/view/HardwareRenderer.java10
-rw-r--r--core/java/android/view/ViewRootImpl.java4
2 files changed, 11 insertions, 3 deletions
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java
index f2b6b1fd870b..f2c3131ffd84 100644
--- a/core/java/android/view/HardwareRenderer.java
+++ b/core/java/android/view/HardwareRenderer.java
@@ -199,8 +199,10 @@ public abstract class HardwareRenderer {
* @param attachInfo AttachInfo tied to the specified view.
* @param callbacks Callbacks invoked when drawing happens.
* @param dirty The dirty rectangle to update, can be null.
+ *
+ * @return true if the dirty rect was ignored, false otherwise
*/
- abstract void draw(View view, View.AttachInfo attachInfo, HardwareDrawCallbacks callbacks,
+ abstract boolean draw(View view, View.AttachInfo attachInfo, HardwareDrawCallbacks callbacks,
Rect dirty);
/**
@@ -757,7 +759,7 @@ public abstract class HardwareRenderer {
}
@Override
- void draw(View view, View.AttachInfo attachInfo, HardwareDrawCallbacks callbacks,
+ boolean draw(View view, View.AttachInfo attachInfo, HardwareDrawCallbacks callbacks,
Rect dirty) {
if (canDraw()) {
if (!hasDirtyRegions()) {
@@ -825,8 +827,12 @@ public abstract class HardwareRenderer {
sEgl.eglSwapBuffers(sEglDisplay, mEglSurface);
checkEglErrors();
+
+ return dirty == null;
}
}
+
+ return false;
}
/**
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index 380fc156a225..f23c3669b4f5 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -1798,7 +1798,9 @@ public final class ViewRootImpl extends Handler implements ViewParent,
currentDirty = null;
}
- mAttachInfo.mHardwareRenderer.draw(mView, mAttachInfo, this, currentDirty);
+ if (mAttachInfo.mHardwareRenderer.draw(mView, mAttachInfo, this, currentDirty)) {
+ mPreviousDirty.set(0, 0, mWidth, mHeight);
+ }
}
if (animating) {