diff --git a/packages/local_auth/local_auth_darwin/CHANGELOG.md b/packages/local_auth/local_auth_darwin/CHANGELOG.md index 7c816d348e8..e5367d705ef 100644 --- a/packages/local_auth/local_auth_darwin/CHANGELOG.md +++ b/packages/local_auth/local_auth_darwin/CHANGELOG.md @@ -1,3 +1,8 @@ +## 1.2.1 + +* Renames the Objective-C plugin classes to avoid runtime conflicts with + `local_auth_ios` in apps that have transitive dependencies on both. + ## 1.2.0 * Renames the package previously published as [`local_auth_ios`](https://pub.dev/packages/local_auth_ios) diff --git a/packages/local_auth/local_auth_darwin/darwin/Classes/FLTLocalAuthPlugin.h b/packages/local_auth/local_auth_darwin/darwin/Classes/FLALocalAuthPlugin.h similarity index 74% rename from packages/local_auth/local_auth_darwin/darwin/Classes/FLTLocalAuthPlugin.h rename to packages/local_auth/local_auth_darwin/darwin/Classes/FLALocalAuthPlugin.h index d023ba3ed14..7168f350fe0 100644 --- a/packages/local_auth/local_auth_darwin/darwin/Classes/FLTLocalAuthPlugin.h +++ b/packages/local_auth/local_auth_darwin/darwin/Classes/FLALocalAuthPlugin.h @@ -6,5 +6,5 @@ #import "messages.g.h" -@interface FLTLocalAuthPlugin : NSObject +@interface FLALocalAuthPlugin : NSObject @end diff --git a/packages/local_auth/local_auth_darwin/darwin/Classes/FLTLocalAuthPlugin.m b/packages/local_auth/local_auth_darwin/darwin/Classes/FLALocalAuthPlugin.m similarity index 72% rename from packages/local_auth/local_auth_darwin/darwin/Classes/FLTLocalAuthPlugin.m rename to packages/local_auth/local_auth_darwin/darwin/Classes/FLALocalAuthPlugin.m index 3ac8ebe29cc..6b9ef39f6e2 100644 --- a/packages/local_auth/local_auth_darwin/darwin/Classes/FLTLocalAuthPlugin.m +++ b/packages/local_auth/local_auth_darwin/darwin/Classes/FLALocalAuthPlugin.m @@ -1,17 +1,17 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#import "FLTLocalAuthPlugin.h" -#import "FLTLocalAuthPlugin_Test.h" +#import "FLALocalAuthPlugin.h" +#import "FLALocalAuthPlugin_Test.h" #import -typedef void (^FLAAuthCompletion)(FLAAuthResultDetails *_Nullable, FlutterError *_Nullable); +typedef void (^FLADAuthCompletion)(FLADAuthResultDetails *_Nullable, FlutterError *_Nullable); /** * A default context factory that wraps standard LAContext allocation. */ -@interface FLADefaultAuthContextFactory : NSObject +@interface FLADefaultAuthContextFactory : NSObject @end @implementation FLADefaultAuthContextFactory @@ -26,18 +26,18 @@ - (LAContext *)createAuthContext { * A data container for sticky auth state. */ @interface FLAStickyAuthState : NSObject -@property(nonatomic, strong, nonnull) FLAAuthOptions *options; -@property(nonatomic, strong, nonnull) FLAAuthStrings *strings; -@property(nonatomic, copy, nonnull) FLAAuthCompletion resultHandler; -- (instancetype)initWithOptions:(nonnull FLAAuthOptions *)options - strings:(nonnull FLAAuthStrings *)strings - resultHandler:(nonnull FLAAuthCompletion)resultHandler; +@property(nonatomic, strong, nonnull) FLADAuthOptions *options; +@property(nonatomic, strong, nonnull) FLADAuthStrings *strings; +@property(nonatomic, copy, nonnull) FLADAuthCompletion resultHandler; +- (instancetype)initWithOptions:(nonnull FLADAuthOptions *)options + strings:(nonnull FLADAuthStrings *)strings + resultHandler:(nonnull FLADAuthCompletion)resultHandler; @end @implementation FLAStickyAuthState -- (instancetype)initWithOptions:(nonnull FLAAuthOptions *)options - strings:(nonnull FLAAuthStrings *)strings - resultHandler:(nonnull FLAAuthCompletion)resultHandler { +- (instancetype)initWithOptions:(nonnull FLADAuthOptions *)options + strings:(nonnull FLADAuthStrings *)strings + resultHandler:(nonnull FLADAuthCompletion)resultHandler { self = [super init]; if (self) { _options = options; @@ -50,24 +50,24 @@ - (instancetype)initWithOptions:(nonnull FLAAuthOptions *)options #pragma mark - -@interface FLTLocalAuthPlugin () +@interface FLALocalAuthPlugin () @property(nonatomic, strong, nullable) FLAStickyAuthState *lastCallState; -@property(nonatomic, strong) NSObject *authContextFactory; +@property(nonatomic, strong) NSObject *authContextFactory; @end -@implementation FLTLocalAuthPlugin +@implementation FLALocalAuthPlugin + (void)registerWithRegistrar:(NSObject *)registrar { - FLTLocalAuthPlugin *instance = [[FLTLocalAuthPlugin alloc] init]; + FLALocalAuthPlugin *instance = [[FLALocalAuthPlugin alloc] init]; [registrar addApplicationDelegate:instance]; - SetUpFLALocalAuthApi([registrar messenger], instance); + SetUpFLADLocalAuthApi([registrar messenger], instance); } - (instancetype)init { return [self initWithContextFactory:[[FLADefaultAuthContextFactory alloc] init]]; } -- (instancetype)initWithContextFactory:(NSObject *)factory { +- (instancetype)initWithContextFactory:(NSObject *)factory { self = [super init]; if (self) { _authContextFactory = factory; @@ -75,11 +75,11 @@ - (instancetype)initWithContextFactory:(NSObject *)factor return self; } -#pragma mark FLALocalAuthApi +#pragma mark FLADLocalAuthApi -- (void)authenticateWithOptions:(nonnull FLAAuthOptions *)options - strings:(nonnull FLAAuthStrings *)strings - completion:(nonnull void (^)(FLAAuthResultDetails *_Nullable, +- (void)authenticateWithOptions:(nonnull FLADAuthOptions *)options + strings:(nonnull FLADAuthStrings *)strings + completion:(nonnull void (^)(FLADAuthResultDetails *_Nullable, FlutterError *_Nullable))completion { LAContext *context = [self.authContextFactory createAuthContext]; NSError *authError = nil; @@ -126,18 +126,19 @@ - (nullable NSNumber *)deviceCanSupportBiometricsWithError: return @NO; } -- (nullable NSArray *)getEnrolledBiometricsWithError: +- (nullable NSArray *)getEnrolledBiometricsWithError: (FlutterError *_Nullable __autoreleasing *_Nonnull)error { LAContext *context = [self.authContextFactory createAuthContext]; NSError *authError = nil; - NSMutableArray *biometrics = [[NSMutableArray alloc] init]; + NSMutableArray *biometrics = [[NSMutableArray alloc] init]; if ([context canEvaluatePolicy:LAPolicyDeviceOwnerAuthenticationWithBiometrics error:&authError]) { if (authError == nil) { if (context.biometryType == LABiometryTypeFaceID) { - [biometrics addObject:[FLAAuthBiometricWrapper makeWithValue:FLAAuthBiometricFace]]; + [biometrics addObject:[FLADAuthBiometricWrapper makeWithValue:FLADAuthBiometricFace]]; } else if (context.biometryType == LABiometryTypeTouchID) { - [biometrics addObject:[FLAAuthBiometricWrapper makeWithValue:FLAAuthBiometricFingerprint]]; + [biometrics + addObject:[FLADAuthBiometricWrapper makeWithValue:FLADAuthBiometricFingerprint]]; } } } @@ -155,7 +156,7 @@ - (nullable NSNumber *)isDeviceSupportedWithError: - (void)showAlertWithMessage:(NSString *)message dismissButtonTitle:(NSString *)dismissButtonTitle openSettingsButtonTitle:(NSString *)openSettingsButtonTitle - completion:(FLAAuthCompletion)completion { + completion:(FLADAuthCompletion)completion { UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"" message:message @@ -189,9 +190,9 @@ - (void)showAlertWithMessage:(NSString *)message - (void)handleAuthReplyWithSuccess:(BOOL)success error:(NSError *)error - options:(FLAAuthOptions *)options - strings:(FLAAuthStrings *)strings - completion:(nonnull FLAAuthCompletion)completion { + options:(FLADAuthOptions *)options + strings:(FLADAuthStrings *)strings + completion:(nonnull FLADAuthCompletion)completion { NSAssert([NSThread isMainThread], @"Response handling must be done on the main thread."); if (success) { [self handleSucceeded:YES withCompletion:completion]; @@ -219,19 +220,19 @@ - (void)handleAuthReplyWithSuccess:(BOOL)success } } -- (void)handleSucceeded:(BOOL)succeeded withCompletion:(nonnull FLAAuthCompletion)completion { - completion( - [FLAAuthResultDetails makeWithResult:(succeeded ? FLAAuthResultSuccess : FLAAuthResultFailure) - errorMessage:nil - errorDetails:nil], - nil); +- (void)handleSucceeded:(BOOL)succeeded withCompletion:(nonnull FLADAuthCompletion)completion { + completion([FLADAuthResultDetails + makeWithResult:(succeeded ? FLADAuthResultSuccess : FLADAuthResultFailure) + errorMessage:nil + errorDetails:nil], + nil); } - (void)handleError:(NSError *)authError - withOptions:(FLAAuthOptions *)options - strings:(FLAAuthStrings *)strings - completion:(nonnull FLAAuthCompletion)completion { - FLAAuthResult result = FLAAuthResultErrorNotAvailable; + withOptions:(FLADAuthOptions *)options + strings:(FLADAuthStrings *)strings + completion:(nonnull FLADAuthCompletion)completion { + FLADAuthResult result = FLADAuthResultErrorNotAvailable; switch (authError.code) { case LAErrorPasscodeNotSet: case LAErrorBiometryNotEnrolled: @@ -242,8 +243,8 @@ - (void)handleError:(NSError *)authError completion:completion]; return; } - result = authError.code == LAErrorPasscodeNotSet ? FLAAuthResultErrorPasscodeNotSet - : FLAAuthResultErrorNotEnrolled; + result = authError.code == LAErrorPasscodeNotSet ? FLADAuthResultErrorPasscodeNotSet + : FLADAuthResultErrorNotEnrolled; break; case LAErrorBiometryLockout: [self showAlertWithMessage:strings.lockOut @@ -252,9 +253,9 @@ - (void)handleError:(NSError *)authError completion:completion]; return; } - completion([FLAAuthResultDetails makeWithResult:result - errorMessage:authError.localizedDescription - errorDetails:authError.domain], + completion([FLADAuthResultDetails makeWithResult:result + errorMessage:authError.localizedDescription + errorDetails:authError.domain], nil); } diff --git a/packages/local_auth/local_auth_darwin/darwin/Classes/FLTLocalAuthPlugin_Test.h b/packages/local_auth/local_auth_darwin/darwin/Classes/FLALocalAuthPlugin_Test.h similarity index 76% rename from packages/local_auth/local_auth_darwin/darwin/Classes/FLTLocalAuthPlugin_Test.h rename to packages/local_auth/local_auth_darwin/darwin/Classes/FLALocalAuthPlugin_Test.h index c35322033f9..79ac48ec8cb 100644 --- a/packages/local_auth/local_auth_darwin/darwin/Classes/FLTLocalAuthPlugin_Test.h +++ b/packages/local_auth/local_auth_darwin/darwin/Classes/FLALocalAuthPlugin_Test.h @@ -8,14 +8,14 @@ /** * Protocol for a source of LAContext instances. Used to allow context injection in unit tests. */ -@protocol FLAAuthContextFactory +@protocol FLADAuthContextFactory - (LAContext *)createAuthContext; @end -@interface FLTLocalAuthPlugin () +@interface FLALocalAuthPlugin () /** * Returns an instance that uses the given factory to create LAContexts. */ -- (instancetype)initWithContextFactory:(NSObject *)factory +- (instancetype)initWithContextFactory:(NSObject *)factory NS_DESIGNATED_INITIALIZER; @end diff --git a/packages/local_auth/local_auth_darwin/darwin/Classes/messages.g.h b/packages/local_auth/local_auth_darwin/darwin/Classes/messages.g.h index 712216c7599..e15d520472a 100644 --- a/packages/local_auth/local_auth_darwin/darwin/Classes/messages.g.h +++ b/packages/local_auth/local_auth_darwin/darwin/Classes/messages.g.h @@ -14,46 +14,46 @@ NS_ASSUME_NONNULL_BEGIN /// Possible outcomes of an authentication attempt. -typedef NS_ENUM(NSUInteger, FLAAuthResult) { +typedef NS_ENUM(NSUInteger, FLADAuthResult) { /// The user authenticated successfully. - FLAAuthResultSuccess = 0, + FLADAuthResultSuccess = 0, /// The user failed to successfully authenticate. - FLAAuthResultFailure = 1, + FLADAuthResultFailure = 1, /// The authentication system was not available. - FLAAuthResultErrorNotAvailable = 2, + FLADAuthResultErrorNotAvailable = 2, /// No biometrics are enrolled. - FLAAuthResultErrorNotEnrolled = 3, + FLADAuthResultErrorNotEnrolled = 3, /// No passcode is set. - FLAAuthResultErrorPasscodeNotSet = 4, + FLADAuthResultErrorPasscodeNotSet = 4, }; -/// Wrapper for FLAAuthResult to allow for nullability. -@interface FLAAuthResultBox : NSObject -@property(nonatomic, assign) FLAAuthResult value; -- (instancetype)initWithValue:(FLAAuthResult)value; +/// Wrapper for FLADAuthResult to allow for nullability. +@interface FLADAuthResultBox : NSObject +@property(nonatomic, assign) FLADAuthResult value; +- (instancetype)initWithValue:(FLADAuthResult)value; @end /// Pigeon equivalent of the subset of BiometricType used by iOS. -typedef NS_ENUM(NSUInteger, FLAAuthBiometric) { - FLAAuthBiometricFace = 0, - FLAAuthBiometricFingerprint = 1, +typedef NS_ENUM(NSUInteger, FLADAuthBiometric) { + FLADAuthBiometricFace = 0, + FLADAuthBiometricFingerprint = 1, }; -/// Wrapper for FLAAuthBiometric to allow for nullability. -@interface FLAAuthBiometricBox : NSObject -@property(nonatomic, assign) FLAAuthBiometric value; -- (instancetype)initWithValue:(FLAAuthBiometric)value; +/// Wrapper for FLADAuthBiometric to allow for nullability. +@interface FLADAuthBiometricBox : NSObject +@property(nonatomic, assign) FLADAuthBiometric value; +- (instancetype)initWithValue:(FLADAuthBiometric)value; @end -@class FLAAuthStrings; -@class FLAAuthOptions; -@class FLAAuthResultDetails; -@class FLAAuthBiometricWrapper; +@class FLADAuthStrings; +@class FLADAuthOptions; +@class FLADAuthResultDetails; +@class FLADAuthBiometricWrapper; /// Pigeon version of IOSAuthMessages, plus the authorization reason. /// /// See auth_messages_ios.dart for details. -@interface FLAAuthStrings : NSObject +@interface FLADAuthStrings : NSObject /// `init` unavailable to enforce nonnull fields, see the `make` class method. - (instancetype)init NS_UNAVAILABLE; + (instancetype)makeWithReason:(NSString *)reason @@ -70,7 +70,7 @@ typedef NS_ENUM(NSUInteger, FLAAuthBiometric) { @property(nonatomic, copy, nullable) NSString *localizedFallbackTitle; @end -@interface FLAAuthOptions : NSObject +@interface FLADAuthOptions : NSObject /// `init` unavailable to enforce nonnull fields, see the `make` class method. - (instancetype)init NS_UNAVAILABLE; + (instancetype)makeWithBiometricOnly:(BOOL)biometricOnly @@ -81,31 +81,31 @@ typedef NS_ENUM(NSUInteger, FLAAuthBiometric) { @property(nonatomic, assign) BOOL useErrorDialogs; @end -@interface FLAAuthResultDetails : NSObject +@interface FLADAuthResultDetails : NSObject /// `init` unavailable to enforce nonnull fields, see the `make` class method. - (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithResult:(FLAAuthResult)result ++ (instancetype)makeWithResult:(FLADAuthResult)result errorMessage:(nullable NSString *)errorMessage errorDetails:(nullable NSString *)errorDetails; /// The result of authenticating. -@property(nonatomic, assign) FLAAuthResult result; +@property(nonatomic, assign) FLADAuthResult result; /// A system-provided error message, if any. @property(nonatomic, copy, nullable) NSString *errorMessage; /// System-provided error details, if any. @property(nonatomic, copy, nullable) NSString *errorDetails; @end -@interface FLAAuthBiometricWrapper : NSObject +@interface FLADAuthBiometricWrapper : NSObject /// `init` unavailable to enforce nonnull fields, see the `make` class method. - (instancetype)init NS_UNAVAILABLE; -+ (instancetype)makeWithValue:(FLAAuthBiometric)value; -@property(nonatomic, assign) FLAAuthBiometric value; ++ (instancetype)makeWithValue:(FLADAuthBiometric)value; +@property(nonatomic, assign) FLADAuthBiometric value; @end -/// The codec used by FLALocalAuthApi. -NSObject *FLALocalAuthApiGetCodec(void); +/// The codec used by FLADLocalAuthApi. +NSObject *FLADLocalAuthApiGetCodec(void); -@protocol FLALocalAuthApi +@protocol FLADLocalAuthApi /// Returns true if this device supports authentication. /// /// @return `nil` only when `error != nil`. @@ -119,17 +119,17 @@ NSObject *FLALocalAuthApiGetCodec(void); /// without additional setup. /// /// @return `nil` only when `error != nil`. -- (nullable NSArray *)getEnrolledBiometricsWithError: +- (nullable NSArray *)getEnrolledBiometricsWithError: (FlutterError *_Nullable *_Nonnull)error; /// Attempts to authenticate the user with the provided [options], and using /// [strings] for any UI. -- (void)authenticateWithOptions:(FLAAuthOptions *)options - strings:(FLAAuthStrings *)strings - completion:(void (^)(FLAAuthResultDetails *_Nullable, +- (void)authenticateWithOptions:(FLADAuthOptions *)options + strings:(FLADAuthStrings *)strings + completion:(void (^)(FLADAuthResultDetails *_Nullable, FlutterError *_Nullable))completion; @end -extern void SetUpFLALocalAuthApi(id binaryMessenger, - NSObject *_Nullable api); +extern void SetUpFLADLocalAuthApi(id binaryMessenger, + NSObject *_Nullable api); NS_ASSUME_NONNULL_END diff --git a/packages/local_auth/local_auth_darwin/darwin/Classes/messages.g.m b/packages/local_auth/local_auth_darwin/darwin/Classes/messages.g.m index 6f0ef07d4c9..421b31e9424 100644 --- a/packages/local_auth/local_auth_darwin/darwin/Classes/messages.g.m +++ b/packages/local_auth/local_auth_darwin/darwin/Classes/messages.g.m @@ -31,8 +31,8 @@ static id GetNullableObjectAtIndex(NSArray *array, NSInteger key) { } /// Possible outcomes of an authentication attempt. -@implementation FLAAuthResultBox -- (instancetype)initWithValue:(FLAAuthResult)value { +@implementation FLADAuthResultBox +- (instancetype)initWithValue:(FLADAuthResult)value { self = [super init]; if (self) { _value = value; @@ -42,8 +42,8 @@ - (instancetype)initWithValue:(FLAAuthResult)value { @end /// Pigeon equivalent of the subset of BiometricType used by iOS. -@implementation FLAAuthBiometricBox -- (instancetype)initWithValue:(FLAAuthBiometric)value { +@implementation FLADAuthBiometricBox +- (instancetype)initWithValue:(FLADAuthBiometric)value { self = [super init]; if (self) { _value = value; @@ -52,38 +52,38 @@ - (instancetype)initWithValue:(FLAAuthBiometric)value { } @end -@interface FLAAuthStrings () -+ (FLAAuthStrings *)fromList:(NSArray *)list; -+ (nullable FLAAuthStrings *)nullableFromList:(NSArray *)list; +@interface FLADAuthStrings () ++ (FLADAuthStrings *)fromList:(NSArray *)list; ++ (nullable FLADAuthStrings *)nullableFromList:(NSArray *)list; - (NSArray *)toList; @end -@interface FLAAuthOptions () -+ (FLAAuthOptions *)fromList:(NSArray *)list; -+ (nullable FLAAuthOptions *)nullableFromList:(NSArray *)list; +@interface FLADAuthOptions () ++ (FLADAuthOptions *)fromList:(NSArray *)list; ++ (nullable FLADAuthOptions *)nullableFromList:(NSArray *)list; - (NSArray *)toList; @end -@interface FLAAuthResultDetails () -+ (FLAAuthResultDetails *)fromList:(NSArray *)list; -+ (nullable FLAAuthResultDetails *)nullableFromList:(NSArray *)list; +@interface FLADAuthResultDetails () ++ (FLADAuthResultDetails *)fromList:(NSArray *)list; ++ (nullable FLADAuthResultDetails *)nullableFromList:(NSArray *)list; - (NSArray *)toList; @end -@interface FLAAuthBiometricWrapper () -+ (FLAAuthBiometricWrapper *)fromList:(NSArray *)list; -+ (nullable FLAAuthBiometricWrapper *)nullableFromList:(NSArray *)list; +@interface FLADAuthBiometricWrapper () ++ (FLADAuthBiometricWrapper *)fromList:(NSArray *)list; ++ (nullable FLADAuthBiometricWrapper *)nullableFromList:(NSArray *)list; - (NSArray *)toList; @end -@implementation FLAAuthStrings +@implementation FLADAuthStrings + (instancetype)makeWithReason:(NSString *)reason lockOut:(NSString *)lockOut goToSettingsButton:(NSString *)goToSettingsButton goToSettingsDescription:(NSString *)goToSettingsDescription cancelButton:(NSString *)cancelButton localizedFallbackTitle:(nullable NSString *)localizedFallbackTitle { - FLAAuthStrings *pigeonResult = [[FLAAuthStrings alloc] init]; + FLADAuthStrings *pigeonResult = [[FLADAuthStrings alloc] init]; pigeonResult.reason = reason; pigeonResult.lockOut = lockOut; pigeonResult.goToSettingsButton = goToSettingsButton; @@ -92,8 +92,8 @@ + (instancetype)makeWithReason:(NSString *)reason pigeonResult.localizedFallbackTitle = localizedFallbackTitle; return pigeonResult; } -+ (FLAAuthStrings *)fromList:(NSArray *)list { - FLAAuthStrings *pigeonResult = [[FLAAuthStrings alloc] init]; ++ (FLADAuthStrings *)fromList:(NSArray *)list { + FLADAuthStrings *pigeonResult = [[FLADAuthStrings alloc] init]; pigeonResult.reason = GetNullableObjectAtIndex(list, 0); pigeonResult.lockOut = GetNullableObjectAtIndex(list, 1); pigeonResult.goToSettingsButton = GetNullableObjectAtIndex(list, 2); @@ -102,8 +102,8 @@ + (FLAAuthStrings *)fromList:(NSArray *)list { pigeonResult.localizedFallbackTitle = GetNullableObjectAtIndex(list, 5); return pigeonResult; } -+ (nullable FLAAuthStrings *)nullableFromList:(NSArray *)list { - return (list) ? [FLAAuthStrings fromList:list] : nil; ++ (nullable FLADAuthStrings *)nullableFromList:(NSArray *)list { + return (list) ? [FLADAuthStrings fromList:list] : nil; } - (NSArray *)toList { return @[ @@ -117,25 +117,25 @@ - (NSArray *)toList { } @end -@implementation FLAAuthOptions +@implementation FLADAuthOptions + (instancetype)makeWithBiometricOnly:(BOOL)biometricOnly sticky:(BOOL)sticky useErrorDialogs:(BOOL)useErrorDialogs { - FLAAuthOptions *pigeonResult = [[FLAAuthOptions alloc] init]; + FLADAuthOptions *pigeonResult = [[FLADAuthOptions alloc] init]; pigeonResult.biometricOnly = biometricOnly; pigeonResult.sticky = sticky; pigeonResult.useErrorDialogs = useErrorDialogs; return pigeonResult; } -+ (FLAAuthOptions *)fromList:(NSArray *)list { - FLAAuthOptions *pigeonResult = [[FLAAuthOptions alloc] init]; ++ (FLADAuthOptions *)fromList:(NSArray *)list { + FLADAuthOptions *pigeonResult = [[FLADAuthOptions alloc] init]; pigeonResult.biometricOnly = [GetNullableObjectAtIndex(list, 0) boolValue]; pigeonResult.sticky = [GetNullableObjectAtIndex(list, 1) boolValue]; pigeonResult.useErrorDialogs = [GetNullableObjectAtIndex(list, 2) boolValue]; return pigeonResult; } -+ (nullable FLAAuthOptions *)nullableFromList:(NSArray *)list { - return (list) ? [FLAAuthOptions fromList:list] : nil; ++ (nullable FLADAuthOptions *)nullableFromList:(NSArray *)list { + return (list) ? [FLADAuthOptions fromList:list] : nil; } - (NSArray *)toList { return @[ @@ -146,25 +146,25 @@ - (NSArray *)toList { } @end -@implementation FLAAuthResultDetails -+ (instancetype)makeWithResult:(FLAAuthResult)result +@implementation FLADAuthResultDetails ++ (instancetype)makeWithResult:(FLADAuthResult)result errorMessage:(nullable NSString *)errorMessage errorDetails:(nullable NSString *)errorDetails { - FLAAuthResultDetails *pigeonResult = [[FLAAuthResultDetails alloc] init]; + FLADAuthResultDetails *pigeonResult = [[FLADAuthResultDetails alloc] init]; pigeonResult.result = result; pigeonResult.errorMessage = errorMessage; pigeonResult.errorDetails = errorDetails; return pigeonResult; } -+ (FLAAuthResultDetails *)fromList:(NSArray *)list { - FLAAuthResultDetails *pigeonResult = [[FLAAuthResultDetails alloc] init]; ++ (FLADAuthResultDetails *)fromList:(NSArray *)list { + FLADAuthResultDetails *pigeonResult = [[FLADAuthResultDetails alloc] init]; pigeonResult.result = [GetNullableObjectAtIndex(list, 0) integerValue]; pigeonResult.errorMessage = GetNullableObjectAtIndex(list, 1); pigeonResult.errorDetails = GetNullableObjectAtIndex(list, 2); return pigeonResult; } -+ (nullable FLAAuthResultDetails *)nullableFromList:(NSArray *)list { - return (list) ? [FLAAuthResultDetails fromList:list] : nil; ++ (nullable FLADAuthResultDetails *)nullableFromList:(NSArray *)list { + return (list) ? [FLADAuthResultDetails fromList:list] : nil; } - (NSArray *)toList { return @[ @@ -175,19 +175,19 @@ - (NSArray *)toList { } @end -@implementation FLAAuthBiometricWrapper -+ (instancetype)makeWithValue:(FLAAuthBiometric)value { - FLAAuthBiometricWrapper *pigeonResult = [[FLAAuthBiometricWrapper alloc] init]; +@implementation FLADAuthBiometricWrapper ++ (instancetype)makeWithValue:(FLADAuthBiometric)value { + FLADAuthBiometricWrapper *pigeonResult = [[FLADAuthBiometricWrapper alloc] init]; pigeonResult.value = value; return pigeonResult; } -+ (FLAAuthBiometricWrapper *)fromList:(NSArray *)list { - FLAAuthBiometricWrapper *pigeonResult = [[FLAAuthBiometricWrapper alloc] init]; ++ (FLADAuthBiometricWrapper *)fromList:(NSArray *)list { + FLADAuthBiometricWrapper *pigeonResult = [[FLADAuthBiometricWrapper alloc] init]; pigeonResult.value = [GetNullableObjectAtIndex(list, 0) integerValue]; return pigeonResult; } -+ (nullable FLAAuthBiometricWrapper *)nullableFromList:(NSArray *)list { - return (list) ? [FLAAuthBiometricWrapper fromList:list] : nil; ++ (nullable FLADAuthBiometricWrapper *)nullableFromList:(NSArray *)list { + return (list) ? [FLADAuthBiometricWrapper fromList:list] : nil; } - (NSArray *)toList { return @[ @@ -196,39 +196,39 @@ - (NSArray *)toList { } @end -@interface FLALocalAuthApiCodecReader : FlutterStandardReader +@interface FLADLocalAuthApiCodecReader : FlutterStandardReader @end -@implementation FLALocalAuthApiCodecReader +@implementation FLADLocalAuthApiCodecReader - (nullable id)readValueOfType:(UInt8)type { switch (type) { case 128: - return [FLAAuthBiometricWrapper fromList:[self readValue]]; + return [FLADAuthBiometricWrapper fromList:[self readValue]]; case 129: - return [FLAAuthOptions fromList:[self readValue]]; + return [FLADAuthOptions fromList:[self readValue]]; case 130: - return [FLAAuthResultDetails fromList:[self readValue]]; + return [FLADAuthResultDetails fromList:[self readValue]]; case 131: - return [FLAAuthStrings fromList:[self readValue]]; + return [FLADAuthStrings fromList:[self readValue]]; default: return [super readValueOfType:type]; } } @end -@interface FLALocalAuthApiCodecWriter : FlutterStandardWriter +@interface FLADLocalAuthApiCodecWriter : FlutterStandardWriter @end -@implementation FLALocalAuthApiCodecWriter +@implementation FLADLocalAuthApiCodecWriter - (void)writeValue:(id)value { - if ([value isKindOfClass:[FLAAuthBiometricWrapper class]]) { + if ([value isKindOfClass:[FLADAuthBiometricWrapper class]]) { [self writeByte:128]; [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[FLAAuthOptions class]]) { + } else if ([value isKindOfClass:[FLADAuthOptions class]]) { [self writeByte:129]; [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[FLAAuthResultDetails class]]) { + } else if ([value isKindOfClass:[FLADAuthResultDetails class]]) { [self writeByte:130]; [self writeValue:[value toList]]; - } else if ([value isKindOfClass:[FLAAuthStrings class]]) { + } else if ([value isKindOfClass:[FLADAuthStrings class]]) { [self writeByte:131]; [self writeValue:[value toList]]; } else { @@ -237,40 +237,40 @@ - (void)writeValue:(id)value { } @end -@interface FLALocalAuthApiCodecReaderWriter : FlutterStandardReaderWriter +@interface FLADLocalAuthApiCodecReaderWriter : FlutterStandardReaderWriter @end -@implementation FLALocalAuthApiCodecReaderWriter +@implementation FLADLocalAuthApiCodecReaderWriter - (FlutterStandardWriter *)writerWithData:(NSMutableData *)data { - return [[FLALocalAuthApiCodecWriter alloc] initWithData:data]; + return [[FLADLocalAuthApiCodecWriter alloc] initWithData:data]; } - (FlutterStandardReader *)readerWithData:(NSData *)data { - return [[FLALocalAuthApiCodecReader alloc] initWithData:data]; + return [[FLADLocalAuthApiCodecReader alloc] initWithData:data]; } @end -NSObject *FLALocalAuthApiGetCodec(void) { +NSObject *FLADLocalAuthApiGetCodec(void) { static FlutterStandardMessageCodec *sSharedObject = nil; static dispatch_once_t sPred = 0; dispatch_once(&sPred, ^{ - FLALocalAuthApiCodecReaderWriter *readerWriter = - [[FLALocalAuthApiCodecReaderWriter alloc] init]; + FLADLocalAuthApiCodecReaderWriter *readerWriter = + [[FLADLocalAuthApiCodecReaderWriter alloc] init]; sSharedObject = [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter]; }); return sSharedObject; } -void SetUpFLALocalAuthApi(id binaryMessenger, - NSObject *api) { +void SetUpFLADLocalAuthApi(id binaryMessenger, + NSObject *api) { /// Returns true if this device supports authentication. { FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] initWithName:@"dev.flutter.pigeon.local_auth_darwin.LocalAuthApi.isDeviceSupported" binaryMessenger:binaryMessenger - codec:FLALocalAuthApiGetCodec()]; + codec:FLADLocalAuthApiGetCodec()]; if (api) { NSCAssert( [api respondsToSelector:@selector(isDeviceSupportedWithError:)], - @"FLALocalAuthApi api (%@) doesn't respond to @selector(isDeviceSupportedWithError:)", + @"FLADLocalAuthApi api (%@) doesn't respond to @selector(isDeviceSupportedWithError:)", api); [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { FlutterError *error; @@ -288,10 +288,10 @@ void SetUpFLALocalAuthApi(id binaryMessenger, initWithName: @"dev.flutter.pigeon.local_auth_darwin.LocalAuthApi.deviceCanSupportBiometrics" binaryMessenger:binaryMessenger - codec:FLALocalAuthApiGetCodec()]; + codec:FLADLocalAuthApiGetCodec()]; if (api) { NSCAssert([api respondsToSelector:@selector(deviceCanSupportBiometricsWithError:)], - @"FLALocalAuthApi api (%@) doesn't respond to " + @"FLADLocalAuthApi api (%@) doesn't respond to " @"@selector(deviceCanSupportBiometricsWithError:)", api); [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { @@ -309,15 +309,15 @@ void SetUpFLALocalAuthApi(id binaryMessenger, FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] initWithName:@"dev.flutter.pigeon.local_auth_darwin.LocalAuthApi.getEnrolledBiometrics" binaryMessenger:binaryMessenger - codec:FLALocalAuthApiGetCodec()]; + codec:FLADLocalAuthApiGetCodec()]; if (api) { - NSCAssert( - [api respondsToSelector:@selector(getEnrolledBiometricsWithError:)], - @"FLALocalAuthApi api (%@) doesn't respond to @selector(getEnrolledBiometricsWithError:)", - api); + NSCAssert([api respondsToSelector:@selector(getEnrolledBiometricsWithError:)], + @"FLADLocalAuthApi api (%@) doesn't respond to " + @"@selector(getEnrolledBiometricsWithError:)", + api); [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { FlutterError *error; - NSArray *output = [api getEnrolledBiometricsWithError:&error]; + NSArray *output = [api getEnrolledBiometricsWithError:&error]; callback(wrapResult(output, error)); }]; } else { @@ -330,19 +330,19 @@ void SetUpFLALocalAuthApi(id binaryMessenger, FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc] initWithName:@"dev.flutter.pigeon.local_auth_darwin.LocalAuthApi.authenticate" binaryMessenger:binaryMessenger - codec:FLALocalAuthApiGetCodec()]; + codec:FLADLocalAuthApiGetCodec()]; if (api) { NSCAssert([api respondsToSelector:@selector(authenticateWithOptions:strings:completion:)], - @"FLALocalAuthApi api (%@) doesn't respond to " + @"FLADLocalAuthApi api (%@) doesn't respond to " @"@selector(authenticateWithOptions:strings:completion:)", api); [channel setMessageHandler:^(id _Nullable message, FlutterReply callback) { NSArray *args = message; - FLAAuthOptions *arg_options = GetNullableObjectAtIndex(args, 0); - FLAAuthStrings *arg_strings = GetNullableObjectAtIndex(args, 1); + FLADAuthOptions *arg_options = GetNullableObjectAtIndex(args, 0); + FLADAuthStrings *arg_strings = GetNullableObjectAtIndex(args, 1); [api authenticateWithOptions:arg_options strings:arg_strings - completion:^(FLAAuthResultDetails *_Nullable output, + completion:^(FLADAuthResultDetails *_Nullable output, FlutterError *_Nullable error) { callback(wrapResult(output, error)); }]; diff --git a/packages/local_auth/local_auth_darwin/darwin/Tests/FLTLocalAuthPluginTests.m b/packages/local_auth/local_auth_darwin/darwin/Tests/FLALocalAuthPluginTests.m similarity index 82% rename from packages/local_auth/local_auth_darwin/darwin/Tests/FLTLocalAuthPluginTests.m rename to packages/local_auth/local_auth_darwin/darwin/Tests/FLALocalAuthPluginTests.m index 1e6f2d0e8dd..786316835d7 100644 --- a/packages/local_auth/local_auth_darwin/darwin/Tests/FLTLocalAuthPluginTests.m +++ b/packages/local_auth/local_auth_darwin/darwin/Tests/FLALocalAuthPluginTests.m @@ -14,7 +14,7 @@ /** * A context factory that returns preset contexts. */ -@interface StubAuthContextFactory : NSObject +@interface StubAuthContextFactory : NSObject @property(copy, nonatomic) NSMutableArray *contexts; - (instancetype)initWithContexts:(NSArray *)contexts; @end @@ -40,10 +40,10 @@ - (LAContext *)createAuthContext { #pragma mark - -@interface FLTLocalAuthPluginTests : XCTestCase +@interface FLALocalAuthPluginTests : XCTestCase @end -@implementation FLTLocalAuthPluginTests +@implementation FLALocalAuthPluginTests - (void)setUp { self.continueAfterFailure = NO; @@ -51,12 +51,12 @@ - (void)setUp { - (void)testSuccessfullAuthWithBiometrics { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; const LAPolicy policy = LAPolicyDeviceOwnerAuthenticationWithBiometrics; - FLAAuthStrings *strings = [self createAuthStrings]; + FLADAuthStrings *strings = [self createAuthStrings]; OCMStub([mockAuthContext canEvaluatePolicy:policy error:[OCMArg setTo:nil]]).andReturn(YES); // evaluatePolicy:localizedReason:reply: calls back on an internal queue, which is not @@ -73,14 +73,14 @@ - (void)testSuccessfullAuthWithBiometrics { .andDo(backgroundThreadReplyCaller); XCTestExpectation *expectation = [self expectationWithDescription:@"Result is called"]; - [plugin authenticateWithOptions:[FLAAuthOptions makeWithBiometricOnly:YES - sticky:NO - useErrorDialogs:NO] + [plugin authenticateWithOptions:[FLADAuthOptions makeWithBiometricOnly:YES + sticky:NO + useErrorDialogs:NO] strings:strings - completion:^(FLAAuthResultDetails *_Nullable resultDetails, + completion:^(FLADAuthResultDetails *_Nullable resultDetails, FlutterError *_Nullable error) { XCTAssertTrue([NSThread isMainThread]); - XCTAssertEqual(resultDetails.result, FLAAuthResultSuccess); + XCTAssertEqual(resultDetails.result, FLADAuthResultSuccess); XCTAssertNil(error); [expectation fulfill]; }]; @@ -89,12 +89,12 @@ - (void)testSuccessfullAuthWithBiometrics { - (void)testSuccessfullAuthWithoutBiometrics { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; const LAPolicy policy = LAPolicyDeviceOwnerAuthentication; - FLAAuthStrings *strings = [self createAuthStrings]; + FLADAuthStrings *strings = [self createAuthStrings]; OCMStub([mockAuthContext canEvaluatePolicy:policy error:[OCMArg setTo:nil]]).andReturn(YES); // evaluatePolicy:localizedReason:reply: calls back on an internal queue, which is not @@ -111,14 +111,14 @@ - (void)testSuccessfullAuthWithoutBiometrics { .andDo(backgroundThreadReplyCaller); XCTestExpectation *expectation = [self expectationWithDescription:@"Result is called"]; - [plugin authenticateWithOptions:[FLAAuthOptions makeWithBiometricOnly:NO - sticky:NO - useErrorDialogs:NO] + [plugin authenticateWithOptions:[FLADAuthOptions makeWithBiometricOnly:NO + sticky:NO + useErrorDialogs:NO] strings:strings - completion:^(FLAAuthResultDetails *_Nullable resultDetails, + completion:^(FLADAuthResultDetails *_Nullable resultDetails, FlutterError *_Nullable error) { XCTAssertTrue([NSThread isMainThread]); - XCTAssertEqual(resultDetails.result, FLAAuthResultSuccess); + XCTAssertEqual(resultDetails.result, FLADAuthResultSuccess); XCTAssertNil(error); [expectation fulfill]; }]; @@ -127,12 +127,12 @@ - (void)testSuccessfullAuthWithoutBiometrics { - (void)testFailedAuthWithBiometrics { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; const LAPolicy policy = LAPolicyDeviceOwnerAuthenticationWithBiometrics; - FLAAuthStrings *strings = [self createAuthStrings]; + FLADAuthStrings *strings = [self createAuthStrings]; OCMStub([mockAuthContext canEvaluatePolicy:policy error:[OCMArg setTo:nil]]).andReturn(YES); // evaluatePolicy:localizedReason:reply: calls back on an internal queue, which is not @@ -149,18 +149,18 @@ - (void)testFailedAuthWithBiometrics { .andDo(backgroundThreadReplyCaller); XCTestExpectation *expectation = [self expectationWithDescription:@"Result is called"]; - [plugin authenticateWithOptions:[FLAAuthOptions makeWithBiometricOnly:YES - sticky:NO - useErrorDialogs:NO] + [plugin authenticateWithOptions:[FLADAuthOptions makeWithBiometricOnly:YES + sticky:NO + useErrorDialogs:NO] strings:strings - completion:^(FLAAuthResultDetails *_Nullable resultDetails, + completion:^(FLADAuthResultDetails *_Nullable resultDetails, FlutterError *_Nullable error) { XCTAssertTrue([NSThread isMainThread]); // TODO(stuartmorgan): Fix this; this was the pre-Pigeon-migration // behavior, so is preserved as part of the migration, but a failed // authentication should return failure, not an error that results in a // PlatformException. - XCTAssertEqual(resultDetails.result, FLAAuthResultErrorNotAvailable); + XCTAssertEqual(resultDetails.result, FLADAuthResultErrorNotAvailable); XCTAssertNil(error); [expectation fulfill]; }]; @@ -169,12 +169,12 @@ - (void)testFailedAuthWithBiometrics { - (void)testFailedWithUnknownErrorCode { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; const LAPolicy policy = LAPolicyDeviceOwnerAuthentication; - FLAAuthStrings *strings = [self createAuthStrings]; + FLADAuthStrings *strings = [self createAuthStrings]; OCMStub([mockAuthContext canEvaluatePolicy:policy error:[OCMArg setTo:nil]]).andReturn(YES); // evaluatePolicy:localizedReason:reply: calls back on an internal queue, which is not @@ -191,14 +191,14 @@ - (void)testFailedWithUnknownErrorCode { .andDo(backgroundThreadReplyCaller); XCTestExpectation *expectation = [self expectationWithDescription:@"Result is called"]; - [plugin authenticateWithOptions:[FLAAuthOptions makeWithBiometricOnly:NO - sticky:NO - useErrorDialogs:NO] + [plugin authenticateWithOptions:[FLADAuthOptions makeWithBiometricOnly:NO + sticky:NO + useErrorDialogs:NO] strings:strings - completion:^(FLAAuthResultDetails *_Nullable resultDetails, + completion:^(FLADAuthResultDetails *_Nullable resultDetails, FlutterError *_Nullable error) { XCTAssertTrue([NSThread isMainThread]); - XCTAssertEqual(resultDetails.result, FLAAuthResultErrorNotAvailable); + XCTAssertEqual(resultDetails.result, FLADAuthResultErrorNotAvailable); XCTAssertNil(error); [expectation fulfill]; }]; @@ -207,12 +207,12 @@ - (void)testFailedWithUnknownErrorCode { - (void)testSystemCancelledWithoutStickyAuth { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; const LAPolicy policy = LAPolicyDeviceOwnerAuthentication; - FLAAuthStrings *strings = [self createAuthStrings]; + FLADAuthStrings *strings = [self createAuthStrings]; OCMStub([mockAuthContext canEvaluatePolicy:policy error:[OCMArg setTo:nil]]).andReturn(YES); // evaluatePolicy:localizedReason:reply: calls back on an internal queue, which is not @@ -229,14 +229,14 @@ - (void)testSystemCancelledWithoutStickyAuth { .andDo(backgroundThreadReplyCaller); XCTestExpectation *expectation = [self expectationWithDescription:@"Result is called"]; - [plugin authenticateWithOptions:[FLAAuthOptions makeWithBiometricOnly:NO - sticky:NO - useErrorDialogs:NO] + [plugin authenticateWithOptions:[FLADAuthOptions makeWithBiometricOnly:NO + sticky:NO + useErrorDialogs:NO] strings:strings - completion:^(FLAAuthResultDetails *_Nullable resultDetails, + completion:^(FLADAuthResultDetails *_Nullable resultDetails, FlutterError *_Nullable error) { XCTAssertTrue([NSThread isMainThread]); - XCTAssertEqual(resultDetails.result, FLAAuthResultFailure); + XCTAssertEqual(resultDetails.result, FLADAuthResultFailure); XCTAssertNil(error); [expectation fulfill]; }]; @@ -245,12 +245,12 @@ - (void)testSystemCancelledWithoutStickyAuth { - (void)testFailedAuthWithoutBiometrics { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; const LAPolicy policy = LAPolicyDeviceOwnerAuthentication; - FLAAuthStrings *strings = [self createAuthStrings]; + FLADAuthStrings *strings = [self createAuthStrings]; OCMStub([mockAuthContext canEvaluatePolicy:policy error:[OCMArg setTo:nil]]).andReturn(YES); // evaluatePolicy:localizedReason:reply: calls back on an internal queue, which is not @@ -267,18 +267,18 @@ - (void)testFailedAuthWithoutBiometrics { .andDo(backgroundThreadReplyCaller); XCTestExpectation *expectation = [self expectationWithDescription:@"Result is called"]; - [plugin authenticateWithOptions:[FLAAuthOptions makeWithBiometricOnly:NO - sticky:NO - useErrorDialogs:NO] + [plugin authenticateWithOptions:[FLADAuthOptions makeWithBiometricOnly:NO + sticky:NO + useErrorDialogs:NO] strings:strings - completion:^(FLAAuthResultDetails *_Nullable resultDetails, + completion:^(FLADAuthResultDetails *_Nullable resultDetails, FlutterError *_Nullable error) { XCTAssertTrue([NSThread isMainThread]); // TODO(stuartmorgan): Fix this; this was the pre-Pigeon-migration // behavior, so is preserved as part of the migration, but a failed // authentication should return failure, not an error that results in a // PlatformException. - XCTAssertEqual(resultDetails.result, FLAAuthResultErrorNotAvailable); + XCTAssertEqual(resultDetails.result, FLADAuthResultErrorNotAvailable); XCTAssertNil(error); [expectation fulfill]; }]; @@ -287,12 +287,12 @@ - (void)testFailedAuthWithoutBiometrics { - (void)testLocalizedFallbackTitle { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; const LAPolicy policy = LAPolicyDeviceOwnerAuthentication; - FLAAuthStrings *strings = [self createAuthStrings]; + FLADAuthStrings *strings = [self createAuthStrings]; strings.localizedFallbackTitle = @"a title"; OCMStub([mockAuthContext canEvaluatePolicy:policy error:[OCMArg setTo:nil]]).andReturn(YES); @@ -310,11 +310,11 @@ - (void)testLocalizedFallbackTitle { .andDo(backgroundThreadReplyCaller); XCTestExpectation *expectation = [self expectationWithDescription:@"Result is called"]; - [plugin authenticateWithOptions:[FLAAuthOptions makeWithBiometricOnly:NO - sticky:NO - useErrorDialogs:NO] + [plugin authenticateWithOptions:[FLADAuthOptions makeWithBiometricOnly:NO + sticky:NO + useErrorDialogs:NO] strings:strings - completion:^(FLAAuthResultDetails *_Nullable resultDetails, + completion:^(FLADAuthResultDetails *_Nullable resultDetails, FlutterError *_Nullable error) { OCMVerify([mockAuthContext setLocalizedFallbackTitle:strings.localizedFallbackTitle]); @@ -325,12 +325,12 @@ - (void)testLocalizedFallbackTitle { - (void)testSkippedLocalizedFallbackTitle { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; const LAPolicy policy = LAPolicyDeviceOwnerAuthentication; - FLAAuthStrings *strings = [self createAuthStrings]; + FLADAuthStrings *strings = [self createAuthStrings]; strings.localizedFallbackTitle = nil; OCMStub([mockAuthContext canEvaluatePolicy:policy error:[OCMArg setTo:nil]]).andReturn(YES); @@ -348,11 +348,11 @@ - (void)testSkippedLocalizedFallbackTitle { .andDo(backgroundThreadReplyCaller); XCTestExpectation *expectation = [self expectationWithDescription:@"Result is called"]; - [plugin authenticateWithOptions:[FLAAuthOptions makeWithBiometricOnly:NO - sticky:NO - useErrorDialogs:NO] + [plugin authenticateWithOptions:[FLADAuthOptions makeWithBiometricOnly:NO + sticky:NO + useErrorDialogs:NO] strings:strings - completion:^(FLAAuthResultDetails *_Nullable resultDetails, + completion:^(FLADAuthResultDetails *_Nullable resultDetails, FlutterError *_Nullable error) { OCMVerify([mockAuthContext setLocalizedFallbackTitle:nil]); [expectation fulfill]; @@ -362,7 +362,7 @@ - (void)testSkippedLocalizedFallbackTitle { - (void)testDeviceSupportsBiometrics_withEnrolledHardware { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; @@ -377,7 +377,7 @@ - (void)testDeviceSupportsBiometrics_withEnrolledHardware { - (void)testDeviceSupportsBiometrics_withNonEnrolledHardware { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; @@ -404,7 +404,7 @@ - (void)testDeviceSupportsBiometrics_withNonEnrolledHardware { - (void)testDeviceSupportsBiometrics_withNoBiometricHardware { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; @@ -431,7 +431,7 @@ - (void)testDeviceSupportsBiometrics_withNoBiometricHardware { - (void)testGetEnrolledBiometricsWithFaceID { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; @@ -440,15 +440,15 @@ - (void)testGetEnrolledBiometricsWithFaceID { OCMStub([mockAuthContext biometryType]).andReturn(LABiometryTypeFaceID); FlutterError *error; - NSArray *result = [plugin getEnrolledBiometricsWithError:&error]; + NSArray *result = [plugin getEnrolledBiometricsWithError:&error]; XCTAssertEqual([result count], 1); - XCTAssertEqual(result[0].value, FLAAuthBiometricFace); + XCTAssertEqual(result[0].value, FLADAuthBiometricFace); XCTAssertNil(error); } - (void)testGetEnrolledBiometricsWithTouchID { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; @@ -457,15 +457,15 @@ - (void)testGetEnrolledBiometricsWithTouchID { OCMStub([mockAuthContext biometryType]).andReturn(LABiometryTypeTouchID); FlutterError *error; - NSArray *result = [plugin getEnrolledBiometricsWithError:&error]; + NSArray *result = [plugin getEnrolledBiometricsWithError:&error]; XCTAssertEqual([result count], 1); - XCTAssertEqual(result[0].value, FLAAuthBiometricFingerprint); + XCTAssertEqual(result[0].value, FLADAuthBiometricFingerprint); XCTAssertNil(error); } - (void)testGetEnrolledBiometricsWithoutEnrolledHardware { id mockAuthContext = OCMClassMock([LAContext class]); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; @@ -485,7 +485,7 @@ - (void)testGetEnrolledBiometricsWithoutEnrolledHardware { .andDo(canEvaluatePolicyHandler); FlutterError *error; - NSArray *result = [plugin getEnrolledBiometricsWithError:&error]; + NSArray *result = [plugin getEnrolledBiometricsWithError:&error]; XCTAssertEqual([result count], 0); XCTAssertNil(error); } @@ -495,7 +495,7 @@ - (void)testIsDeviceSupportedHandlesSupported { OCMStub([mockAuthContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:[OCMArg setTo:nil]]) .andReturn(YES); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; @@ -510,7 +510,7 @@ - (void)testIsDeviceSupportedHandlesUnsupported { OCMStub([mockAuthContext canEvaluatePolicy:LAPolicyDeviceOwnerAuthentication error:[OCMArg setTo:nil]]) .andReturn(NO); - FLTLocalAuthPlugin *plugin = [[FLTLocalAuthPlugin alloc] + FLALocalAuthPlugin *plugin = [[FLALocalAuthPlugin alloc] initWithContextFactory:[[StubAuthContextFactory alloc] initWithContexts:@[ mockAuthContext ]]]; @@ -520,13 +520,13 @@ - (void)testIsDeviceSupportedHandlesUnsupported { XCTAssertNil(error); } -// Creates an FLAAuthStrings with placeholder values. -- (FLAAuthStrings *)createAuthStrings { - return [FLAAuthStrings makeWithReason:@"a reason" - lockOut:@"locked out" - goToSettingsButton:@"Go To Settings" - goToSettingsDescription:@"Settings" - cancelButton:@"Cancel" - localizedFallbackTitle:nil]; +// Creates an FLADAuthStrings with placeholder values. +- (FLADAuthStrings *)createAuthStrings { + return [FLADAuthStrings makeWithReason:@"a reason" + lockOut:@"locked out" + goToSettingsButton:@"Go To Settings" + goToSettingsDescription:@"Settings" + cancelButton:@"Cancel" + localizedFallbackTitle:nil]; } @end diff --git a/packages/local_auth/local_auth_darwin/example/ios/Runner.xcodeproj/project.pbxproj b/packages/local_auth/local_auth_darwin/example/ios/Runner.xcodeproj/project.pbxproj index 8ee93b59099..8ef2595364c 100644 --- a/packages/local_auth/local_auth_darwin/example/ios/Runner.xcodeproj/project.pbxproj +++ b/packages/local_auth/local_auth_darwin/example/ios/Runner.xcodeproj/project.pbxproj @@ -9,7 +9,7 @@ /* Begin PBXBuildFile section */ 0CCCD07A2CE24E13C9C1EEA4 /* libPods-Runner.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D274A3F79473B1549B2BBD5 /* libPods-Runner.a */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; - 3398D2E426164AD8005A052F /* FLTLocalAuthPluginTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3398D2E326164AD8005A052F /* FLTLocalAuthPluginTests.m */; }; + 3398D2E426164AD8005A052F /* FLALocalAuthPluginTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3398D2E326164AD8005A052F /* FLALocalAuthPluginTests.m */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; 691CB38B382734AF80FBCA4C /* libPods-RunnerTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = ADBFA21B380E07A3A585383D /* libPods-RunnerTests.a */; }; 978B8F6F1D3862AE00F588F7 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AFFD8EE1D35381100E5BB4D /* AppDelegate.m */; }; @@ -49,7 +49,7 @@ 3398D2D126163948005A052F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 3398D2DC261649CD005A052F /* liblocal_auth.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = liblocal_auth.a; sourceTree = BUILT_PRODUCTS_DIR; }; 3398D2DF26164A03005A052F /* liblocal_auth.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = liblocal_auth.a; sourceTree = BUILT_PRODUCTS_DIR; }; - 3398D2E326164AD8005A052F /* FLTLocalAuthPluginTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FLTLocalAuthPluginTests.m; path = ../../darwin/Tests/FLTLocalAuthPluginTests.m; sourceTree = SOURCE_ROOT; }; + 3398D2E326164AD8005A052F /* FLALocalAuthPluginTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = FLALocalAuthPluginTests.m; path = ../../darwin/Tests/FLALocalAuthPluginTests.m; sourceTree = SOURCE_ROOT; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; 658CDD04B21E4EA92F8EF229 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -93,7 +93,7 @@ 33BF11D226680B2E002967F3 /* RunnerTests */ = { isa = PBXGroup; children = ( - 3398D2E326164AD8005A052F /* FLTLocalAuthPluginTests.m */, + 3398D2E326164AD8005A052F /* FLALocalAuthPluginTests.m */, 3398D2D126163948005A052F /* Info.plist */, ); path = RunnerTests; @@ -227,7 +227,7 @@ 97C146E61CF9000F007C117D /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 1430; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = "The Flutter Authors"; TargetAttributes = { 3398D2CC26163948005A052F = { @@ -377,7 +377,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 3398D2E426164AD8005A052F /* FLTLocalAuthPluginTests.m in Sources */, + 3398D2E426164AD8005A052F /* FLALocalAuthPluginTests.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/packages/local_auth/local_auth_darwin/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/local_auth/local_auth_darwin/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index b17d9a05d49..7585dfca24d 100644 --- a/packages/local_auth/local_auth_darwin/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/packages/local_auth/local_auth_darwin/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,6 +1,6 @@