Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
3a36c5e
Add loadSystemImage
cadenkriese Feb 5, 2022
a6a20c8
Add system image to example app
cadenkriese Feb 11, 2022
91c65d7
Add integration tests
cadenkriese Oct 3, 2022
f1af677
Add iOS check and method warning
cadenkriese Feb 11, 2022
dcaaeb7
Formatting fixes
cadenkriese Feb 11, 2022
a1eef31
Version bump, edit changelog.md
cadenkriese Jul 17, 2022
4ab5208
Fix ios_platform_images example app formatting
cadenkriese Oct 3, 2022
6aea17a
Fix xcode_analyze and multicolor symbols
cadenkriese Feb 12, 2022
b622ca2
Add color behavior docs
cadenkriese Feb 12, 2022
4ac71a3
Fix format
cadenkriese Feb 12, 2022
2929566
Throw ArgumentError when symbol not found
cadenkriese Feb 19, 2022
d7e63a9
Add test for error case
cadenkriese Feb 19, 2022
c083b6f
Remove unused import
cadenkriese Feb 19, 2022
faae33f
Add clarification to docs
cadenkriese Feb 24, 2022
249f966
Add multicolor icon to example app
cadenkriese Feb 24, 2022
59caf13
Switch weight from int to FontWeight
cadenkriese Feb 24, 2022
f8c7f65
Fix crash on <iOS 15
cadenkriese Feb 25, 2022
99f449f
Remove scale index
cadenkriese Mar 1, 2022
ba62957
Correct formatting
cadenkriese Mar 1, 2022
d60108b
Documentation fixes
cadenkriese Mar 1, 2022
7ca9f6a
Error when passed both colors and preferMulticolor
cadenkriese Mar 1, 2022
fd62ca7
Convert requested size from pixels to points
cadenkriese Mar 9, 2022
e164d6b
Use Object? instead of dynamic for null-safety
cadenkriese Mar 9, 2022
f9641ec
Correct changelog
cadenkriese Mar 22, 2022
8fbd4bd
Remove ios_platform_images text exemption
cadenkriese Aug 30, 2022
2eefe60
Tidy up IosPlatformImagesPlugin.m
cadenkriese Mar 27, 2022
fde300e
Add missing newline in exclude_integration_ios
cadenkriese Aug 30, 2022
4e207c0
Simplify pointSize variable definition
cadenkriese Mar 27, 2022
b1531fc
Correct array type
cadenkriese Mar 28, 2022
22ea529
Fix error case test
cadenkriese Mar 28, 2022
4f1f0f6
Add test_driver
cadenkriese Oct 3, 2022
adbef2a
Xcode updates
cadenkriese May 12, 2022
ff45b5b
Rename integration test file
cadenkriese May 31, 2022
17d6cf0
Change test strategy to completer
cadenkriese May 31, 2022
db91e29
Delete unused error example
cadenkriese May 31, 2022
b6f3feb
Working pigeon implementation
cadenkriese Aug 19, 2022
a43b25d
Re-enable integration tests for ios_platform_images
cadenkriese Aug 30, 2022
f5855fb
Run format
cadenkriese Aug 30, 2022
8c4cba9
Fix casting error
cadenkriese Sep 11, 2022
fe2ed61
Rewrite dart test
cadenkriese Oct 6, 2022
1e42c3f
Add missing license notices
cadenkriese Oct 6, 2022
9fb5be8
Fix dart formatting
cadenkriese Oct 6, 2022
30e5af9
Update & regenerate Pigeon
cadenkriese Oct 6, 2022
6f7438d
Fix formatting & xcode-analyze
cadenkriese Oct 7, 2022
1a65029
Fix Uint8List import
cadenkriese Dec 11, 2022
a6dd9e8
Regenerate Pigeon files
cadenkriese Dec 11, 2022
c36dcc0
Ignore avoid print in example app
cadenkriese Jan 2, 2023
c763486
Update pigeon
cadenkriese Jan 2, 2023
5442590
Bump version and fix changelog
cadenkriese Jan 2, 2023
c2f4636
Update to pigeon 7.0.5
cadenkriese Jan 26, 2023
ed394eb
Correct formatting
cadenkriese Jan 26, 2023
5e20e1a
Fix null issues in native code & pigeon
cadenkriese Jan 27, 2023
ece3b57
Make Pigeon PlatformImage fields non-nullable
cadenkriese Jan 27, 2023
9349e4f
Update pigeon
cadenkriese Jan 28, 2023
531fd69
Fix dart test
cadenkriese Jan 28, 2023
4176948
Update pigeon to 8.0.0
cadenkriese Feb 13, 2023
1507628
Fix system image error case test
cadenkriese Feb 13, 2023
35591e4
Fix xctest
cadenkriese Feb 13, 2023
fa3a4b0
Fix pigeon file formatting
cadenkriese Feb 13, 2023
e43c3b1
Rearchitect integration test
cadenkriese Feb 13, 2023
b3ac4c1
Remove pedantic
cadenkriese Feb 16, 2023
6cdf894
Tweak Xcode build settings
cadenkriese Feb 16, 2023
35b832c
Fully disable quoted include warnings
cadenkriese Feb 16, 2023
3bc88fc
Make integration test accept a range of sizes
cadenkriese Feb 16, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Regenerate Pigeon files
  • Loading branch information
