Android Open Source - kirin-for-android Kirin






From Project

Back to project page kirin-for-android.

License

The source code is released under:

Apache License

If you think the Android project kirin-for-android 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.futureplatforms.kirin;
//from   w  w  w  .j a v a2s  .c om
import android.app.Activity;
import android.app.Application;
import android.content.Context;

import com.futureplatforms.kirin.extensions.IKirinExtension;
import com.futureplatforms.kirin.extensions.KirinExtensions;
import com.futureplatforms.kirin.helpers.IKirinHelper;
import com.futureplatforms.kirin.helpers.KirinApplicationHelper;
import com.futureplatforms.kirin.helpers.KirinExtensionHelper;
import com.futureplatforms.kirin.helpers.KirinHelper;
import com.futureplatforms.kirin.helpers.KirinScreenHelper;
import com.futureplatforms.kirin.helpers.KirinUiFragmentHelper;
import com.futureplatforms.kirin.internal.core.IJsContext;
import com.futureplatforms.kirin.internal.core.IKirinState;
import com.futureplatforms.kirin.internal.core.INativeContext;
import com.futureplatforms.kirin.internal.core.KirinAppState;
import com.futureplatforms.kirin.internal.core.KirinWebViewHolder;
import com.futureplatforms.kirin.internal.core.NativeContext;

public class Kirin {

  private final INativeContext mNativeContext;
  
  private final IJsContext mJsContext;
  
  private final IKirinState mKirinState;
  
  private final Context mContext;
  
  private KirinExtensions mKirinExtensions = null;
  

  public static Kirin create(Context context) {
    return new Kirin(context, null, null, null);
  }

  public Kirin(Context androidContext, INativeContext nativeContext, IJsContext jsContext, IKirinState state) {
    mContext = androidContext.getApplicationContext();
    if (nativeContext == null) {
      nativeContext = new NativeContext();
    }
    mNativeContext = nativeContext;
    
    if (jsContext == null) {
      jsContext = new KirinWebViewHolder(mContext, mNativeContext);
    }
    mJsContext = jsContext;
    
    if (state == null) {
      state = new KirinAppState(mContext);
    }
    mKirinState = state;
  }
  
  public IKirinHelper bindObject(String moduleName, Object nativeObject) {
    ensureStarted();
    return new KirinHelper(nativeObject, moduleName, mJsContext, mNativeContext, mKirinState);
  }
  
  public KirinUiFragmentHelper bindFragment(String moduleName, Object nativeObject) {
    ensureStarted();
    return new KirinUiFragmentHelper(nativeObject, moduleName, mJsContext, mNativeContext, mKirinState);
  }
  
  public KirinScreenHelper bindScreen(String moduleName, Activity activity) {
    ensureStarted();
    return new KirinScreenHelper(activity, moduleName, mJsContext, mNativeContext, mKirinState);
  }
  
  public KirinExtensionHelper bindExtension(String moduleName, IKirinExtension extension) {
    return new KirinExtensionHelper(extension, moduleName, mJsContext, mNativeContext, mKirinState);
  }
  
  public KirinApplicationHelper bindApplication(String moduleName, Application application) {
    ensureStarted();
    return new KirinApplicationHelper(application, moduleName, mJsContext, mNativeContext, mKirinState);
  }
  
  private void ensureStarted() {
    getKirinExtensions().ensureStarted();
  }
  
  public void setKirinExtensions(KirinExtensions kirinExtensions) {
    if (kirinExtensions != null && mKirinExtensions != null) {
      throw new IllegalStateException("Cannot change KirinServices contained once the first service has been added");
    }
    mKirinExtensions = kirinExtensions;
  }
  
  public KirinExtensions getKirinExtensions() {
    if (mKirinExtensions == null) {
      setKirinExtensions(KirinExtensions.coreExtensions(mContext));
    }
    return mKirinExtensions;
  }

  
}




Java Source Code List

