From 1001a60468720521996b0064579c1c1aea60f60f Mon Sep 17 00:00:00 2001 From: Ryan Lepinski Date: Thu, 3 Oct 2024 16:37:29 -0700 Subject: [PATCH 1/3] Release 10.0.0 --- AirshipFrameworkProxy.podspec | 4 ++-- Package.swift | 2 +- .../proxy/proxies/LiveUpdatesManagerProxy.kt | 12 ++++++++---- android/gradle/libs.versions.toml | 4 ++-- .../LiveActivity/LiveActivityManager.swift | 14 +++++++------- .../LiveActivity/LiveActivityRequest.swift | 2 +- ios/Podfile | 2 +- 7 files changed, 22 insertions(+), 18 deletions(-) diff --git a/AirshipFrameworkProxy.podspec b/AirshipFrameworkProxy.podspec index e8c781f..0740c55 100644 --- a/AirshipFrameworkProxy.podspec +++ b/AirshipFrameworkProxy.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| - s.version = "9.1.3" + s.version = "10.0.0" s.name = "AirshipFrameworkProxy" s.summary = "Airship iOS mobile framework proxy" s.documentation_url = "https://docs.airship.com/platform/mobile" @@ -15,7 +15,7 @@ Pod::Spec.new do |s| s.requires_arc = true s.swift_version = "5.0" s.source_files = "ios/AirshipFrameworkProxy/**/*.{h,m,swift}" - s.dependency 'Airship', "18.9.2" + s.dependency 'Airship', "18.10.0" s.source_files = 'ios/AirshipFrameworkProxyLoader/**/*.{swift,h,m,c,cc,mm,cpp}', 'ios/AirshipFrameworkProxy/**/*.{swift,h,m,c,cc,mm,cpp}' end diff --git a/Package.swift b/Package.swift index 2517b7e..3117ed3 100644 --- a/Package.swift +++ b/Package.swift @@ -15,7 +15,7 @@ let package = Package( ) ], dependencies: [ - .package(url: "https://github.com/urbanairship/ios-library.git", from: "18.9.2") + .package(url: "https://github.com/urbanairship/ios-library.git", from: "18.10.0") ], targets: [ .target( diff --git a/android/airship-framework-proxy/src/main/java/com/urbanairship/android/framework/proxy/proxies/LiveUpdatesManagerProxy.kt b/android/airship-framework-proxy/src/main/java/com/urbanairship/android/framework/proxy/proxies/LiveUpdatesManagerProxy.kt index 4a16ec2..81c15da 100644 --- a/android/airship-framework-proxy/src/main/java/com/urbanairship/android/framework/proxy/proxies/LiveUpdatesManagerProxy.kt +++ b/android/airship-framework-proxy/src/main/java/com/urbanairship/android/framework/proxy/proxies/LiveUpdatesManagerProxy.kt @@ -26,7 +26,7 @@ public class LiveUpdatesManagerProxy(private val managerProvider: () -> LiveUpda return this.manager.getAllActiveUpdates().map { LiveUpdateProxy(it) } } - public fun create(request: LiveUpdateRequest.Create) { + public fun start(request: LiveUpdateRequest.Start) { this.manager.start( name = request.name, type = request.type, @@ -53,6 +53,10 @@ public class LiveUpdatesManagerProxy(private val managerProvider: () -> LiveUpda dismissTimestamp = request.dismissalTimestamp ) } + + public fun clearAll() { + this.manager.clearAll() + } } public class LiveUpdateProxy(private val liveUpdate: LiveUpdate): JsonSerializable { @@ -118,7 +122,7 @@ public sealed class LiveUpdateRequest { } } - public data class Create( + public data class Start( val name: String, val type: String, val content: JsonMap, @@ -127,9 +131,9 @@ public sealed class LiveUpdateRequest { ): LiveUpdateRequest() { public companion object { @Throws(JsonException::class) - public fun fromJson(jsonValue: JsonValue): Create { + public fun fromJson(jsonValue: JsonValue): Start { val map = jsonValue.requireMap() - return Create( + return Start( name = map.requireField(NAME), type = map.requireField(TYPE), content = map.requireField(CONTENT), diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml index 73a190e..ec30912 100644 --- a/android/gradle/libs.versions.toml +++ b/android/gradle/libs.versions.toml @@ -1,8 +1,8 @@ [versions] # Airship -airshipProxy = '9.1.3' -airship = '18.3.1' +airshipProxy = '10.0.0' +airship = '18.3.2' # Gradle plugins androidGradlePlugin = '8.3.2' diff --git a/ios/AirshipFrameworkProxy/LiveActivity/LiveActivityManager.swift b/ios/AirshipFrameworkProxy/LiveActivity/LiveActivityManager.swift index e84d60a..f5cd647 100644 --- a/ios/AirshipFrameworkProxy/LiveActivity/LiveActivityManager.swift +++ b/ios/AirshipFrameworkProxy/LiveActivity/LiveActivityManager.swift @@ -15,7 +15,7 @@ public actor LiveActivityManager: Sendable { fileprivate struct Entry { let list: () throws -> [LiveActivityInfo] - let create: (LiveActivityRequest.Create) async throws -> LiveActivityInfo + let start: (LiveActivityRequest.Start) async throws -> LiveActivityInfo let update: (LiveActivityRequest.Update) async throws -> Bool let end: (LiveActivityRequest.End) async throws -> Bool @@ -135,9 +135,9 @@ public actor LiveActivityManager: Sendable { }) } - public func create(_ request: LiveActivityRequest.Create) async throws -> LiveActivityInfo { + public func start(_ request: LiveActivityRequest.Start) async throws -> LiveActivityInfo { try await waitForSetup() - let result = try await findEntry(attributesType: request.attributesType).create(request) + let result = try await findEntry(attributesType: request.attributesType).start(request) if #unavailable(iOS 17.2) { await self.checkForActivities() } @@ -260,8 +260,8 @@ extension LiveActivityManager.Entry { try await Self.updateActivity(type, request: request) } - self.create = { request in - let activity: Activity = try Self.createActivity(request: request) + self.start = { request in + let activity: Activity = try Self.startActivity(request: request) if let airshipName = airshipNameExtractor?(activity.attributes) { Airship.channel.trackLiveActivity(activity, name: airshipName) } @@ -330,8 +330,8 @@ extension LiveActivityManager.Entry { return true } - private static func createActivity( - request: LiveActivityRequest.Create + private static func startActivity( + request: LiveActivityRequest.Start ) throws -> Activity { let decodedAttributes: T = try request.attributes.decode() let decodedContentState: T.ContentState = try request.content.state.decode() diff --git a/ios/AirshipFrameworkProxy/LiveActivity/LiveActivityRequest.swift b/ios/AirshipFrameworkProxy/LiveActivity/LiveActivityRequest.swift index fd1afa7..be6cdbd 100644 --- a/ios/AirshipFrameworkProxy/LiveActivity/LiveActivityRequest.swift +++ b/ios/AirshipFrameworkProxy/LiveActivity/LiveActivityRequest.swift @@ -58,7 +58,7 @@ public struct LiveActivityRequest: Sendable, Equatable { } } - public struct Create: Sendable, Equatable, Codable { + public struct Start: Sendable, Equatable, Codable { public var attributesType: String public var content: LiveActivityContent public var attributes: AirshipJSON diff --git a/ios/Podfile b/ios/Podfile index 289b229..513c847 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,5 +1,5 @@ target 'AirshipFrameworkProxy' do - pod 'Airship', '18.9.2' + pod 'Airship', '18.10.0' end target 'AirshipFrameworkProxyTests' do From 98ecc69f0d7fa73db44ac8d4faf898d515b20073 Mon Sep 17 00:00:00 2001 From: Ryan Lepinski Date: Thu, 3 Oct 2024 19:08:45 -0700 Subject: [PATCH 2/3] Podfile --- ios/Podfile.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index cfc465d..6fd8781 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,33 +1,33 @@ PODS: - - Airship (18.9.1): - - Airship/Automation (= 18.9.1) - - Airship/Basement (= 18.9.1) - - Airship/Core (= 18.9.1) - - Airship/FeatureFlags (= 18.9.1) - - Airship/MessageCenter (= 18.9.1) - - Airship/PreferenceCenter (= 18.9.1) - - Airship/Automation (18.9.1): + - Airship (18.10.0): + - Airship/Automation (= 18.10.0) + - Airship/Basement (= 18.10.0) + - Airship/Core (= 18.10.0) + - Airship/FeatureFlags (= 18.10.0) + - Airship/MessageCenter (= 18.10.0) + - Airship/PreferenceCenter (= 18.10.0) + - Airship/Automation (18.10.0): - Airship/Core - - Airship/Basement (18.9.1) - - Airship/Core (18.9.1): + - Airship/Basement (18.10.0) + - Airship/Core (18.10.0): - Airship/Basement - - Airship/FeatureFlags (18.9.1): + - Airship/FeatureFlags (18.10.0): - Airship/Core - - Airship/MessageCenter (18.9.1): + - Airship/MessageCenter (18.10.0): - Airship/Core - - Airship/PreferenceCenter (18.9.1): + - Airship/PreferenceCenter (18.10.0): - Airship/Core DEPENDENCIES: - - Airship (= 18.9.1) + - Airship (= 18.10.0) SPEC REPOS: trunk: - Airship SPEC CHECKSUMS: - Airship: ad738d84b710de1aa2cd00d4fd03a7cb372a034f + Airship: f05f63abc90b20274854a7cda3334f383af370cd -PODFILE CHECKSUM: 6717d8b0cb9d1a00cd74641097f1bd42cf157aec +PODFILE CHECKSUM: 5f06a5537f5c41dc24fba39026d885b6f017b344 COCOAPODS: 1.15.2 From d19311e1d6d43ff8e08dc1ab0d80cb7d769a4189 Mon Sep 17 00:00:00 2001 From: Ryan Lepinski Date: Thu, 3 Oct 2024 19:15:10 -0700 Subject: [PATCH 3/3] Fix --- ios/AirshipFrameworkProxy/DefaultMessageCenterUI.swift | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ios/AirshipFrameworkProxy/DefaultMessageCenterUI.swift b/ios/AirshipFrameworkProxy/DefaultMessageCenterUI.swift index 09a0c87..95f9235 100644 --- a/ios/AirshipFrameworkProxy/DefaultMessageCenterUI.swift +++ b/ios/AirshipFrameworkProxy/DefaultMessageCenterUI.swift @@ -9,17 +9,16 @@ import AirshipCore import AirshipMessageCenter #endif +@MainActor public class DefaultMessageCenterUI { static let shared: DefaultMessageCenterUI = DefaultMessageCenterUI() private var currentDisplay: AirshipMainActorCancellable? private var controller: MessageCenterController = MessageCenterController() - @MainActor func dismiss() { self.currentDisplay?.cancel() } - @MainActor func display(messageID: String? = nil) { guard let scene = try? AirshipSceneManager.shared.lastActiveScene else { AirshipLogger.error( @@ -40,7 +39,6 @@ public class DefaultMessageCenterUI { ) } - @MainActor func displayMessageView(messageID: String) { guard let scene = try? AirshipSceneManager.shared.lastActiveScene else { AirshipLogger.error( @@ -58,7 +56,6 @@ public class DefaultMessageCenterUI { ) } - @MainActor private func open( scene: UIWindowScene, theme: MessageCenterTheme? @@ -86,7 +83,6 @@ public class DefaultMessageCenterUI { return cancellable } - @MainActor private func openMessageView( scene: UIWindowScene, messageID: String,