Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4068)

Unified Diff: sky/shell/org/domokit/sky/shell/SkyApplication.java

Issue 969753003: Make it possible for SkyShell embedders to register services (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sky/shell/org/domokit/sky/shell/SkyApplication.java
diff --git a/sky/shell/org/domokit/sky/shell/SkyApplication.java b/sky/shell/org/domokit/sky/shell/SkyApplication.java
index 0faf0c5d78e0aa5d203f4b11f9ac28961f6d44de..54798de6802b290989c6d0f8db34903fe105a597 100644
--- a/sky/shell/org/domokit/sky/shell/SkyApplication.java
+++ b/sky/shell/org/domokit/sky/shell/SkyApplication.java
@@ -4,6 +4,7 @@
package org.domokit.sky.shell;
+import android.content.Context;
import android.util.Log;
import org.chromium.base.BaseChromiumApplication;
@@ -12,16 +13,20 @@ import org.chromium.base.ResourceExtractor;
import org.chromium.base.library_loader.LibraryLoader;
import org.chromium.base.library_loader.LibraryProcessType;
import org.chromium.base.library_loader.ProcessInitException;
+import org.chromium.mojo.system.Core;
+import org.chromium.mojo.system.MessagePipeHandle;
+import org.chromium.mojom.mojo.NetworkService;
+import org.domokit.oknet.NetworkServiceImpl;
/**
- * MojoShell implementation of {@link android.app.Application}, managing application-level global
+ * Sky implementation of {@link android.app.Application}, managing application-level global
* state and initializations.
*/
public class SkyApplication extends BaseChromiumApplication {
private static final String TAG = "SkyApplication";
private static final String PRIVATE_DATA_DIRECTORY_SUFFIX = "sky_shell";
private static final String[] SKY_MANDATORY_PAKS = {
- "icudtl.dat",
+ "icudtl.dat",
};
@Override
@@ -29,19 +34,14 @@ public class SkyApplication extends BaseChromiumApplication {
super.onCreate();
initializeJavaUtils();
initializeNative();
+ initializeServiceRegistry();
ResourceExtractor.setMandatoryPaksToExtract(SKY_MANDATORY_PAKS);
}
- /**
- * Initializes Java-side utils.
- */
private void initializeJavaUtils() {
PathUtils.setPrivateDataDirectorySuffix(PRIVATE_DATA_DIRECTORY_SUFFIX);
}
- /**
- * Loads the native library.
- */
private void initializeNative() {
try {
LibraryLoader.get(LibraryProcessType.PROCESS_BROWSER).ensureInitialized();
@@ -50,4 +50,12 @@ public class SkyApplication extends BaseChromiumApplication {
throw new RuntimeException(e);
}
}
+
+ private void initializeServiceRegistry() {
+ ServiceRegistry.SHARED.register(NetworkService.MANAGER.getName(), new ServiceFactory() {
+ public void connectToService(Context context, Core core, MessagePipeHandle pipe) {
+ new NetworkServiceImpl(context, core, pipe);
+ }
+ });
+ }
}

Powered by Google App Engine
This is Rietveld 408576698