From c844f2bfacab9c91deddc618190bfc345c47b48e Mon Sep 17 00:00:00 2001 From: Lochlan Wansbrough Date: Mon, 21 Sep 2015 21:21:08 -0700 Subject: [PATCH] Removed left over import. Updated Android stuff. --- android/AndroidManifest.xml | 2 +- .../RCTCamera/RCTCameraModule.java | 32 ------------ .../ReactCamera.java} | 20 ++------ .../ReactCamera/ReactCameraManager.java | 51 +++++++++++++++++++ index.android.js | 12 +++++ index.ios.js | 1 - package.json | 2 +- 7 files changed, 69 insertions(+), 51 deletions(-) delete mode 100644 android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java rename android/src/main/java/com/lwansbrough/{RCTCamera/RCTCamera.java => ReactCamera/ReactCamera.java} (53%) create mode 100644 android/src/main/java/com/lwansbrough/ReactCamera/ReactCameraManager.java create mode 100644 index.android.js diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index c681469..2c16dd6 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,4 +1,4 @@ - + diff --git a/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java b/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java deleted file mode 100644 index b6c6417..0000000 --- a/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.lwansbrough.RCTCamera; - -import com.facebook.react.bridge.ReactApplicationContext; -import com.facebook.react.bridge.ReactContextBaseJavaModule; -import com.facebook.react.bridge.ReactMethod; -import com.facebook.react.bridge.ReadableMap; -import com.facebook.react.bridge.ReadableArray; -import com.facebook.react.bridge.Callback; - -/** - * {@link NativeModule} - */ - -public class RCTCameraModule extends ReactContextBaseJavaModule { - - ReactApplicationContext reactContext; - - public RCTCameraModule(ReactApplicationContext reactContext) { - super(reactContext); - this.reactContext = reactContext; - } - - @Override - public String getName() { - return "RCTCamera"; - } - - @ReactMethod - public void test(ReadableMap options, Callback callback) { - callback.invoke(null, "test"); - } -} diff --git a/android/src/main/java/com/lwansbrough/RCTCamera/RCTCamera.java b/android/src/main/java/com/lwansbrough/ReactCamera/ReactCamera.java similarity index 53% rename from android/src/main/java/com/lwansbrough/RCTCamera/RCTCamera.java rename to android/src/main/java/com/lwansbrough/ReactCamera/ReactCamera.java index 3e914b3..adf0187 100644 --- a/android/src/main/java/com/lwansbrough/RCTCamera/RCTCamera.java +++ b/android/src/main/java/com/lwansbrough/ReactCamera/ReactCamera.java @@ -11,25 +11,13 @@ import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.uimanager.ViewManager; import com.facebook.react.bridge.JavaScriptModule; -public class RCTCamera implements ReactPackage { - - @Override - public List createNativeModules(ReactApplicationContext reactContext) { - List modules = new ArrayList<>(); - - modules.add(new RCTCamera(reactContext)); - - return modules; - } - - @Override - public List> createJSModules() { - return Collections.emptyList(); - } +public class ReactCamera implements ReactPackage { @Override public List createViewManagers(ReactApplicationContext reactContext) { - return Collections.emptyList(); + return Arrays.asList( + new ReactCameraManager() + ); } } diff --git a/android/src/main/java/com/lwansbrough/ReactCamera/ReactCameraManager.java b/android/src/main/java/com/lwansbrough/ReactCamera/ReactCameraManager.java new file mode 100644 index 0000000..901cc78 --- /dev/null +++ b/android/src/main/java/com/lwansbrough/ReactCamera/ReactCameraManager.java @@ -0,0 +1,51 @@ +package com.lwansbrough.RCTCamera; + +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 ReactCameraManager extends SimpleViewManager { + + public static final String REACT_CLASS = "RCTCamera"; + + @UIProp(UIProp.Type.STRING) + public static final String PROP_SRC = "src"; + @UIProp(UIProp.Type.NUMBER) + public static final String PROP_BORDER_RADIUS = "borderRadius"; + @UIProp(UIProp.Type.STRING) + public static final String PROP_RESIZE_MODE = ViewProps.RESIZE_MODE; + + @Override + public String getName() { + return REACT_CLASS; + } + + @Override + public ReactCameraView createViewInstance(ThemedReactContext context) { + return new ReactCameraView(context, Fresco.newDraweeControllerBuilder(), mCallerContext); + } + + @Override + public void updateView(final ReactImageView view, final CatalystStylesDiffMap props) { + super.updateView(view, props); + + if (props.hasKey(PROP_RESIZE_MODE)) { + view.setScaleType( + ImageResizeMode.toScaleType(props.getString(PROP_RESIZE_MODE))); + } + if (props.hasKey(PROP_SRC)) { + view.setSource(props.getString(PROP_SRC)); + } + if (props.hasKey(PROP_BORDER_RADIUS)) { + view.setBorderRadius(props.getFloat(PROP_BORDER_RADIUS, 0.0f)); + } + view.maybeUpdateView(); + } +} diff --git a/index.android.js b/index.android.js new file mode 100644 index 0000000..1dde143 --- /dev/null +++ b/index.android.js @@ -0,0 +1,12 @@ +var { requireNativeComponent } = require('react-native'); + +var iface = { + name: 'ImageView', + propTypes: { + src: PropTypes.string, + borderRadius: PropTypes.number, + resizeMode: PropTypes.oneOf(['cover', 'contain', 'stretch']), + }, +}; + +module.exports = requireNativeComponent('RCTCamera', iface); \ No newline at end of file diff --git a/index.ios.js b/index.ios.js index c84a196..9395dea 100644 --- a/index.ios.js +++ b/index.ios.js @@ -1,6 +1,5 @@ var React = require('react-native'); var { StyleSheet, requireNativeComponent, PropTypes, NativeModules, DeviceEventEmitter } = React; -var merge = require('merge'); var CAMERA_REF = 'camera'; diff --git a/package.json b/package.json index ca8b084..ceab34a 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "type" : "git", "url" : "https://github.com/lwansbrough/react-native-camera.git" }, - "version": "0.3.4", + "version": "0.3.5", "description": "A Camera component for React Native. Also reads barcodes.", "author": "Lochlan Wansbrough (http://lwansbrough.com)", "nativePackage": true,