diff options
author | John Reck <jreck@google.com> | 2012-10-22 16:21:31 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2012-10-22 16:21:31 -0700 |
commit | 1c8c1caf73cb01f1ba3652fcc8e3f7408e47438f (patch) | |
tree | 3eeda7c4817b678e1dacf2a6e3e224f209cc5e83 | |
parent | 4e5e4dce7403b1335b6d22f085d0e0faf329cf83 (diff) | |
parent | ff4e0460b4cdeb329e37cb5f41eedc45717a17c4 (diff) | |
download | android_packages_apps_Gallery2-1c8c1caf73cb01f1ba3652fcc8e3f7408e47438f.tar.gz android_packages_apps_Gallery2-1c8c1caf73cb01f1ba3652fcc8e3f7408e47438f.tar.bz2 android_packages_apps_Gallery2-1c8c1caf73cb01f1ba3652fcc8e3f7408e47438f.zip |
am ff4e0460: Merge "Drive GLRootView with Choreographer" into gb-ub-photos-arches
* commit 'ff4e0460b4cdeb329e37cb5f41eedc45717a17c4':
Drive GLRootView with Choreographer
-rw-r--r-- | gallerycommon/src/com/android/gallery3d/common/ApiHelper.java | 3 | ||||
-rw-r--r-- | src/com/android/gallery3d/ui/GLRootView.java | 15 |
2 files changed, 18 insertions, 0 deletions
diff --git a/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java b/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java index a393025fa..837777e51 100644 --- a/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java +++ b/gallerycommon/src/com/android/gallery3d/common/ApiHelper.java @@ -167,6 +167,9 @@ public class ApiHelper { public static final boolean HAS_VIEW_PROPERTY_ANIMATOR = Build.VERSION.SDK_INT >= VERSION_CODES.HONEYCOMB_MR1; + public static final boolean HAS_POST_ON_ANIMATION = + Build.VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN; + public static int getIntFieldIfExists(Class<?> klass, String fieldName, Class<?> obj, int defaultVal) { try { 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(); } |