Index: sky/shell/org/domokit/sky/shell/JavaServiceProvider.java |
diff --git a/sky/shell/org/domokit/sky/shell/JavaServiceProvider.java b/sky/shell/org/domokit/sky/shell/JavaServiceProvider.java |
index ad1b0b2695883a2e0ec0a45757769775d598baba..05fefbe16e038398bfdc5f01641aba2496b5b156 100644 |
--- a/sky/shell/org/domokit/sky/shell/JavaServiceProvider.java |
+++ b/sky/shell/org/domokit/sky/shell/JavaServiceProvider.java |
@@ -4,6 +4,8 @@ |
package org.domokit.sky.shell; |
+import android.content.Context; |
+ |
import org.chromium.base.CalledByNative; |
import org.chromium.base.JNINamespace; |
import org.chromium.mojo.system.Core; |
@@ -13,7 +15,9 @@ import org.chromium.mojo.system.Pair; |
import org.chromium.mojo.system.impl.CoreImpl; |
import org.chromium.mojom.mojo.NetworkService; |
import org.chromium.mojom.mojo.ServiceProvider; |
+import org.chromium.mojom.sensors.SensorService; |
import org.domokit.oknet.NetworkServiceImpl; |
+import org.domokit.sensors.SensorServiceImpl; |
/** |
* A class to intialize the network. |
@@ -21,19 +25,22 @@ import org.domokit.oknet.NetworkServiceImpl; |
@JNINamespace("sky::shell") |
public class JavaServiceProvider implements ServiceProvider { |
private Core mCore; |
+ private Context mContext; |
@SuppressWarnings("unused") |
@CalledByNative |
- public static int create() { |
+ public static int create(Context context) { |
Core core = CoreImpl.getInstance(); |
Pair<MessagePipeHandle, MessagePipeHandle> messagePipe = core.createMessagePipe(null); |
- ServiceProvider.MANAGER.bind(new JavaServiceProvider(core), messagePipe.first); |
+ ServiceProvider.MANAGER.bind(new JavaServiceProvider(core, context), messagePipe.first); |
return messagePipe.second.releaseNativeHandle(); |
} |
- public JavaServiceProvider(Core core) { |
+ public JavaServiceProvider(Core core, Context context) { |
assert core != null; |
+ assert context != null; |
mCore = core; |
+ mContext = context; |
} |
@Override |
@@ -45,7 +52,10 @@ public class JavaServiceProvider implements ServiceProvider { |
@Override |
public void connectToService(String interfaceName, MessagePipeHandle pipe) { |
if (interfaceName.equals(NetworkService.MANAGER.getName())) { |
- NetworkService.MANAGER.bind(new NetworkServiceImpl(mCore), pipe); |
+ new NetworkServiceImpl(mContext, mCore, pipe); |
+ return; |
+ } else if (interfaceName.equals(SensorService.MANAGER.getName())) { |
+ new SensorServiceImpl(mContext, mCore, pipe); |
return; |
} |
pipe.close(); |