Android Open Source - cbl-phonegap-chatdemo C B Lite From Project Back to project page cbl-phonegap-chatdemo .
License The source code is released under:
Apache License
If you think the Android project cbl-phonegap-chatdemo listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.couchbase.cblite.phonegap;
/ * f r o m w w w . j a v a 2 s . c o m * /
import android.content.Context;
import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CordovaWebView;
import org.apache.cordova.CordovaInterface;
import org.json.JSONArray;
import com.couchbase.lite.android.AndroidContext;
import com.couchbase.lite.Manager;
import com.couchbase.lite.listener.LiteListener;
import com.couchbase.lite.listener.LiteServlet;
import com.couchbase.lite.listener.Credentials;
import com.couchbase.lite.router.URLStreamHandlerFactory;
import com.couchbase.lite.View;
import com.couchbase.lite.javascript.JavaScriptViewCompiler;
import com.couchbase.lite.util.Log;
import java.io.IOException;
import java.io.File;
public class CBLite extends CordovaPlugin {
private static final int DEFAULT_LISTEN_PORT = 5984;
private boolean initFailed = false;
private int listenPort;
private Credentials allowedCredentials;
/**
* Constructor.
*/
public CBLite() {
super ();
System.out.println("CBLite() constructor called" );
}
public void initialize(CordovaInterface cordova, CordovaWebView webView) {
System.out.println("initialize() called" );
super.initialize(cordova, webView);
initCBLite();
}
private void initCBLite() {
try {
allowedCredentials = new Credentials();
URLStreamHandlerFactory.registerSelfIgnoreError();
View.setCompiler(new JavaScriptViewCompiler());
Manager server = startCBLite(this.cordova.getActivity());
listenPort = startCBLListener(DEFAULT_LISTEN_PORT, server, allowedCredentials);
System.out.println("initCBLite() completed successfully" );
} catch (final Exception e) {
e.printStackTrace();
initFailed = true;
}
}
@Override
public boolean execute(String action, JSONArray args,
CallbackContext callback) {
if (action.equals("getURL" )) {
try {
if (initFailed == true) {
callback.error("Failed to initialize couchbase lite. See console logs" );
return false;
} else {
String callbackRespone = String.format(
"http://%s:%s@localhost:%d/" ,
allowedCredentials.getLogin(),
allowedCredentials.getPassword(),
listenPort
);
callback.success(callbackRespone);
return true;
}
} catch (final Exception e) {
e.printStackTrace();
callback.error(e.getMessage());
}
}
return false;
}
protected Manager startCBLite(Context context) {
Manager manager;
try {
Manager.enableLogging(Log.TAG, Log.VERBOSE);
Manager.enableLogging(Log.TAG_SYNC, Log.VERBOSE);
Manager.enableLogging(Log.TAG_QUERY, Log.VERBOSE);
Manager.enableLogging(Log.TAG_VIEW, Log.VERBOSE);
Manager.enableLogging(Log.TAG_CHANGE_TRACKER, Log.VERBOSE);
Manager.enableLogging(Log.TAG_BLOB_STORE, Log.VERBOSE);
Manager.enableLogging(Log.TAG_DATABASE, Log.VERBOSE);
Manager.enableLogging(Log.TAG_LISTENER, Log.VERBOSE);
Manager.enableLogging(Log.TAG_MULTI_STREAM_WRITER, Log.VERBOSE);
Manager.enableLogging(Log.TAG_REMOTE_REQUEST, Log.VERBOSE);
Manager.enableLogging(Log.TAG_ROUTER, Log.VERBOSE);
manager = new Manager(new AndroidContext(context), Manager.DEFAULT_OPTIONS);
} catch (IOException e) {
throw new RuntimeException(e);
}
return manager;
}
private int startCBLListener(int listenPort, Manager manager, Credentials allowedCredentials) {
LiteListener listener = new LiteListener(manager, listenPort, allowedCredentials);
int boundPort = listener.getListenPort();
Thread thread = new Thread(listener);
thread.start();
return boundPort;
}
public void onResume(boolean multitasking) {
System.out.println("CBLite.onResume() called" );
}
public void onPause(boolean multitasking) {
System.out.println("CBLite.onPause() called" );
}
}
Java Source Code List com.couchbase.cblite.phonegap.CBLite.java com.couchbase.cblite.phonegap.CBLite.java com.phonegap.helloworld.CordovaApp.java com.squareup.okhttp.Address.java com.squareup.okhttp.ConnectionPool.java com.squareup.okhttp.Connection.java com.squareup.okhttp.Dispatcher.java com.squareup.okhttp.Failure.java com.squareup.okhttp.HttpResponseCache.java com.squareup.okhttp.Job.java com.squareup.okhttp.MediaType.java com.squareup.okhttp.OkAuthenticator.java com.squareup.okhttp.OkHttpClient.java com.squareup.okhttp.OkResponseCache.java com.squareup.okhttp.Request.java com.squareup.okhttp.ResponseSource.java com.squareup.okhttp.Response.java com.squareup.okhttp.RouteDatabase.java com.squareup.okhttp.Route.java com.squareup.okhttp.TunnelRequest.java com.squareup.okhttp.internal.AbstractOutputStream.java com.squareup.okhttp.internal.Base64.java com.squareup.okhttp.internal.DiskLruCache.java com.squareup.okhttp.internal.Dns.java com.squareup.okhttp.internal.FaultRecoveringOutputStream.java com.squareup.okhttp.internal.NamedRunnable.java com.squareup.okhttp.internal.Platform.java com.squareup.okhttp.internal.StrictLineReader.java com.squareup.okhttp.internal.Util.java com.squareup.okhttp.internal.http.AbstractHttpInputStream.java com.squareup.okhttp.internal.http.HeaderParser.java com.squareup.okhttp.internal.http.HttpAuthenticator.java com.squareup.okhttp.internal.http.HttpDate.java com.squareup.okhttp.internal.http.HttpEngine.java com.squareup.okhttp.internal.http.HttpTransport.java com.squareup.okhttp.internal.http.HttpURLConnectionImpl.java com.squareup.okhttp.internal.http.HttpsEngine.java com.squareup.okhttp.internal.http.HttpsURLConnectionImpl.java com.squareup.okhttp.internal.http.OkResponseCacheAdapter.java com.squareup.okhttp.internal.http.Policy.java com.squareup.okhttp.internal.http.RawHeaders.java com.squareup.okhttp.internal.http.RequestHeaders.java com.squareup.okhttp.internal.http.ResponseHeaders.java com.squareup.okhttp.internal.http.RetryableOutputStream.java com.squareup.okhttp.internal.http.RouteSelector.java com.squareup.okhttp.internal.http.SpdyTransport.java com.squareup.okhttp.internal.http.Transport.java com.squareup.okhttp.internal.http.UnknownLengthHttpInputStream.java com.squareup.okhttp.internal.spdy.ErrorCode.java com.squareup.okhttp.internal.spdy.FrameReader.java com.squareup.okhttp.internal.spdy.FrameWriter.java com.squareup.okhttp.internal.spdy.HeadersMode.java com.squareup.okhttp.internal.spdy.Hpack.java com.squareup.okhttp.internal.spdy.Http20Draft06.java com.squareup.okhttp.internal.spdy.IncomingStreamHandler.java com.squareup.okhttp.internal.spdy.NameValueBlockReader.java com.squareup.okhttp.internal.spdy.Ping.java com.squareup.okhttp.internal.spdy.Settings.java com.squareup.okhttp.internal.spdy.Spdy3.java com.squareup.okhttp.internal.spdy.SpdyConnection.java com.squareup.okhttp.internal.spdy.SpdyStream.java com.squareup.okhttp.internal.spdy.Variant.java com.squareup.okhttp.internal.tls.DistinguishedNameParser.java com.squareup.okhttp.internal.tls.OkHostnameVerifier.java org.apache.cordova.App.java org.apache.cordova.AuthenticationToken.java org.apache.cordova.CallbackContext.java org.apache.cordova.ConfigXmlParser.java org.apache.cordova.Config.java org.apache.cordova.CordovaActivity.java org.apache.cordova.CordovaArgs.java org.apache.cordova.CordovaBridge.java org.apache.cordova.CordovaChromeClient.java org.apache.cordova.CordovaInterface.java org.apache.cordova.CordovaPlugin.java org.apache.cordova.CordovaPreferences.java org.apache.cordova.CordovaResourceApi.java org.apache.cordova.CordovaUriHelper.java org.apache.cordova.CordovaWebViewClient.java org.apache.cordova.CordovaWebView.java org.apache.cordova.DirectoryManager.java org.apache.cordova.DroidGap.java org.apache.cordova.ExifHelper.java org.apache.cordova.ExposedJsApi.java org.apache.cordova.FileHelper.java org.apache.cordova.IceCreamCordovaWebViewClient.java org.apache.cordova.JSONUtils.java org.apache.cordova.LOG.java org.apache.cordova.LinearLayoutSoftKeyboardDetect.java org.apache.cordova.NativeToJsMessageQueue.java org.apache.cordova.PluginEntry.java org.apache.cordova.PluginManager.java org.apache.cordova.PluginResult.java org.apache.cordova.ScrollEvent.java org.apache.cordova.Whitelist.java