react-native-camera-kit/android/src/main/java/com/rncamerakit/RNCameraKitPackage.java
2020-10-23 10:51:47 -07:00

68 lines
2.4 KiB
Java

package com.rncamerakit;
import androidx.annotation.Nullable;
import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.JavaScriptModule;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import com.rncamerakit.camera.CameraModule;
import com.rncamerakit.camera.CameraViewManager;
import com.rncamerakit.camera.permission.CameraPermissionRequestCallback;
import com.rncamerakit.gallery.GalleryViewManager;
import com.rncamerakit.gallery.NativeGalleryModule;
import com.rncamerakit.gallery.permission.StoragePermissionRequestCallback;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class RNCameraKitPackage implements ReactPackage {
@Nullable private CameraPermissionRequestCallback cameraPermissionRequestCallback;
@Nullable private StoragePermissionRequestCallback storagePermissionRequestCallback;
public RNCameraKitPackage() {
}
public RNCameraKitPackage(CameraPermissionRequestCallback cameraPermissionRequestCallback, StoragePermissionRequestCallback storagePermissionRequestCallback) {
this.cameraPermissionRequestCallback = cameraPermissionRequestCallback;
this.storagePermissionRequestCallback = storagePermissionRequestCallback;
}
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
List<NativeModule> modules = new ArrayList<>();
CameraModule cameraModule = new CameraModule(reactContext);
if (cameraPermissionRequestCallback != null) {
cameraPermissionRequestCallback.setCameraModule(cameraModule);
}
modules.add(cameraModule);
NativeGalleryModule galleryModule = new NativeGalleryModule(reactContext);
if (storagePermissionRequestCallback != null) {
storagePermissionRequestCallback.setGalleryModule(galleryModule);
}
modules.add(galleryModule);
return modules;
}
// Deprecated RN 0.47
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}
@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
List<ViewManager> viewManagers = new ArrayList<>();
viewManagers.add(new GalleryViewManager());
viewManagers.add(new CameraViewManager());
return viewManagers;
}
}