Просмотр исходного кода

Merge branch 'master' into 235-bottom-offset

flutter-beta
Julian Steenbakker 5 лет назад
Родитель
Сommit
ec35b3d0d5
Не найден GPG ключ соответствующий данной подписи Идентификатор GPG ключа: 16E437C7A3D94250
2 измененных файлов: 29 добавлений и 26 удалений
  1. +2
    -12
      android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt
  2. +27
    -14
      ios/Classes/QRView.swift

+ 2
- 12
android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt Просмотреть файл

@@ -182,18 +182,7 @@ class QRView(messenger: BinaryMessenger, id: Int, private val params: HashMap<St
} }


override fun getView(): View { override fun getView(): View {
return initBarCodeView()?.apply {
if (!hasBackCamera()) {
if (!hasFrontCamera()) {
// No camera available!
} else {
this.cameraSettings.requestedCameraId = CameraInfo.CAMERA_FACING_FRONT
}
} else {
this.cameraSettings.requestedCameraId = CameraInfo.CAMERA_FACING_BACK
}
resume()
}!!
return initBarCodeView().apply {}!!
} }


private fun initBarCodeView(): BarcodeView? { private fun initBarCodeView(): BarcodeView? {
@@ -202,6 +191,7 @@ class QRView(messenger: BinaryMessenger, id: Int, private val params: HashMap<St
if (params["cameraFacing"] as Int == 1) { if (params["cameraFacing"] as Int == 1) {
barcodeView?.cameraSettings?.requestedCameraId = CameraInfo.CAMERA_FACING_FRONT barcodeView?.cameraSettings?.requestedCameraId = CameraInfo.CAMERA_FACING_FRONT
} }
barcodeView!!.resume()
} }
return barcodeView return barcodeView
} }


+ 27
- 14
ios/Classes/QRView.swift Просмотреть файл

@@ -78,6 +78,7 @@ public class QRView:NSObject,FlutterPlatformView {
func setDimensions(_ result: @escaping FlutterResult, width: Double, height: Double, scanArea: Double, scanAreaOffset: Double) -> Void { func setDimensions(_ result: @escaping FlutterResult, width: Double, height: Double, scanArea: Double, scanAreaOffset: Double) -> Void {
MTBBarcodeScanner.requestCameraPermission(success: { permissionGranted in MTBBarcodeScanner.requestCameraPermission(success: { permissionGranted in
if permissionGranted { if permissionGranted {
// self?.channel.invokeMethod("onPermissionSet", arguments: true)
// First set the size of the preview area. // First set the size of the preview area.
self.previewView.frame = CGRect(x: 0, y: 0, width: width, height: height) self.previewView.frame = CGRect(x: 0, y: 0, width: width, height: height)
@@ -125,14 +126,14 @@ public class QRView:NSObject,FlutterPlatformView {
scanner = MTBBarcodeScanner(previewView: previewView) scanner = MTBBarcodeScanner(previewView: previewView)
} }
var allowedBarcodeTypes: Array<AVMetadataObject.ObjectType> = [] var allowedBarcodeTypes: Array<AVMetadataObject.ObjectType> = []
arguments.forEach { arg in arguments.forEach { arg in
allowedBarcodeTypes.append( QRCodeTypes[arg]!) allowedBarcodeTypes.append( QRCodeTypes[arg]!)
} }
MTBBarcodeScanner.requestCameraPermission(success: { permissionGranted in MTBBarcodeScanner.requestCameraPermission(success: { permissionGranted in
if permissionGranted { if permissionGranted {
self.channel.invokeMethod("onPermissionSet", arguments: true)
do { do {
try self.scanner?.startScanning(with: self.cameraFacing, resultBlock: { [weak self] codes in try self.scanner?.startScanning(with: self.cameraFacing, resultBlock: { [weak self] codes in
if let codes = codes { if let codes = codes {
@@ -199,12 +200,18 @@ public class QRView:NSObject,FlutterPlatformView {
} }
func getCameraInfo(_ result: @escaping FlutterResult) -> Void { func getCameraInfo(_ result: @escaping FlutterResult) -> Void {
if let sc: MTBBarcodeScanner = scanner {
result(sc.camera.rawValue)
} else {
let error = FlutterError(code: "cameraInformationError", message: "Could not get camera information", details: nil)
result(error)
}
MTBBarcodeScanner.requestCameraPermission(success: { permissionGranted in
if permissionGranted {
if let sc: MTBBarcodeScanner = self.scanner {
result(sc.camera.rawValue)
} else {
let error = FlutterError(code: "cameraInformationError", message: "Could not get camera information", details: nil)
result(error)
}
} else {
return result(FlutterError(code: "cameraPermission", message: "Permission denied to access the camera", details: nil))
}
})
} }
func flipCamera(_ result: @escaping FlutterResult){ func flipCamera(_ result: @escaping FlutterResult){
@@ -224,12 +231,18 @@ public class QRView:NSObject,FlutterPlatformView {
} }
func getFlashInfo(_ result: @escaping FlutterResult) -> Void { func getFlashInfo(_ result: @escaping FlutterResult) -> Void {
if let sc: MTBBarcodeScanner = scanner {
result(sc.torchMode.rawValue != 0)
} else {
let error = FlutterError(code: "cameraInformationError", message: "Could not get flash information", details: nil)
result(error)
}
MTBBarcodeScanner.requestCameraPermission(success: { permissionGranted in
if permissionGranted {
if let sc: MTBBarcodeScanner = self.scanner {
result(sc.torchMode.rawValue != 0)
} else {
let error = FlutterError(code: "cameraInformationError", message: "Could not get flash information", details: nil)
result(error)
}
} else {
return result(FlutterError(code: "cameraPermission", message: "Permission denied to access the camera", details: nil))
}
})
} }
func toggleFlash(_ result: @escaping FlutterResult){ func toggleFlash(_ result: @escaping FlutterResult){


Загрузка…
Отмена
Сохранить