Commit 8796b479 authored by Javokhir's avatar Javokhir
Browse files

1.1.8

parent 23acb294
## 1.1.8
* 🔨 Addressed identification bug on iPhone 7 and earlier devices.
## 1.1.7
* Upgrade iOS SDK to 2.2.8.
......
......@@ -9,9 +9,9 @@ MyID SDK flutter plugin.
- [SDK error codes](#sdk-error-codes)
- [Theme](#theme)
Android SDK: `1.0.5`
Android SDK: `1.0.7`
iOS SDK: `2.2.8`
iOS SDK: `2.2.9`
## Project adjustments
......
group "uz.aigroup.myid"
version "1.0.7"
group "uz.uzinfocom.myid"
version "1.1.8"
buildscript {
ext.kotlin_version = "1.7.21"
......@@ -27,7 +27,7 @@ apply plugin: "com.android.library"
apply plugin: "kotlin-android"
android {
namespace "uz.aigroup.myid"
namespace "uz.uzinfocom.myid"
compileSdk 34
compileOptions {
......@@ -49,5 +49,5 @@ android {
}
dependencies {
implementation("uz.myid.sdk.capture:myid-flutter-capture-sdk:1.0.5")
implementation("uz.myid.sdk.capture:myid-flutter-capture-sdk:1.0.7")
}
\ No newline at end of file
package uz.aigroup.myid
package uz.uzinfocom.myid
import android.content.Context
import androidx.annotation.NonNull
......
package uz.aigroup.myid
package uz.uzinfocom.myid
import android.app.Activity
import android.os.Build
......@@ -6,6 +6,7 @@ import io.flutter.plugin.common.MethodChannel
import uz.myid.android.sdk.capture.MyIdClient
import uz.myid.android.sdk.capture.MyIdConfig
import uz.myid.android.sdk.capture.model.MyIdBuildMode
import uz.myid.android.sdk.capture.model.MyIdCameraSelector
import uz.myid.android.sdk.capture.model.MyIdCameraShape
import uz.myid.android.sdk.capture.model.MyIdEntryType
import uz.myid.android.sdk.capture.model.MyIdImageFormat
......@@ -64,6 +65,7 @@ class MyIdSdk(
val residency: MyIdResidentType
val locale: Locale
val cameraShape: MyIdCameraShape
val cameraSelector: MyIdCameraSelector
val resolution: MyIdResolution
val imageFormat: MyIdImageFormat
val organizationDetails: MyIdOrganizationDetails
......@@ -101,6 +103,10 @@ class MyIdSdk(
MyIdCameraShape.ELLIPSE.name -> MyIdCameraShape.ELLIPSE
else -> MyIdCameraShape.CIRCLE
}
cameraSelector = when (config.fetch("cameraSelector").uppercase()) {
MyIdCameraSelector.BACK.name -> MyIdCameraSelector.BACK
else -> MyIdCameraSelector.FRONT
}
resolution = when (config.fetch("resolution").uppercase()) {
MyIdResolution.RESOLUTION_720.name -> MyIdResolution.RESOLUTION_720
else -> MyIdResolution.RESOLUTION_480
......@@ -148,6 +154,7 @@ class MyIdSdk(
.withResidency(residency)
.withLocale(locale)
.withCameraShape(cameraShape)
.withCameraSelector(cameraSelector)
.withResolution(resolution)
.withImageFormat(imageFormat)
.withOrganizationDetails(organizationDetails)
......
package uz.aigroup.myid
package uz.uzinfocom.myid
import android.content.Intent
import android.graphics.Bitmap
......@@ -39,15 +39,11 @@ class MyIdSdkActivityListener(
)
flutterResult?.success(response.toMap())
} catch (e: Exception) {
if (result.code != null) {
val response = Response(
code = result.code,
comparison = result.comparison
)
flutterResult?.success(response.toMap())
} else {
flutterResult?.error("error", e.message, null)
}
val response = Response(
code = result.code,
comparison = result.comparison
)
flutterResult?.success(response.toMap())
} finally {
flutterResult = null
}
......
package uz.aigroup.myid
package uz.uzinfocom.myid
data class Response(
val code: String? = null,
......
......@@ -2,8 +2,8 @@ PODS:
- Flutter (1.0.0)
- myid (1.1.2):
- Flutter
- MyIdSDK (= 2.2.8)
- MyIdSDK (2.2.8)
- MyIdSDK (= 2.2.9)
- MyIdSDK (2.2.9)
DEPENDENCIES:
- Flutter (from `Flutter`)
......@@ -21,8 +21,8 @@ EXTERNAL SOURCES:
SPEC CHECKSUMS:
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
myid: bc4a97796ab9b9ae62dc83875ab38bdaa13d95db
MyIdSDK: 0ad4344c17f6fdcdcc075ff735922539c44b8cf6
myid: 455880195dd373f70441baf3644f0c0ad3a132c8
MyIdSDK: b6929bf779782f9358817c91e5fc73d0060bf88b
PODFILE CHECKSUM: 52781dfef5f5768442e4d2953d5b83f640ecec0c
......
......@@ -354,19 +354,25 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 86VMSY4FK5;
CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = "";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = MyID;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.myidExample;
MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = uz.myid.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Profile;
......@@ -484,20 +490,26 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 86VMSY4FK5;
CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = "";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = MyID;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.myidExample;
MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = uz.myid.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Debug;
......@@ -508,19 +520,25 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
DEVELOPMENT_TEAM = 86VMSY4FK5;
CURRENT_PROJECT_VERSION = 2;
DEVELOPMENT_TEAM = "";
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = MyID;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.example.myidExample;
MARKETING_VERSION = 1.1;
PRODUCT_BUNDLE_IDENTIFIER = uz.myid.sample;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
};
name = Release;
......
......@@ -19,13 +19,17 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>
<string>1.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<string>2</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>NSCameraUsageDescription</key>
<string>YOUR_TEXT_HERE</string>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UIMainStoryboardFile</key>
......@@ -35,16 +39,9 @@
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortrait</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>UIApplicationSupportsIndirectInputEvents</key>
<true/>
</dict>
</plist>
......@@ -121,7 +121,7 @@ packages:
path: ".."
relative: true
source: path
version: "1.1.6"
version: "1.1.8"
path:
dependency: transitive
description:
......
......@@ -137,6 +137,12 @@ public func buildMyIdConfig(
if (cameraShapeKey == "ELLIPSE") {
cameraShape = MyIdCameraShape.ELLIPSE
}
let cameraSelectorKey = config["cameraSelector"] as? String ?? ""
var cameraSelector = MyIdCameraSelector.FRONT
if (cameraSelectorKey == "BACK") {
cameraSelector = MyIdCameraSelector.BACK
}
let resolutionKey = config["resolution"] as? String ?? ""
var resolution = MyIdResolution.RESOLUTION_480
......@@ -165,6 +171,7 @@ public func buildMyIdConfig(
config.residency = residency
config.locale = locale
config.cameraShape = cameraShape
config.cameraSelector = cameraSelector
config.resolution = resolution
config.withPhoto = withPhoto
config.appearance = appearance
......
......@@ -6,7 +6,7 @@ public class SwiftMyIdPlugin: NSObject, FlutterPlugin {
private let myidSdk = MyIdSdk()
public static func register(with registrar: FlutterPluginRegistrar) {
let channel = FlutterMethodChannel(name: "myid", binaryMessenger: registrar.messenger())
let channel = FlutterMethodChannel(name: "myid_uz", binaryMessenger: registrar.messenger())
let instance = SwiftMyIdPlugin()
registrar.addMethodCallDelegate(instance, channel: channel)
}
......
......@@ -15,7 +15,7 @@ A new Flutter plugin.
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'
s.dependency 'Flutter'
s.dependency 'MyIdSDK', '2.2.8'
s.dependency 'MyIdSDK', '2.2.9'
s.platform = :ios, '12.0'
# Flutter.framework does not contain a i386 slice. Only x86_64 simulators are supported.
......
......@@ -25,6 +25,11 @@ enum MyIdCameraShape {
ELLIPSE
}
enum MyIdCameraSelector {
FRONT,
BACK
}
enum MyIdResolution {
RESOLUTION_480,
RESOLUTION_720
......
......@@ -6,7 +6,7 @@ import 'dart:convert';
import 'myid_config.dart';
class MyIdClient {
static const MethodChannel _channel = MethodChannel('myid');
static const MethodChannel _channel = MethodChannel('myid_uz');
static const JsonDecoder _jsonDecoder = JsonDecoder();
static const JsonEncoder _jsonEncoder = JsonEncoder();
......
import 'dart:ffi';
import 'enums.dart';
part 'myid_config.g.dart';
......@@ -10,7 +8,7 @@ class MyIdConfig {
final String? clientHashId;
final String? passportData;
final String? dateOfBirth;
final Int? minAge;
final int? minAge;
final String? sdkHash;
final String? externalId;
final double? threshold;
......@@ -19,6 +17,7 @@ class MyIdConfig {
final MyIdResidentType? residency;
final MyIdLocale? locale;
final MyIdCameraShape? cameraShape;
final MyIdCameraSelector? cameraSelector;
final MyIdResolution? resolution;
final MyIdImageFormat? imageFormat;
final MyIdOrganizationDetails? organizationDetails;
......@@ -39,6 +38,7 @@ class MyIdConfig {
this.residency,
this.locale,
this.cameraShape,
this.cameraSelector,
this.resolution,
this.imageFormat,
this.organizationDetails,
......
......@@ -13,7 +13,7 @@ MyIdConfig _$MyIdConfigFromJson(Map<String, dynamic> json) {
clientHashId: json['clientHashId'] as String,
passportData: json['passportData'] as String,
dateOfBirth: json['dateOfBirth'] as String,
minAge: json['minAge'] as Int,
minAge: json['minAge'] as int,
sdkHash: json['sdkHash'] as String,
externalId: json['externalId'] as String,
threshold: json['threshold'] as double,
......@@ -22,6 +22,7 @@ MyIdConfig _$MyIdConfigFromJson(Map<String, dynamic> json) {
residency: _$enumDecodeNullable(_$MyIdResidentTypeEnumMap, json['residency']),
locale: _$enumDecodeNullable(_$MyIdLocaleEnumMap, json['locale']),
cameraShape: _$enumDecodeNullable(_$MyIdCameraShapeEnumMap, json['cameraShape']),
cameraSelector: _$enumDecodeNullable(_$MyIdCameraSelectorEnumMap, json['cameraSelector']),
resolution: _$enumDecodeNullable(_$MyIdResolutionEnumMap, json['resolution']),
imageFormat: _$enumDecodeNullable(_$MyIdImageFormatEnumMap, json['imageFormat']),
organizationDetails: MyIdOrganizationDetails.fromJson(json['organizationDetails'] as Map<String, dynamic>),
......@@ -52,6 +53,7 @@ Map<String, dynamic> _$MyIdConfigToJson(MyIdConfig instance) {
writeNotNull('residency', _$MyIdResidentTypeEnumMap[instance.residency]);
writeNotNull('locale', _$MyIdLocaleEnumMap[instance.locale]);
writeNotNull('cameraShape', _$MyIdCameraShapeEnumMap[instance.cameraShape]);
writeNotNull('cameraSelector', _$MyIdCameraSelectorEnumMap[instance.cameraSelector]);
writeNotNull('resolution', _$MyIdResolutionEnumMap[instance.resolution]);
writeNotNull('imageFormat', _$MyIdImageFormatEnumMap[instance.imageFormat]);
writeNotNull('organizationDetails', instance.organizationDetails?.toJson());
......@@ -142,6 +144,11 @@ const _$MyIdCameraShapeEnumMap = {
MyIdCameraShape.ELLIPSE: 'ELLIPSE',
};
const _$MyIdCameraSelectorEnumMap = {
MyIdCameraSelector.FRONT: 'FRONT',
MyIdCameraSelector.BACK: 'BACK',
};
const _$MyIdResolutionEnumMap = {
MyIdResolution.RESOLUTION_480: 'RESOLUTION_480',
MyIdResolution.RESOLUTION_720: 'RESOLUTION_720',
......
name: myid
description: MyID SDK plugin for Flutter. Package supports iOS and Android to verify users identity.
version: 1.1.7
version: 1.1.8
homepage: https://pub.dev/packages/myid
repository: https://pub.dev/packages/myid
issue_tracker: https://gitlab.aigroup.uz/myid-public-code/myid-sample-flutter/-/issues
issue_tracker: https://gitlab.myid.uz/myid-public-code/myid-sample-flutter/-/issues
environment:
sdk: ">=2.17.6 <4.0.0"
......@@ -37,7 +37,7 @@ flutter:
plugin:
platforms:
android:
package: uz.aigroup.myid
package: uz.uzinfocom.myid
pluginClass: MyIdPlugin
ios:
pluginClass: MyIdPlugin
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment