diff --git a/android/src/main/kotlin/sncf/connect/tech/eventide/CalendarApi.g.kt b/android/src/main/kotlin/sncf/connect/tech/eventide/CalendarApi.g.kt index 08c56c9..75cd77c 100644 --- a/android/src/main/kotlin/sncf/connect/tech/eventide/CalendarApi.g.kt +++ b/android/src/main/kotlin/sncf/connect/tech/eventide/CalendarApi.g.kt @@ -1,4 +1,4 @@ -// Autogenerated from Pigeon (v22.7.4), do not edit directly. +// Autogenerated from Pigeon (v24.2.1), do not edit directly. // See also: https://pub.dev/packages/pigeon @file:Suppress("UNCHECKED_CAST", "ArrayInDataClass") @@ -58,7 +58,6 @@ class FlutterError ( * [isWritable] is a boolean to indicate if the calendar is writable. * * [account] is the account the calendar belongs to - * TODO: explain android/ios differences * * Generated class from Pigeon that represents data sent in messages. */ diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 4a2bcfc..e8130a2 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,20 +1,14 @@ PODS: - - eventide (0.1.0): - - Flutter - Flutter (1.0.0) DEPENDENCIES: - - eventide (from `.symlinks/plugins/eventide/ios`) - Flutter (from `Flutter`) EXTERNAL SOURCES: - eventide: - :path: ".symlinks/plugins/eventide/ios" Flutter: :path: Flutter SPEC CHECKSUMS: - eventide: 49d6de19a7d84b90e51cc70a058631fb2bbe9cb8 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 PODFILE CHECKSUM: 687a4f822c79d65793be5e7d85d1c6a0768b0a5f diff --git a/example/ios/Runner.xcodeproj/project.pbxproj b/example/ios/Runner.xcodeproj/project.pbxproj index 219253d..14e4fa9 100644 --- a/example/ios/Runner.xcodeproj/project.pbxproj +++ b/example/ios/Runner.xcodeproj/project.pbxproj @@ -14,6 +14,7 @@ 3C5FCAE6DA74CDB40827FC98 /* Pods_EventideTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA0D9C842D5B628A006386AB /* Pods_EventideTests.framework */; }; 6B3F8EEDF0F4C499DF24CCA6 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 361A682E7976717241103791 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */ = {isa = PBXBuildFile; productRef = 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; 97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; }; @@ -106,6 +107,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 78A318202AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage in Frameworks */, 6B3F8EEDF0F4C499DF24CCA6 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -261,13 +263,15 @@ 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - CB66F7AC56765634DC864D9F /* [CP] Embed Pods Frameworks */, ); buildRules = ( ); dependencies = ( ); name = Runner; + packageProductDependencies = ( + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */, + ); productName = Runner; productReference = 97C146EE1CF9000F007C117D /* Runner.app */; productType = "com.apple.product-type.application"; @@ -325,6 +329,9 @@ Base, ); mainGroup = 97C146E51CF9000F007C117D; + packageReferences = ( + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */, + ); productRefGroup = 97C146EF1CF9000F007C117D /* Products */; projectDirPath = ""; projectRoot = ""; @@ -462,23 +469,6 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - CB66F7AC56765634DC864D9F /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Embed Pods Frameworks"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -965,6 +955,20 @@ defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCLocalSwiftPackageReference section */ + 781AD8BC2B33823900A9FFBB /* XCLocalSwiftPackageReference "FlutterGeneratedPluginSwiftPackage" */ = { + isa = XCLocalSwiftPackageReference; + relativePath = Flutter/ephemeral/Packages/FlutterGeneratedPluginSwiftPackage; + }; +/* End XCLocalSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + 78A3181F2AECB46A00862997 /* FlutterGeneratedPluginSwiftPackage */ = { + isa = XCSwiftPackageProductDependency; + productName = FlutterGeneratedPluginSwiftPackage; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = 97C146E61CF9000F007C117D /* Project object */; } diff --git a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme index 5c0e40f..e5518f3 100644 --- a/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme +++ b/example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme @@ -1,10 +1,28 @@ + version = "1.7"> + + + + + + + + + + @@ -70,6 +88,7 @@ ignoresPersistentStateOnLaunch = "NO" debugDocumentVersioning = "YES" debugServiceExtension = "internal" + enableGPUValidationMode = "1" allowLocationSimulation = "YES"> diff --git a/ios/.gitignore b/ios/.gitignore index 0c88507..cdff299 100644 --- a/ios/.gitignore +++ b/ios/.gitignore @@ -1,3 +1,6 @@ +.build/ +.swiftpm/ + .idea/ .vagrant/ .sconsign.dblite diff --git a/ios/Assets/.gitkeep b/ios/Assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/ios/eventide.podspec b/ios/eventide.podspec index 9cafaf6..222ab88 100644 --- a/ios/eventide.podspec +++ b/ios/eventide.podspec @@ -5,15 +5,16 @@ Pod::Spec.new do |s| s.name = 'eventide' s.version = '0.1.0' - s.summary = 'A new Flutter plugin project.' + s.summary = 'Flutter calendar plugin' s.description = <<-DESC -A new Flutter plugin project. +Eventide provides a easy-to-use flutter interface to access & modify native device calendars. DESC - s.homepage = 'http://example.com' - s.license = { :file => '../LICENSE' } - s.author = { 'Your Company' => 'email@example.com' } - s.source = { :path => '.' } - s.source_files = 'Classes/**/*' + s.homepage = 'https://github.com/sncf-connect-tech/eventide' + s.license = { :type => "MIT", :file => '../LICENSE' } + s.author = { 'SNCF Connect & Tech' => 'alexis.choupault@connect-tech.sncf' } + s.source = { :git => 'https://github.com/sncf-connect-tech/eventide.git', :tag => s.version.to_s } + s.source_files = 'eventide/Sources/eventide/**/*.swift' + s.resource_bundles = {'eventide_privacy' => ['eventide/Sources/eventide/PrivacyInfo.xcprivacy']} s.dependency 'Flutter' s.platform = :ios, '13.0' diff --git a/ios/eventide/Package.swift b/ios/eventide/Package.swift new file mode 100644 index 0000000..6e0bd33 --- /dev/null +++ b/ios/eventide/Package.swift @@ -0,0 +1,24 @@ +// swift-tools-version: 5.9 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "eventide", + platforms: [ + .iOS("13.0") + ], + products: [ + .library(name: "eventide", targets: ["eventide"]) + ], + dependencies: [], + targets: [ + .target( + name: "eventide", + dependencies: [], + resources: [ + .process("PrivacyInfo.xcprivacy"), + ] + ) + ] +) diff --git a/ios/Classes/CalendarApi.g.swift b/ios/eventide/Sources/eventide/CalendarApi.g.swift similarity index 98% rename from ios/Classes/CalendarApi.g.swift rename to ios/eventide/Sources/eventide/CalendarApi.g.swift index 5ed2a99..f9a04fc 100644 --- a/ios/Classes/CalendarApi.g.swift +++ b/ios/eventide/Sources/eventide/CalendarApi.g.swift @@ -1,4 +1,4 @@ -// Autogenerated from Pigeon (v22.7.4), do not edit directly. +// Autogenerated from Pigeon (v24.2.1), do not edit directly. // See also: https://pub.dev/packages/pigeon import Foundation @@ -15,9 +15,9 @@ import Foundation final class PigeonError: Error { let code: String let message: String? - let details: Any? + let details: Sendable? - init(code: String, message: String?, details: Any?) { + init(code: String, message: String?, details: Sendable?) { self.code = code self.message = message self.details = details @@ -75,7 +75,6 @@ private func nilOrValue(_ value: Any?) -> T? { /// [isWritable] is a boolean to indicate if the calendar is writable. /// /// [account] is the account the calendar belongs to -/// TODO: explain android/ios differences /// /// Generated class from Pigeon that represents data sent in messages. struct Calendar { diff --git a/ios/Classes/CalendarImplem.swift b/ios/eventide/Sources/eventide/CalendarImplem.swift similarity index 99% rename from ios/Classes/CalendarImplem.swift rename to ios/eventide/Sources/eventide/CalendarImplem.swift index df41b3c..6202481 100644 --- a/ios/Classes/CalendarImplem.swift +++ b/ios/eventide/Sources/eventide/CalendarImplem.swift @@ -6,6 +6,7 @@ // import Foundation +import UIKit class CalendarImplem: CalendarApi { private let easyEventStore: EasyEventStoreProtocol diff --git a/ios/Classes/EKEventStoreSingleton.swift b/ios/eventide/Sources/eventide/EKEventStoreSingleton.swift similarity index 100% rename from ios/Classes/EKEventStoreSingleton.swift rename to ios/eventide/Sources/eventide/EKEventStoreSingleton.swift diff --git a/ios/Classes/EasyEventStore/EasyEventStore.swift b/ios/eventide/Sources/eventide/EasyEventStore/EasyEventStore.swift similarity index 99% rename from ios/Classes/EasyEventStore/EasyEventStore.swift rename to ios/eventide/Sources/eventide/EasyEventStore/EasyEventStore.swift index f600406..bad3209 100644 --- a/ios/Classes/EasyEventStore/EasyEventStore.swift +++ b/ios/eventide/Sources/eventide/EasyEventStore/EasyEventStore.swift @@ -6,6 +6,7 @@ // import EventKit +import UIKit final class EasyEventStore: EasyEventStoreProtocol { private let eventStore: EKEventStore diff --git a/ios/Classes/EasyEventStore/EasyEventStoreProtocol.swift b/ios/eventide/Sources/eventide/EasyEventStore/EasyEventStoreProtocol.swift similarity index 98% rename from ios/Classes/EasyEventStore/EasyEventStoreProtocol.swift rename to ios/eventide/Sources/eventide/EasyEventStore/EasyEventStoreProtocol.swift index 99a46c0..b3f6cda 100644 --- a/ios/Classes/EasyEventStore/EasyEventStoreProtocol.swift +++ b/ios/eventide/Sources/eventide/EasyEventStore/EasyEventStoreProtocol.swift @@ -6,6 +6,7 @@ // import Foundation +import UIKit protocol EasyEventStoreProtocol { func createCalendar(title: String, color: UIColor, account: Account?) throws -> Calendar diff --git a/ios/Classes/EventidePlugin.swift b/ios/eventide/Sources/eventide/EventidePlugin.swift similarity index 100% rename from ios/Classes/EventidePlugin.swift rename to ios/eventide/Sources/eventide/EventidePlugin.swift diff --git a/ios/Classes/PermissionHandler/PermissionHandler.swift b/ios/eventide/Sources/eventide/PermissionHandler/PermissionHandler.swift similarity index 100% rename from ios/Classes/PermissionHandler/PermissionHandler.swift rename to ios/eventide/Sources/eventide/PermissionHandler/PermissionHandler.swift diff --git a/ios/Classes/PermissionHandler/PermissionHandlerProtocol.swift b/ios/eventide/Sources/eventide/PermissionHandler/PermissionHandlerProtocol.swift similarity index 100% rename from ios/Classes/PermissionHandler/PermissionHandlerProtocol.swift rename to ios/eventide/Sources/eventide/PermissionHandler/PermissionHandlerProtocol.swift diff --git a/ios/Resources/PrivacyInfo.xcprivacy b/ios/eventide/Sources/eventide/PrivacyInfo.xcprivacy similarity index 100% rename from ios/Resources/PrivacyInfo.xcprivacy rename to ios/eventide/Sources/eventide/PrivacyInfo.xcprivacy diff --git a/ios/Classes/Utils.swift b/ios/eventide/Sources/eventide/Utils.swift similarity index 99% rename from ios/Classes/Utils.swift rename to ios/eventide/Sources/eventide/Utils.swift index c81d672..7504d90 100644 --- a/ios/Classes/Utils.swift +++ b/ios/eventide/Sources/eventide/Utils.swift @@ -7,6 +7,7 @@ import Foundation import EventKit +import UIKit extension Date { var millisecondsSince1970: Int64 { diff --git a/lib/src/calendar_api.g.dart b/lib/src/calendar_api.g.dart index 29f4755..54d0258 100644 --- a/lib/src/calendar_api.g.dart +++ b/lib/src/calendar_api.g.dart @@ -1,4 +1,4 @@ -// Autogenerated from Pigeon (v22.7.4), do not edit directly. +// Autogenerated from Pigeon (v24.2.1), 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, no_leading_underscores_for_local_identifiers @@ -26,7 +26,6 @@ PlatformException _createConnectionError(String channelName) { /// [isWritable] is a boolean to indicate if the calendar is writable. /// /// [account] is the account the calendar belongs to -/// TODO: explain android/ios differences class Calendar { Calendar({ required this.id, @@ -174,6 +173,7 @@ class Account { } } + class _PigeonCodec extends StandardMessageCodec { const _PigeonCodec(); @override @@ -181,13 +181,13 @@ class _PigeonCodec extends StandardMessageCodec { if (value is int) { buffer.putUint8(4); buffer.putInt64(value); - } else if (value is Calendar) { + } else if (value is Calendar) { buffer.putUint8(129); writeValue(buffer, value.encode()); - } else if (value is Event) { + } else if (value is Event) { buffer.putUint8(130); writeValue(buffer, value.encode()); - } else if (value is Account) { + } else if (value is Account) { buffer.putUint8(131); writeValue(buffer, value.encode()); } else { @@ -198,11 +198,11 @@ class _PigeonCodec extends StandardMessageCodec { @override Object? readValueOfType(int type, ReadBuffer buffer) { switch (type) { - case 129: + case 129: return Calendar.decode(readValue(buffer)!); - case 130: + case 130: return Event.decode(readValue(buffer)!); - case 131: + case 131: return Account.decode(readValue(buffer)!); default: return super.readValueOfType(type, buffer); @@ -214,11 +214,9 @@ class CalendarApi { /// Constructor for [CalendarApi]. 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. - CalendarApi( - {BinaryMessenger? binaryMessenger, String messageChannelSuffix = ''}) + CalendarApi({BinaryMessenger? binaryMessenger, String messageChannelSuffix = ''}) : pigeonVar_binaryMessenger = binaryMessenger, - pigeonVar_messageChannelSuffix = - messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; + pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; final BinaryMessenger? pigeonVar_binaryMessenger; static const MessageCodec pigeonChannelCodec = _PigeonCodec(); @@ -226,16 +224,15 @@ class CalendarApi { final String pigeonVar_messageChannelSuffix; Future requestCalendarPermission() async { - final String pigeonVar_channelName = - 'dev.flutter.pigeon.eventide.CalendarApi.requestCalendarPermission$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( + final String pigeonVar_channelName = 'dev.flutter.pigeon.eventide.CalendarApi.requestCalendarPermission$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send(null); final List? pigeonVar_replyList = - await pigeonVar_channel.send(null) as List?; + await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -254,21 +251,16 @@ class CalendarApi { } } - Future createCalendar({ - required String title, - required int color, - required Account? account, - }) async { - final String pigeonVar_channelName = - 'dev.flutter.pigeon.eventide.CalendarApi.createCalendar$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( + Future createCalendar({required String title, required int color, required Account? account, }) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.eventide.CalendarApi.createCalendar$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); - final List? pigeonVar_replyList = await pigeonVar_channel - .send([title, color, account]) as List?; + final Future pigeonVar_sendFuture = pigeonVar_channel.send([title, color, account]); + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -287,18 +279,16 @@ class CalendarApi { } } - Future> retrieveCalendars( - {required bool onlyWritableCalendars, required Account? from}) async { - final String pigeonVar_channelName = - 'dev.flutter.pigeon.eventide.CalendarApi.retrieveCalendars$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( + Future> retrieveCalendars({required bool onlyWritableCalendars, required Account? from}) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.eventide.CalendarApi.retrieveCalendars$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); - final List? pigeonVar_replyList = await pigeonVar_channel - .send([onlyWritableCalendars, from]) as List?; + final Future pigeonVar_sendFuture = pigeonVar_channel.send([onlyWritableCalendars, from]); + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -318,16 +308,15 @@ class CalendarApi { } Future deleteCalendar({required String calendarId}) async { - final String pigeonVar_channelName = - 'dev.flutter.pigeon.eventide.CalendarApi.deleteCalendar$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( + final String pigeonVar_channelName = 'dev.flutter.pigeon.eventide.CalendarApi.deleteCalendar$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send([calendarId]); final List? pigeonVar_replyList = - await pigeonVar_channel.send([calendarId]) as List?; + await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -341,33 +330,16 @@ class CalendarApi { } } - Future createEvent({ - required String calendarId, - required String title, - required int startDate, - required int endDate, - required bool isAllDay, - required String? description, - required String? url, - }) async { - final String pigeonVar_channelName = - 'dev.flutter.pigeon.eventide.CalendarApi.createEvent$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( + Future createEvent({required String calendarId, required String title, required int startDate, required int endDate, required bool isAllDay, required String? description, required String? url, }) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.eventide.CalendarApi.createEvent$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); - final List? pigeonVar_replyList = await pigeonVar_channel - .send([ - calendarId, - title, - startDate, - endDate, - isAllDay, - description, - url - ]) as List?; + final Future pigeonVar_sendFuture = pigeonVar_channel.send([calendarId, title, startDate, endDate, isAllDay, description, url]); + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -386,21 +358,16 @@ class CalendarApi { } } - Future> retrieveEvents({ - required String calendarId, - required int startDate, - required int endDate, - }) async { - final String pigeonVar_channelName = - 'dev.flutter.pigeon.eventide.CalendarApi.retrieveEvents$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( + Future> retrieveEvents({required String calendarId, required int startDate, required int endDate, }) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.eventide.CalendarApi.retrieveEvents$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); - final List? pigeonVar_replyList = await pigeonVar_channel - .send([calendarId, startDate, endDate]) as List?; + final Future pigeonVar_sendFuture = pigeonVar_channel.send([calendarId, startDate, endDate]); + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -420,16 +387,15 @@ class CalendarApi { } Future deleteEvent({required String eventId}) async { - final String pigeonVar_channelName = - 'dev.flutter.pigeon.eventide.CalendarApi.deleteEvent$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( + final String pigeonVar_channelName = 'dev.flutter.pigeon.eventide.CalendarApi.deleteEvent$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); + final Future pigeonVar_sendFuture = pigeonVar_channel.send([eventId]); final List? pigeonVar_replyList = - await pigeonVar_channel.send([eventId]) as List?; + await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -443,18 +409,16 @@ class CalendarApi { } } - Future createReminder( - {required int reminder, required String eventId}) async { - final String pigeonVar_channelName = - 'dev.flutter.pigeon.eventide.CalendarApi.createReminder$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( + Future createReminder({required int reminder, required String eventId}) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.eventide.CalendarApi.createReminder$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); - final List? pigeonVar_replyList = await pigeonVar_channel - .send([reminder, eventId]) as List?; + final Future pigeonVar_sendFuture = pigeonVar_channel.send([reminder, eventId]); + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { @@ -473,18 +437,16 @@ class CalendarApi { } } - Future deleteReminder( - {required int reminder, required String eventId}) async { - final String pigeonVar_channelName = - 'dev.flutter.pigeon.eventide.CalendarApi.deleteReminder$pigeonVar_messageChannelSuffix'; - final BasicMessageChannel pigeonVar_channel = - BasicMessageChannel( + Future deleteReminder({required int reminder, required String eventId}) async { + final String pigeonVar_channelName = 'dev.flutter.pigeon.eventide.CalendarApi.deleteReminder$pigeonVar_messageChannelSuffix'; + final BasicMessageChannel pigeonVar_channel = BasicMessageChannel( pigeonVar_channelName, pigeonChannelCodec, binaryMessenger: pigeonVar_binaryMessenger, ); - final List? pigeonVar_replyList = await pigeonVar_channel - .send([reminder, eventId]) as List?; + final Future pigeonVar_sendFuture = pigeonVar_channel.send([reminder, eventId]); + final List? pigeonVar_replyList = + await pigeonVar_sendFuture as List?; if (pigeonVar_replyList == null) { throw _createConnectionError(pigeonVar_channelName); } else if (pigeonVar_replyList.length > 1) { diff --git a/pigeons/calendar_api.dart b/pigeons/calendar_api.dart index ffedfe9..32cb2c5 100644 --- a/pigeons/calendar_api.dart +++ b/pigeons/calendar_api.dart @@ -7,7 +7,7 @@ import 'package:pigeon/pigeon.dart'; kotlinOut: 'android/src/main/kotlin/sncf/connect/tech/eventide/CalendarApi.g.kt', kotlinOptions: KotlinOptions(package: 'sncf.connect.tech.eventide'), - swiftOut: 'ios/Classes/CalendarApi.g.swift', + swiftOut: 'ios/eventide/Sources/eventide/CalendarApi.g.swift', swiftOptions: SwiftOptions(), dartPackageName: 'eventide', )) @@ -85,7 +85,6 @@ abstract class CalendarApi { /// [isWritable] is a boolean to indicate if the calendar is writable. /// /// [account] is the account the calendar belongs to -/// TODO: explain android/ios differences final class Calendar { final String id; final String title;