From 1ad5933749e4c627dbb3f6301fd5f181f5a119ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABtan=20Renaudeau?= Date: Sun, 8 Nov 2015 20:54:11 +0100 Subject: [PATCH] bootstrap android lib --- .gitignore | 12 +++++++ android/build.gradle | 34 ++++++++++++++++++ android/{ => src/main}/AndroidManifest.xml | 2 +- .../com/projectseptember/RNGL/GLCanvas.java | 23 ++++++++++++ .../RNGL/GLCanvasManager.java | 36 +++++++++++++++++++ 5 files changed, 106 insertions(+), 1 deletion(-) create mode 100644 android/build.gradle rename android/{ => src/main}/AndroidManifest.xml (64%) create mode 100644 android/src/main/java/com/projectseptember/RNGL/GLCanvas.java create mode 100644 android/src/main/java/com/projectseptember/RNGL/GLCanvasManager.java diff --git a/.gitignore b/.gitignore index b927355..cd2dc6c 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 0000000..d8c7863 --- /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 4354ed1..8c7dc86 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 0000000..50d55de --- /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 0000000..0946910 --- /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(); + } +} -- 2.26.2