Index: shell/android/apk/src/org/chromium/mojo/shell/VsyncFactory.java |
diff --git a/shell/android/apk/src/org/chromium/mojo/shell/VsyncFactory.java b/shell/android/apk/src/org/chromium/mojo/shell/VsyncFactory.java |
index b159ce2099eca7bb04cdfa9f2713ff8058f54035..c050af31be37a1de98c4b0c45a2c914d4a2205e7 100644 |
--- a/shell/android/apk/src/org/chromium/mojo/shell/VsyncFactory.java |
+++ b/shell/android/apk/src/org/chromium/mojo/shell/VsyncFactory.java |
@@ -4,11 +4,11 @@ |
package org.chromium.mojo.shell; |
+import android.os.Handler; |
import android.os.Looper; |
import org.chromium.mojo.application.ServiceFactoryBinder; |
import org.chromium.mojo.bindings.InterfaceRequest; |
-import org.chromium.mojo.system.impl.CoreImpl; |
import org.chromium.mojo.vsync.VSyncProviderImpl; |
import org.chromium.mojom.vsync.VSyncProvider; |
@@ -16,16 +16,21 @@ import org.chromium.mojom.vsync.VSyncProvider; |
* A ServiceFactoryBinder for the vsync service. |
*/ |
final class VsyncFactory implements ServiceFactoryBinder<VSyncProvider> { |
- private final Looper mLooper; |
+ private final Handler mHandler; |
public VsyncFactory(Looper looper) { |
- mLooper = looper; |
+ mHandler = new Handler(looper); |
} |
@Override |
- public void bind(InterfaceRequest<VSyncProvider> request) { |
- VSyncProviderImpl implementation = new VSyncProviderImpl(CoreImpl.getInstance(), mLooper); |
- implementation.setBinding(VSyncProvider.MANAGER.bind(implementation, request)); |
+ public void bind(final InterfaceRequest<VSyncProvider> request) { |
+ mHandler.post(new Runnable() { |
+ @Override |
+ public void run() { |
+ VSyncProviderImpl implementation = new VSyncProviderImpl(); |
+ implementation.setBinding(VSyncProvider.MANAGER.bind(implementation, request)); |
+ } |
+ }); |
} |
@Override |