AndroidPush constructor

AndroidPush(
  1. AirshipModule module
)

Implementation

AndroidPush(AirshipModule module) : _module = module {
  if (Platform.isAndroid) {
    _module
        .getEventStream("com.airship.flutter/event/override_presentation_options")
        .listen((event) async {
          print("Received override_presentation_options event: $event");
          try {
            final payload = PushPayload.fromJson(event['pushPayload']);
            final requestId = event['requestId'] as String;

            if (_foregroundDisplayPredicate != null) {
              try {
                final result = await _foregroundDisplayPredicate!.call(payload);
                await _module.channel.invokeMethod(
                    'push#android#overrideForegroundDisplay',
                    {'requestId': requestId, 'result': result});
              } catch (error, stack) {
                print("Error in presentationOverridesCallback: $error\n$stack");
                _module.channel.invokeMethod(
                    'push#android#overrideForegroundDisplay',
                    {'requestId': requestId, 'result': true});
              }
            }
          } catch (e, st) {
            print("Failed to process push_received event: $e\n$st");
          }
        });
  }
}