Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(api): API Pigeon update #1813

Merged
merged 3 commits into from
Jun 27, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
2 changes: 1 addition & 1 deletion packages/api/amplify_api/lib/src/native_api_plugin.dart
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//
// Autogenerated from Pigeon (v3.1.5), do not edit directly.
// Autogenerated from Pigeon (v3.2.0), 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
// @dart = 2.12
Expand Down
1 change: 1 addition & 0 deletions packages/api/amplify_api/pigeons/native_api_plugin.dart
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,6 @@ import 'package:pigeon/pigeon.dart';

@HostApi()
abstract class NativeApiBridge {
@async
void addPlugin(List<String> authProvidersList);
}
8 changes: 1 addition & 7 deletions packages/api/amplify_api/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,6 @@ dependencies:
meta: ^1.7.0
plugin_platform_interface: ^2.0.0

dependency_overrides:
# TODO(dnys1): Remove when pigeon is bumped
# https://github.com/flutter/flutter/issues/105090
analyzer: ^3.0.0


dev_dependencies:
amplify_lints:
path: ../../amplify_lints
Expand All @@ -36,7 +30,7 @@ dev_dependencies:
flutter_test:
sdk: flutter
mockito: ^5.0.0
pigeon: ^3.1.5
pigeon: ^3.1.6

# The following section is specific to Flutter.
flutter:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,10 @@ class AmplifyApi : FlutterPlugin, MethodCallHandler, NativeApiPluginBindings.Nat
)
}

