diff options
author | Romain Guy <romainguy@google.com> | 2011-08-12 15:25:28 -0700 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2011-08-12 15:25:28 -0700 |
commit | 50d133e290468fd149b5c03e46549afca2ee05f8 (patch) | |
tree | 32246d9ec539009b51d11c01fcc025ee27b068a6 /core/java | |
parent | e5df231434357424cea8d2b8d0cdf31253a98110 (diff) | |
download | frameworks_base-50d133e290468fd149b5c03e46549afca2ee05f8.zip frameworks_base-50d133e290468fd149b5c03e46549afca2ee05f8.tar.gz frameworks_base-50d133e290468fd149b5c03e46549afca2ee05f8.tar.bz2 |
<blink/> is not an acceptable default behavior.
Bug #5156334
Change-Id: I9f803b090e81f4e490d0cccd6347a0f9f64bd20f
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/view/HardwareRenderer.java | 10 | ||||
-rw-r--r-- | core/java/android/view/ViewRootImpl.java | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java index f2b6b1f..f2c3131 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 380fc15..f23c366 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) { |