diff options
author | John Reck <jreck@google.com> | 2012-10-22 16:11:01 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2012-10-22 16:11:01 -0700 |
commit | ccd5750055f6b692f4d5bb9fd1a1a8428966cbed (patch) | |
tree | bb263bb55229476b232272484badbdba614fe87f /src/com/android/gallery3d/ui | |
parent | 82da3e8e16187b8c13c1382b487b4735b7f1d94a (diff) | |
download | android_packages_apps_Snap-ccd5750055f6b692f4d5bb9fd1a1a8428966cbed.tar.gz android_packages_apps_Snap-ccd5750055f6b692f4d5bb9fd1a1a8428966cbed.tar.bz2 android_packages_apps_Snap-ccd5750055f6b692f4d5bb9fd1a1a8428966cbed.zip |
Drive GLRootView with Choreographer
Bug: 7332724
By routing requestRender through postOnAnimation we can drive
the GLRootView's rendering with the UI thread's coreographer, which
ensures that touch events are processed before drawing
Change-Id: Iac2b3229e9a09ee0319c64c5fc7cb906512a379c
Diffstat (limited to 'src/com/android/gallery3d/ui')
-rw-r--r-- | src/com/android/gallery3d/ui/GLRootView.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/com/android/gallery3d/ui/GLRootView.java b/src/com/android/gallery3d/ui/GLRootView.java index dbdfb6716..b400b05c6 100644 --- a/src/com/android/gallery3d/ui/GLRootView.java +++ b/src/com/android/gallery3d/ui/GLRootView.java @@ -177,6 +177,21 @@ public class GLRootView extends GLSurfaceView } if (mRenderRequested) return; mRenderRequested = true; + if (ApiHelper.HAS_POST_ON_ANIMATION) { + postOnAnimation(mRequestRenderOnAnimationFrame); + } else { + super.requestRender(); + } + } + + private Runnable mRequestRenderOnAnimationFrame = new Runnable() { + @Override + public void run() { + superRequestRender(); + } + }; + + private void superRequestRender() { super.requestRender(); } |