override fun addPlugin(authProvidersList: MutableList<String>) {
override fun addPlugin(
authProvidersList: MutableList<String>,
result: NativeApiPluginBindings.Result<Void>
) {
try {
val authProviders = authProvidersList.map { AuthorizationType.valueOf(it) }
if (flutterAuthProviders == null) {
Expand All @@ -173,8 +176,10 @@ class AmplifyApi : FlutterPlugin, MethodCallHandler, NativeApiPluginBindings.Nat
.build()
)
logger.info("Added API plugin")
result.success(null)
} catch (e: Exception) {
logger.error(e.message)
result.error(e)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//
// Autogenerated from Pigeon (v3.1.5), do not edit directly.
// Autogenerated from Pigeon (v3.2.0), do not edit directly.
// See also: https://pub.dev/packages/pigeon

package com.amazonaws.amplify.amplify_api;
Expand All @@ -35,14 +35,19 @@
/** Generated class from Pigeon. */
@SuppressWarnings({"unused", "unchecked", "CodeBlock2Expr", "RedundantSuppression"})
public class NativeApiPluginBindings {

public interface Result<T> {
void success(T result);
void error(Throwable error);
}
private static class NativeApiBridgeCodec extends StandardMessageCodec {
public static final NativeApiBridgeCodec INSTANCE = new NativeApiBridgeCodec();
private NativeApiBridgeCodec() {}
}

/** Generated interface from Pigeon that represents a handler of messages from Flutter.*/
public interface NativeApiBridge {
void addPlugin(@NonNull List<String> authProvidersList);
void addPlugin(@NonNull List<String> authProvidersList, Result<Void> result);

/** The codec used by NativeApiBridge. */
static MessageCodec<Object> getCodec() {
Expand All @@ -63,13 +68,23 @@ static void setup(BinaryMessenger binaryMessenger, NativeApiBridge api) {
if (authProvidersListArg == null) {
throw new NullPointerException("authProvidersListArg unexpectedly null.");
}
api.addPlugin(authProvidersListArg);
wrapped.put("result", null);
Result<Void> resultCallback = new Result<Void>() {
public void success(Void result) {
wrapped.put("result", null);
reply.reply(wrapped);
}
public void error(Throwable error) {
wrapped.put("error", wrapError(error));
reply.reply(wrapped);
}
};

api.addPlugin(authProvidersListArg, resultCallback);
}
catch (Error | RuntimeException exception) {
wrapped.put("error", wrapError(exception));
reply.reply(wrapped);
}
reply.reply(wrapped);
});
} else {
channel.setMessageHandler(null);
Expand Down
4 changes: 2 additions & 2 deletions packages/api/amplify_api_ios/ios/Classes/NativeApiPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//
// Autogenerated from Pigeon (v3.1.5), do not edit directly.
// Autogenerated from Pigeon (v3.2.0), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import <Foundation/Foundation.h>
@protocol FlutterBinaryMessenger;
Expand All @@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN
NSObject<FlutterMessageCodec> *NativeApiBridgeGetCodec(void);

@protocol NativeApiBridge
- (void)addPluginAuthProvidersList:(NSArray<NSString *> *)authProvidersList error:(FlutterError *_Nullable *_Nonnull)error;
- (void)addPluginAuthProvidersList:(NSArray<NSString *> *)authProvidersList completion:(void(^)(FlutterError *_Nullable))completion;
@end

extern void NativeApiBridgeSetup(id<FlutterBinaryMessenger> binaryMessenger, NSObject<NativeApiBridge> *_Nullable api);
Expand Down
10 changes: 5 additions & 5 deletions packages/api/amplify_api_ios/ios/Classes/NativeApiPlugin.m
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//
// Autogenerated from Pigeon (v3.1.5), do not edit directly.
// Autogenerated from Pigeon (v3.2.0), do not edit directly.
// See also: https://pub.dev/packages/pigeon
#import "NativeApiPlugin.h"
#import <Flutter/Flutter.h>
Expand Down Expand Up @@ -86,13 +86,13 @@ void NativeApiBridgeSetup(id<FlutterBinaryMessenger> binaryMessenger, NSObject<N
binaryMessenger:binaryMessenger
codec:NativeApiBridgeGetCodec() ];
if (api) {
NSCAssert([api respondsToSelector:@selector(addPluginAuthProvidersList:error:)], @"NativeApiBridge api (%@) doesn't respond to @selector(addPluginAuthProvidersList:error:)", api);
NSCAssert([api respondsToSelector:@selector(addPluginAuthProvidersList:completion:)], @"NativeApiBridge api (%@) doesn't respond to @selector(addPluginAuthProvidersList:completion:)", api);
[channel setMessageHandler:^(id _Nullable message, FlutterReply callback) {
NSArray *args = message;
NSArray<NSString *> *arg_authProvidersList = GetNullableObjectAtIndex(args, 0);
FlutterError *error;
[api addPluginAuthProvidersList:arg_authProvidersList error:&error];
callback(wrapResult(nil, error));
[api addPluginAuthProvidersList:arg_authProvidersList completion:^(FlutterError *_Nullable error) {
callback(wrapResult(nil, error));
}];
}];
}
else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public class SwiftAmplifyApiPlugin: NSObject, FlutterPlugin, NativeApiBridge {
}
}

public func addPluginAuthProvidersList(_ authProvidersList: [String], error: AutoreleasingUnsafeMutablePointer<FlutterError?>) {
public func addPluginAuthProvidersList(_ authProvidersList: [String]) async -> FlutterError? {
do {
let authProviders = authProvidersList.compactMap {
AWSAuthorizationType(rawValue: $0)
Expand All @@ -79,8 +79,9 @@ public class SwiftAmplifyApiPlugin: NSObject, FlutterPlugin, NativeApiBridge {
plugin: AWSAPIPlugin(
sessionFactory: FlutterURLSessionBehaviorFactory(),
apiAuthProviderFactory: FlutterAuthProviders(authProviders)))
return nil
} catch let apiError as APIError {
error.pointee = FlutterError(
return FlutterError(
code: "APIException",
message: apiError.localizedDescription,
details: [
Expand All @@ -94,7 +95,7 @@ public class SwiftAmplifyApiPlugin: NSObject, FlutterPlugin, NativeApiBridge {
if case .amplifyAlreadyConfigured = configError {
errorCode = "AmplifyAlreadyConfiguredException"
}
error.pointee = FlutterError(
return FlutterError(
code: errorCode,
message: configError.localizedDescription,
details: [
Expand All @@ -104,7 +105,7 @@ public class SwiftAmplifyApiPlugin: NSObject, FlutterPlugin, NativeApiBridge {
]
)
} catch let e {
error.pointee = FlutterError(
return FlutterError(
code: "UNKNOWN",
message: e.localizedDescription,
details: nil
Expand Down