| Index: services/vsync/src/org/chromium/mojo/vsync/VSyncProviderImpl.java
|
| diff --git a/services/vsync/src/org/chromium/mojo/vsync/VSyncProviderImpl.java b/services/vsync/src/org/chromium/mojo/vsync/VSyncProviderImpl.java
|
| index adca2bc38868191bbee83077214148079e1350c4..3c8cc117cff646b6646c3330e92ea928cc2e52d2 100644
|
| --- a/services/vsync/src/org/chromium/mojo/vsync/VSyncProviderImpl.java
|
| +++ b/services/vsync/src/org/chromium/mojo/vsync/VSyncProviderImpl.java
|
| @@ -4,42 +4,21 @@
|
|
|
| package org.chromium.mojo.vsync;
|
|
|
| -import android.os.Handler;
|
| -import android.os.Looper;
|
| import android.view.Choreographer;
|
|
|
| -import org.chromium.mojo.system.Core;
|
| import org.chromium.mojo.system.MojoException;
|
| -import org.chromium.mojo.system.RunLoop;
|
| import org.chromium.mojom.vsync.VSyncProvider;
|
|
|
| /**
|
| * Android implementation of VSyncProvider.
|
| */
|
| public class VSyncProviderImpl implements VSyncProvider, Choreographer.FrameCallback {
|
| - private final RunLoop mRunLoop;
|
| - private Choreographer mChoreographer;
|
| + private final Choreographer mChoreographer;
|
| private AwaitVSyncResponse mCallback;
|
| private Binding mBinding = null;
|
|
|
| - public VSyncProviderImpl(Core core, Looper looper) {
|
| - mRunLoop = core.getCurrentRunLoop();
|
| - // The choreographer must be initialized on a thread with a looper.
|
| - new Handler(looper).post(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - final Choreographer choreographer = Choreographer.getInstance();
|
| - mRunLoop.postDelayedTask(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - mChoreographer = choreographer;
|
| - if (mCallback != null) {
|
| - mChoreographer.postFrameCallback(VSyncProviderImpl.this);
|
| - }
|
| - }
|
| - }, 0);
|
| - }
|
| - });
|
| + public VSyncProviderImpl() {
|
| + mChoreographer = Choreographer.getInstance();
|
| }
|
|
|
| public void setBinding(Binding binding) {
|
| @@ -62,20 +41,12 @@ public class VSyncProviderImpl implements VSyncProvider, Choreographer.FrameCall
|
| return;
|
| }
|
| mCallback = callback;
|
| - if (mChoreographer != null) {
|
| - // Posting from another thread is allowed on a choreographer.
|
| - mChoreographer.postFrameCallback(this);
|
| - }
|
| + mChoreographer.postFrameCallback(this);
|
| }
|
|
|
| @Override
|
| public void doFrame(final long frameTimeNanos) {
|
| - mRunLoop.postDelayedTask(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - mCallback.call(frameTimeNanos / 1000);
|
| - mCallback = null;
|
| - }
|
| - }, 0);
|
| + mCallback.call(frameTimeNanos / 1000);
|
| + mCallback = null;
|
| }
|
| }
|
|
|