cadenkriese committed Feb 16, 2023
commit a6dd9e8638a6f83910e22f13ebe54a0ce7f15ecc
25 changes: 8 additions & 17 deletions packages/ios_platform_images/ios/Classes/PlatformImagesApi.g.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// 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.
// Autogenerated from Pigeon (v4.2.1), do not edit directly.
// Autogenerated from Pigeon (v4.2.10), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import <Foundation/Foundation.h>
@protocol FlutterBinaryMessenger;
Expand All @@ -27,31 +27,22 @@ typedef NS_ENUM(NSUInteger, FLTFontWeight) {

@interface FLTPlatformImage : NSObject
+ (instancetype)makeWithScale:(nullable NSNumber *)scale
bytes:(nullable FlutterStandardTypedData *)bytes;
@property(nonatomic, strong, nullable) NSNumber *scale;
@property(nonatomic, strong, nullable) FlutterStandardTypedData *bytes;
bytes:(nullable FlutterStandardTypedData *)bytes;
@property(nonatomic, strong, nullable) NSNumber * scale;
@property(nonatomic, strong, nullable) FlutterStandardTypedData * bytes;
@end

/// The codec used by FLTPlatformImagesApi.
NSObject<FlutterMessageCodec> *FLTPlatformImagesApiGetCodec(void);

@protocol FLTPlatformImagesApi
/// @return `nil` only when `error != nil`.
- (nullable FLTPlatformImage *)getSystemImageName:(NSString *)name
size:(NSNumber *)size
weight:(FLTFontWeight)weight
colorsRGBA:(NSArray<NSNumber *> *)colorsRGBA
preferMulticolor:(NSNumber *)preferMulticolor
error:(FlutterError *_Nullable *_Nonnull)error;
- (nullable FLTPlatformImage *)getSystemImageName:(NSString *)name size:(NSNumber *)size weight:(FLTFontWeight)weight colorsRGBA:(NSArray<NSNumber *> *)colorsRGBA preferMulticolor:(NSNumber *)preferMulticolor error:(FlutterError *_Nullable *_Nonnull)error;
/// @return `nil` only when `error != nil`.
- (nullable FLTPlatformImage *)getPlatformImageName:(NSString *)name
error:(FlutterError *_Nullable *_Nonnull)error;
- (nullable NSString *)resolveURLName:(NSString *)name
extension:(nullable NSString *)extension
error:(FlutterError *_Nullable *_Nonnull)error;
- (nullable FLTPlatformImage *)getPlatformImageName:(NSString *)name error:(FlutterError *_Nullable *_Nonnull)error;
- (nullable NSString *)resolveURLName:(NSString *)name extension:(nullable NSString *)extension error:(FlutterError *_Nullable *_Nonnull)error;
@end

extern void FLTPlatformImagesApiSetup(id<FlutterBinaryMessenger> binaryMessenger,
NSObject<FLTPlatformImagesApi> *_Nullable api);
extern void FLTPlatformImagesApiSetup(id<FlutterBinaryMessenger> binaryMessenger, NSObject<FLTPlatformImagesApi> *_Nullable api);

NS_ASSUME_NONNULL_END
107 changes: 50 additions & 57 deletions packages/ios_platform_images/ios/Classes/PlatformImagesApi.g.m
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// 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.
// Autogenerated from Pigeon (v4.2.1), do not edit directly.
// Autogenerated from Pigeon (v4.2.10), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import "PlatformImagesApi.g.h"
#import <Flutter/Flutter.h>
Expand All @@ -14,25 +14,26 @@
NSDictionary *errorDict = (NSDictionary *)[NSNull null];
if (error) {
errorDict = @{
@"code" : (error.code ?: [NSNull null]),
@"message" : (error.message ?: [NSNull null]),
@"details" : (error.details ?: [NSNull null]),
};
@"code": (error.code ?: [NSNull null]),
@"message": (error.message ?: [NSNull null]),
@"details": (error.details ?: [NSNull null]),
};
}
return @{
@"result" : (result ?: [NSNull null]),
@"error" : errorDict,
};
@"result": (result ?: [NSNull null]),
@"error": errorDict,
};
}
static id GetNullableObject(NSDictionary *dict, id key) {
static id GetNullableObject(NSDictionary* dict, id key) {
id result = dict[key];
return (result == [NSNull null]) ? nil : result;
}
static id GetNullableObjectAtIndex(NSArray *array, NSInteger key) {
static id GetNullableObjectAtIndex(NSArray* array, NSInteger key) {
id result = array[key];
return (result == [NSNull null]) ? nil : result;
}


@interface FLTPlatformImage ()
+ (FLTPlatformImage *)fromMap:(NSDictionary *)dict;
+ (nullable FLTPlatformImage *)nullableFromMap:(NSDictionary *)dict;
Expand All @@ -41,8 +42,8 @@ - (NSDictionary *)toMap;

@implementation FLTPlatformImage
+ (instancetype)makeWithScale:(nullable NSNumber *)scale
bytes:(nullable FlutterStandardTypedData *)bytes {
FLTPlatformImage *pigeonResult = [[FLTPlatformImage alloc] init];
bytes:(nullable FlutterStandardTypedData *)bytes {
FLTPlatformImage* pigeonResult = [[FLTPlatformImage alloc] init];
pigeonResult.scale = scale;
pigeonResult.bytes = bytes;
return pigeonResult;
Expand All @@ -53,9 +54,7 @@ + (FLTPlatformImage *)fromMap:(NSDictionary *)dict {
pigeonResult.bytes = GetNullableObject(dict, @"bytes");
return pigeonResult;
}
+ (nullable FLTPlatformImage *)nullableFromMap:(NSDictionary *)dict {
return (dict) ? [FLTPlatformImage fromMap:dict] : nil;
}
+ (nullable FLTPlatformImage *)nullableFromMap:(NSDictionary *)dict { return (dict) ? [FLTPlatformImage fromMap:dict] : nil; }
- (NSDictionary *)toMap {
return @{
@"scale" : (self.scale ?: [NSNull null]),
Expand All @@ -67,25 +66,29 @@ - (NSDictionary *)toMap {
@interface FLTPlatformImagesApiCodecReader : FlutterStandardReader
@end
@implementation FLTPlatformImagesApiCodecReader
- (nullable id)readValueOfType:(UInt8)type {
- (nullable id)readValueOfType:(UInt8)type
{
switch (type) {
case 128:
case 128:
return [FLTPlatformImage fromMap:[self readValue]];

default:
default:
return [super readValueOfType:type];

}
}
@end

@interface FLTPlatformImagesApiCodecWriter : FlutterStandardWriter
@end
@implementation FLTPlatformImagesApiCodecWriter
- (void)writeValue:(id)value {
- (void)writeValue:(id)value
{
if ([value isKindOfClass:[FLTPlatformImage class]]) {
[self writeByte:128];
[self writeValue:[value toMap]];
} else {
} else
{
[super writeValue:value];
}
}
Expand All @@ -102,30 +105,26 @@ - (FlutterStandardReader *)readerWithData:(NSData *)data {
}
@end


NSObject<FlutterMessageCodec> *FLTPlatformImagesApiGetCodec() {
static dispatch_once_t sPred = 0;
static FlutterStandardMessageCodec *sSharedObject = nil;
static dispatch_once_t sPred = 0;
dispatch_once(&sPred, ^{
FLTPlatformImagesApiCodecReaderWriter *readerWriter =
[[FLTPlatformImagesApiCodecReaderWriter alloc] init];
FLTPlatformImagesApiCodecReaderWriter *readerWriter = [[FLTPlatformImagesApiCodecReaderWriter alloc] init];
sSharedObject = [FlutterStandardMessageCodec codecWithReaderWriter:readerWriter];
});
return sSharedObject;
}

void FLTPlatformImagesApiSetup(id<FlutterBinaryMessenger> binaryMessenger,
NSObject<FLTPlatformImagesApi> *api) {
void FLTPlatformImagesApiSetup(id<FlutterBinaryMessenger> binaryMessenger, NSObject<FLTPlatformImagesApi> *api) {
{
FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc]
initWithName:@"dev.flutter.pigeon.PlatformImagesApi.getSystemImage"
FlutterBasicMessageChannel *channel =
[[FlutterBasicMessageChannel alloc]
initWithName:@"dev.flutter.pigeon.PlatformImagesApi.getSystemImage"
binaryMessenger:binaryMessenger
codec:FLTPlatformImagesApiGetCodec()];
codec:FLTPlatformImagesApiGetCodec()];
if (api) {
NSCAssert([api respondsToSelector:@selector
(getSystemImageName:size:weight:colorsRGBA:preferMulticolor:error:)],
@"FLTPlatformImagesApi api (%@) doesn't respond to "
@"@selector(getSystemImageName:size:weight:colorsRGBA:preferMulticolor:error:)",
api);
NSCAssert([api respondsToSelector:@selector(getSystemImageName:size:weight:colorsRGBA:preferMulticolor:error:)], @"FLTPlatformImagesApi api (%@) doesn't respond to @selector(getSystemImageName:size:weight:colorsRGBA:preferMulticolor:error:)", api);
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
NSArray *args = message;
NSString *arg_name = GetNullableObjectAtIndex(args, 0);
Expand All @@ -134,49 +133,42 @@ void FLTPlatformImagesApiSetup(id<FlutterBinaryMessenger> binaryMessenger,
NSArray<NSNumber *> *arg_colorsRGBA = GetNullableObjectAtIndex(args, 3);
NSNumber *arg_preferMulticolor = GetNullableObjectAtIndex(args, 4);
FlutterError *error;
FLTPlatformImage *output = [api getSystemImageName:arg_name
size:arg_size
weight:arg_weight
colorsRGBA:arg_colorsRGBA
preferMulticolor:arg_preferMulticolor
error:&error];
FLTPlatformImage *output = [api getSystemImageName:arg_name size:arg_size weight:arg_weight colorsRGBA:arg_colorsRGBA preferMulticolor:arg_preferMulticolor error:&error];
callback(wrapResult(output, error));
}];
} else {
}
else {
[channel setMessageHandler:nil];
}
}
{
FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc]
initWithName:@"dev.flutter.pigeon.PlatformImagesApi.getPlatformImage"
FlutterBasicMessageChannel *channel =
[[FlutterBasicMessageChannel alloc]
initWithName:@"dev.flutter.pigeon.PlatformImagesApi.getPlatformImage"
binaryMessenger:binaryMessenger
codec:FLTPlatformImagesApiGetCodec()];
codec:FLTPlatformImagesApiGetCodec()];
if (api) {
NSCAssert([api respondsToSelector:@selector(getPlatformImageName:error:)],
@"FLTPlatformImagesApi api (%@) doesn't respond to "
@"@selector(getPlatformImageName:error:)",
api);
NSCAssert([api respondsToSelector:@selector(getPlatformImageName:error:)], @"FLTPlatformImagesApi api (%@) doesn't respond to @selector(getPlatformImageName:error:)", api);
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
NSArray *args = message;
NSString *arg_name = GetNullableObjectAtIndex(args, 0);
FlutterError *error;
FLTPlatformImage *output = [api getPlatformImageName:arg_name error:&error];
callback(wrapResult(output, error));
}];
} else {
}
else {
[channel setMessageHandler:nil];
}
}
{
FlutterBasicMessageChannel *channel = [[FlutterBasicMessageChannel alloc]
initWithName:@"dev.flutter.pigeon.PlatformImagesApi.resolveURL"
FlutterBasicMessageChannel *channel =
[[FlutterBasicMessageChannel alloc]
initWithName:@"dev.flutter.pigeon.PlatformImagesApi.resolveURL"
binaryMessenger:binaryMessenger
codec:FLTPlatformImagesApiGetCodec()];
codec:FLTPlatformImagesApiGetCodec()];
if (api) {
NSCAssert([api respondsToSelector:@selector(resolveURLName:extension:error:)],
@"FLTPlatformImagesApi api (%@) doesn't respond to "
@"@selector(resolveURLName:extension:error:)",
api);
NSCAssert([api respondsToSelector:@selector(resolveURLName:extension:error:)], @"FLTPlatformImagesApi api (%@) doesn't respond to @selector(resolveURLName:extension:error:)", api);
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
NSArray *args = message;
NSString *arg_name = GetNullableObjectAtIndex(args, 0);
Expand All @@ -185,7 +177,8 @@ void FLTPlatformImagesApiSetup(id<FlutterBinaryMessenger> binaryMessenger,
NSString *output = [api resolveURLName:arg_name extension:arg_extension error:&error];
callback(wrapResult(output, error));
}];
} else {
}
else {
[channel setMessageHandler:nil];
}
}
Expand Down
57 changes: 20 additions & 37 deletions packages/ios_platform_images/lib/platform_images_api.g.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// 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.
// Autogenerated from Pigeon (v4.2.1), do not edit directly.
// Autogenerated from Pigeon (v4.2.10), do not edit directly.
// See also: https://pub.dev/packages/pigeon
// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import
import 'dart:async';
Expand Down Expand Up @@ -47,26 +47,27 @@ class PlatformImage {
}
}

class _PlatformImagesApiCodec extends StandardMessageCodec {
class _PlatformImagesApiCodec extends StandardMessageCodec{
const _PlatformImagesApiCodec();
@override
void writeValue(WriteBuffer buffer, Object? value) {
if (value is PlatformImage) {
buffer.putUint8(128);
writeValue(buffer, value.encode());
} else {
} else
{
super.writeValue(buffer, value);
}
}

@override
Object? readValueOfType(int type, ReadBuffer buffer) {
switch (type) {
case 128:
case 128:
return PlatformImage.decode(readValue(buffer)!);

default:
default:
return super.readValueOfType(type, buffer);

}
}
}
Expand All @@ -75,37 +76,23 @@ class PlatformImagesApi {
/// Constructor for [PlatformImagesApi]. The [binaryMessenger] named argument is
/// available for dependency injection. If it is left null, the default
/// BinaryMessenger will be used which routes to the host platform.
PlatformImagesApi({BinaryMessenger? binaryMessenger})
: _binaryMessenger = binaryMessenger;

PlatformImagesApi({BinaryMessenger? binaryMessenger}) : _binaryMessenger = binaryMessenger;
final BinaryMessenger? _binaryMessenger;

static const MessageCodec<Object?> codec = _PlatformImagesApiCodec();

Future<PlatformImage> getSystemImage(
String arg_name,
double arg_size,
FontWeight arg_weight,
List<double?> arg_colorsRGBA,
bool arg_preferMulticolor) async {
Future<PlatformImage> getSystemImage(String arg_name, double arg_size, FontWeight arg_weight, List<double?> arg_colorsRGBA, bool arg_preferMulticolor) async {
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
'dev.flutter.pigeon.PlatformImagesApi.getSystemImage', codec,
binaryMessenger: _binaryMessenger);
final Map<Object?, Object?>? replyMap = await channel.send(<Object?>[
arg_name,
arg_size,
arg_weight.index,
arg_colorsRGBA,
arg_preferMulticolor
]) as Map<Object?, Object?>?;
'dev.flutter.pigeon.PlatformImagesApi.getSystemImage', codec, binaryMessenger: _binaryMessenger);
final Map<Object?, Object?>? replyMap =
await channel.send(<Object?>[arg_name, arg_size, arg_weight.index, arg_colorsRGBA, arg_preferMulticolor]) as Map<Object?, Object?>?;
if (replyMap == null) {
throw PlatformException(
code: 'channel-error',
message: 'Unable to establish connection on channel.',
);
} else if (replyMap['error'] != null) {
final Map<Object?, Object?> error =
(replyMap['error'] as Map<Object?, Object?>?)!;
final Map<Object?, Object?> error = (replyMap['error'] as Map<Object?, Object?>?)!;
throw PlatformException(
code: (error['code'] as String?)!,
message: error['message'] as String?,
Expand All @@ -123,8 +110,7 @@ class PlatformImagesApi {

Future<PlatformImage> getPlatformImage(String arg_name) async {
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
'dev.flutter.pigeon.PlatformImagesApi.getPlatformImage', codec,
binaryMessenger: _binaryMessenger);
'dev.flutter.pigeon.PlatformImagesApi.getPlatformImage', codec, binaryMessenger: _binaryMessenger);
final Map<Object?, Object?>? replyMap =
await channel.send(<Object?>[arg_name]) as Map<Object?, Object?>?;
if (replyMap == null) {
Expand All @@ -133,8 +119,7 @@ class PlatformImagesApi {
message: 'Unable to establish connection on channel.',
);
} else if (replyMap['error'] != null) {
final Map<Object?, Object?> error =
(replyMap['error'] as Map<Object?, Object?>?)!;
final Map<Object?, Object?> error = (replyMap['error'] as Map<Object?, Object?>?)!;
throw PlatformException(
code: (error['code'] as String?)!,
message: error['message'] as String?,
Expand All @@ -152,18 +137,16 @@ class PlatformImagesApi {

Future<String?> resolveURL(String arg_name, String? arg_extension) async {
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
'dev.flutter.pigeon.PlatformImagesApi.resolveURL', codec,
binaryMessenger: _binaryMessenger);
final Map<Object?, Object?>? replyMap = await channel
.send(<Object?>[arg_name, arg_extension]) as Map<Object?, Object?>?;
'dev.flutter.pigeon.PlatformImagesApi.resolveURL', codec, binaryMessenger: _binaryMessenger);
final Map<Object?, Object?>? replyMap =
await channel.send(<Object?>[arg_name, arg_extension]) as Map<Object?, Object?>?;
if (replyMap == null) {
throw PlatformException(
code: 'channel-error',
message: 'Unable to establish connection on channel.',
);
} else if (replyMap['error'] != null) {
final Map<Object?, Object?> error =
(replyMap['error'] as Map<Object?, Object?>?)!;
final Map<Object?, Object?> error = (replyMap['error'] as Map<Object?, Object?>?)!;
throw PlatformException(
code: (error['code'] as String?)!,
message: error['message'] as String?,
Expand Down
Loading