diff --git a/.gitignore b/.gitignore index b927355df441e39ce66c8525523dbe592d1f2d97..cd2dc6cf479f202003ab3969bbba4a9b3062a24a 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,15 @@ project.xcworkspace # node_modules/ npm-debug.log + + +# android + +android/build/ +android/.gradle/ +android/.idea/ +android/android.iml +android/gradle/ +android/gradlew +android/gradlew.bat +android/local.properties diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000000000000000000000000000000000000..d8c78636b7cbb3b87589420f4fbd3a6797e844b9 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,34 @@ +buildscript { + repositories { + jcenter() + } + + dependencies { + classpath 'com.android.tools.build:gradle:1.3.0' + } +} + +apply plugin: 'com.android.library' + +android { + compileSdkVersion 23 + buildToolsVersion "23.0.1" + + defaultConfig { + minSdkVersion 16 + targetSdkVersion 22 + versionCode 1 + versionName "1.0" + } + lintOptions { + abortOnError false + } +} + +repositories { + mavenCentral() +} + +dependencies { + compile 'com.facebook.react:react-native:0.11.+' +} diff --git a/android/AndroidManifest.xml b/android/src/main/AndroidManifest.xml similarity index 64% rename from android/AndroidManifest.xml rename to android/src/main/AndroidManifest.xml index 4354ed1e05852ee901d779c98c0633d23d39bda8..8c7dc862e596504f528495923035c02223950909 100644 --- a/android/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -1,2 +1,2 @@ - + diff --git a/android/src/main/java/com/projectseptember/RNGL/GLCanvas.java b/android/src/main/java/com/projectseptember/RNGL/GLCanvas.java new file mode 100644 index 0000000000000000000000000000000000000000..50d55deca9e4538190864f9fc3fa8029fa4f17ee --- /dev/null +++ b/android/src/main/java/com/projectseptember/RNGL/GLCanvas.java @@ -0,0 +1,23 @@ +package com.projectseptember.RNGL; + +import java.util.Arrays; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import com.facebook.react.ReactPackage; +import com.facebook.react.bridge.NativeModule; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.uimanager.ViewManager; +import com.facebook.react.bridge.JavaScriptModule; + +public class GLCanvas implements ReactPackage { + + @Override + public List createViewManagers(ReactApplicationContext reactContext) { + return Arrays.asList( + new GLCanvasManager() + ); + } + +} diff --git a/android/src/main/java/com/projectseptember/RNGL/GLCanvasManager.java b/android/src/main/java/com/projectseptember/RNGL/GLCanvasManager.java new file mode 100644 index 0000000000000000000000000000000000000000..0946910d6edcb79ac010ede38414cd91f321f339 --- /dev/null +++ b/android/src/main/java/com/projectseptember/RNGL/GLCanvasManager.java @@ -0,0 +1,36 @@ +package com.projectseptember.RNGL; + +import java.util.Arrays; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import com.facebook.react.ReactPackage; +import com.facebook.react.bridge.NativeModule; +import com.facebook.react.bridge.ReactApplicationContext; +import com.facebook.react.uimanager.ViewManager; +import com.facebook.react.bridge.JavaScriptModule; + +public class GLCanvasManager extends SimpleViewManager { + + public static final String REACT_CLASS = "GLCanvas"; + + // TODO... props + + @Override + public String getName() { + return REACT_CLASS; + } + + @Override + public GLCanvasView createViewInstance(ThemedReactContext context) { + return new GLCanvasView(context, Fresco.newDraweeControllerBuilder(), mCallerContext); + } + + @Override + public void updateView(final ReactImageView view, final CatalystStylesDiffMap props) { + super.updateView(view, props); + // TODO... call setters with props + view.maybeUpdateView(); + } +}