com.futureplatforms.kirin.C.java
com.futureplatforms.kirin.Kirin.java
com.futureplatforms.kirin.TestingApplication.java
com.futureplatforms.kirin.activities.KirinActivity.java
com.futureplatforms.kirin.activities.KirinListActivity.java
com.futureplatforms.kirin.application.IKirinApplication.java
com.futureplatforms.kirin.application.KirinApplication.java
com.futureplatforms.kirin.extensions.IKirinExtensionOnNonDefaultThread.java
com.futureplatforms.kirin.extensions.IKirinExtensionOnUiThread.java
com.futureplatforms.kirin.extensions.IKirinExtension.java
com.futureplatforms.kirin.extensions.IProguardImmunity.java
com.futureplatforms.kirin.extensions.KirinExtensionAdapter.java
com.futureplatforms.kirin.extensions.KirinExtensions.java
com.futureplatforms.kirin.extensions.databases.DBStatement.java
com.futureplatforms.kirin.extensions.databases.DBTransaction.java
com.futureplatforms.kirin.extensions.databases.DatabasesBackend.java
com.futureplatforms.kirin.extensions.databases.IDatabasesBackend.java
com.futureplatforms.kirin.extensions.fs.KirinFilesystemExtensionImpl.java
com.futureplatforms.kirin.extensions.localnotifications.ILocalNotificationsBackend.java
com.futureplatforms.kirin.extensions.localnotifications.LocalNotificationAlarmReceiver.java
com.futureplatforms.kirin.extensions.localnotifications.LocalNotificationsBackend.java
com.futureplatforms.kirin.extensions.networking.INetworkingBackend.java
com.futureplatforms.kirin.extensions.networking.KirinXHRExtensionImpl.java
com.futureplatforms.kirin.extensions.networking.NetworkingBackend.java
com.futureplatforms.kirin.extensions.settings.ISettingsBackend.java
com.futureplatforms.kirin.extensions.settings.PreferencesBackendImpl.java
com.futureplatforms.kirin.extensions.settings.SettingsBackend.java
com.futureplatforms.kirin.generated.fs.KirinCallback.java
com.futureplatforms.kirin.generated.fs.KirinFile.java
com.futureplatforms.kirin.generated.fs.KirinFilesystemExtension.java
com.futureplatforms.kirin.generated.fs.KirinFilesystem.java
com.futureplatforms.kirin.generated.fs.KirinFoundFile.java
com.futureplatforms.kirin.generated.fs.KirinOptionalCallback.java
com.futureplatforms.kirin.generated.location.KirinLocationBackend.java
com.futureplatforms.kirin.generated.location.KirinLocationData.java
com.futureplatforms.kirin.generated.location.KirinLocationListener.java
com.futureplatforms.kirin.generated.location.KirinLocationPermissions.java
com.futureplatforms.kirin.generated.location.KirinLocation.java
com.futureplatforms.kirin.generated.preferences.KirinPreferenceListener.java
com.futureplatforms.kirin.generated.preferences.KirinPreferencesBackend.java
com.futureplatforms.kirin.generated.preferences.KirinPreferences.java
com.futureplatforms.kirin.generated.xhr.KirinXHRExtension.java
com.futureplatforms.kirin.generated.xhr.KirinXHRProgressEvent.java
com.futureplatforms.kirin.generated.xhr.KirinXHRResponse.java
com.futureplatforms.kirin.generated.xhr.KirinXHRequest.java
com.futureplatforms.kirin.generated.xhr.KirinXMLHTTPRequest.java
com.futureplatforms.kirin.helpers.IKirinExtensionHelper.java
com.futureplatforms.kirin.helpers.IKirinHelper.java
com.futureplatforms.kirin.helpers.KirinApplicationHelper.java
com.futureplatforms.kirin.helpers.KirinExtensionHelper.java
com.futureplatforms.kirin.helpers.KirinHelper.java
com.futureplatforms.kirin.helpers.KirinScreenHelper.java
com.futureplatforms.kirin.helpers.KirinUiFragmentHelper.java
com.futureplatforms.kirin.internal.JSONUtils.java
com.futureplatforms.kirin.internal.KirinPaths.java
com.futureplatforms.kirin.internal.attic.IOUtils.java
com.futureplatforms.kirin.internal.attic.KirinDropbox.java
com.futureplatforms.kirin.internal.attic.ProxyGenerator.java
com.futureplatforms.kirin.internal.attic.SDCardFileUtils.java
com.futureplatforms.kirin.internal.core.AbstractObjectHolder.java
com.futureplatforms.kirin.internal.core.DefaultObjectHandler.java
com.futureplatforms.kirin.internal.core.IJsContext.java
com.futureplatforms.kirin.internal.core.IKirinState.java
com.futureplatforms.kirin.internal.core.INativeContext.java
com.futureplatforms.kirin.internal.core.IObjectHolder.java
com.futureplatforms.kirin.internal.core.JsCommands.java
com.futureplatforms.kirin.internal.core.KirinAppState.java
com.futureplatforms.kirin.internal.core.KirinWebViewHolder.java
com.futureplatforms.kirin.internal.core.NativeContext.java
com.futureplatforms.kirin.internal.core.UiObjectHolder.java
com.futureplatforms.kirin.internal.fragmentation.CursorCoercer4.java
com.futureplatforms.kirin.internal.fragmentation.CursorCoercer5.java
com.futureplatforms.kirin.internal.fragmentation.CursorCoercer.java
com.futureplatforms.kirin.internal.fragmentation.WebChromeClient7.java
com.futureplatforms.kirin.internal.fragmentation.WebChromeClient8.java
com.futureplatforms.kirin.state.IKirinDropbox.java
com.futureplatforms.kirin.state.IKirinFileSystem.java
com.futureplatforms.kirin.ui.DebugMenuActions.java
com.futureplatforms.kirin.ui.JSListAdapter.java
com.futureplatforms.kirin.ui.JSOnClickListener.java
com.futureplatforms.kirin.ui.KirinRowRenderer.java