Skip to content

Commit 835408a

Browse files
crowcrow
andauthored
Release 14.5.1 (#99)
* Release 14.5.1 * Support logPrivacyLevel in Android config --------- Co-authored-by: crow <david.crow@airship.com>
1 parent 16d11ec commit 835408a

File tree

6 files changed

+41
-8
lines changed

6 files changed

+41
-8
lines changed

AirshipFrameworkProxy.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
Pod::Spec.new do |s|
3-
s.version = "14.5.0"
3+
s.version = "14.5.1"
44
s.name = "AirshipFrameworkProxy"
55
s.summary = "Airship iOS mobile framework proxy"
66
s.documentation_url = "https://docs.airship.com/platform/mobile"
@@ -15,7 +15,7 @@ Pod::Spec.new do |s|
1515
s.requires_arc = true
1616
s.swift_version = "6.0"
1717
s.source_files = "ios/AirshipFrameworkProxy/**/*.{h,m,swift}"
18-
s.dependency 'Airship', "19.6.0"
18+
s.dependency 'Airship', "19.6.1"
1919
s.source_files = 'ios/AirshipFrameworkProxyLoader/**/*.{swift,h,m,c,cc,mm,cpp}', 'ios/AirshipFrameworkProxy/**/*.{swift,h,m,c,cc,mm,cpp}'
2020
end
2121

Package.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ let package = Package(
1515
)
1616
],
1717
dependencies: [
18-
.package(url: "https://github.com/urbanairship/ios-library.git", from: "19.6.0")
18+
.package(url: "https://github.com/urbanairship/ios-library.git", from: "19.6.1")
1919
],
2020
targets: [
2121
.target(

android/airship-framework-proxy/src/main/java/com/urbanairship/android/framework/proxy/BaseAutopilot.kt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,12 +190,20 @@ public fun AirshipConfigOptions.Builder.applyProxyConfig(context: Context, proxy
190190
this.setDevelopmentAppKey(it.appKey)
191191
.setDevelopmentAppSecret(it.appSecret)
192192
.setDevelopmentLogLevel(it.logLevel ?: Log.DEBUG)
193+
194+
proxyConfig.androidConfig?.logPrivacyLevel?.let { privacyLevel ->
195+
this.setDevelopmentLogPrivacyLevel(privacyLevel)
196+
}
193197
}
194198

195199
proxyConfig.productionEnvironment?.let {
196200
this.setProductionAppKey(it.appKey)
197201
.setProductionAppSecret(it.appSecret)
198202
.setProductionLogLevel(it.logLevel ?: Log.DEBUG)
203+
204+
proxyConfig.androidConfig?.logPrivacyLevel?.let { privacyLevel ->
205+
this.setProductionLogPrivacyLevel(privacyLevel)
206+
}
199207
}
200208

201209
proxyConfig.defaultEnvironment?.let {

android/airship-framework-proxy/src/main/java/com/urbanairship/android/framework/proxy/ProxyConfig.kt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.urbanairship.android.framework.proxy
22

3+
import com.urbanairship.AirshipConfigOptions
34
import com.urbanairship.AirshipConfigOptions.Site
45
import com.urbanairship.PrivacyManager.Feature
56
import com.urbanairship.json.JsonMap
@@ -77,18 +78,25 @@ public data class ProxyConfig(
7778
}
7879

7980
public data class Android(
80-
val appStoreUri: String?, val fcmFirebaseAppName: String?, val notificationConfig: NotificationConfig?
81+
val appStoreUri: String?,
82+
val fcmFirebaseAppName: String?,
83+
val notificationConfig: NotificationConfig?,
84+
val logPrivacyLevel: AirshipConfigOptions.PrivacyLevel?
8185
) : JsonSerializable {
8286

8387
override fun toJsonValue(): JsonValue = JsonMap.newBuilder()
8488
.putOpt("appStoreUri", appStoreUri)
8589
.putOpt("fcmFirebaseAppName", fcmFirebaseAppName)
8690
.putOpt("notificationConfig", notificationConfig)
91+
.putOpt("logPrivacyLevel", logPrivacyLevel?.let { Utils.logPrivacyLevelString(it) })
8792
.build()
8893
.toJsonValue()
8994

90-
internal constructor(config: JsonMap) : this(appStoreUri = config.get("appStoreUri")?.string,
95+
internal constructor(config: JsonMap) : this(
96+
appStoreUri = config.get("appStoreUri")?.string,
9197
fcmFirebaseAppName = config.get("fcmFirebaseAppName")?.string,
92-
notificationConfig = config.get("notificationConfig")?.map?.let { NotificationConfig(it) })
98+
notificationConfig = config.get("notificationConfig")?.map?.let { NotificationConfig(it) },
99+
logPrivacyLevel = config.get("logPrivacyLevel")?.string?.let { Utils.parseLogPrivacyLevel(it) }
100+
)
93101
}
94102
}

android/airship-framework-proxy/src/main/java/com/urbanairship/android/framework/proxy/Utils.kt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,23 @@ public object Utils {
4747
}
4848
}
4949

50+
public fun parseLogPrivacyLevel(privacyLevel: String): AirshipConfigOptions.PrivacyLevel {
51+
return when (privacyLevel.lowercase().trim()) {
52+
"public" -> AirshipConfigOptions.PrivacyLevel.PUBLIC
53+
"private" -> AirshipConfigOptions.PrivacyLevel.PRIVATE
54+
else -> {
55+
throw JsonException("Invalid log privacy level: $privacyLevel")
56+
}
57+
}
58+
}
59+
60+
public fun logPrivacyLevelString(privacyLevel: AirshipConfigOptions.PrivacyLevel): String {
61+
return when (privacyLevel) {
62+
AirshipConfigOptions.PrivacyLevel.PUBLIC -> "public"
63+
AirshipConfigOptions.PrivacyLevel.PRIVATE -> "private"
64+
}
65+
}
66+
5067
public fun parseFeatures(value: JsonValue): PrivacyManager.Feature {
5168
if (value.isJsonList) {
5269
return PrivacyManager.Feature.fromJson(value) ?: PrivacyManager.Feature.NONE

android/gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
[versions]
22

33
# Airship
4-
airshipProxy = '14.5.0'
5-
airship = '19.9.0'
4+
airshipProxy = '14.5.1'
5+
airship = '19.9.1'
66

77
# Gradle plugins
88
androidGradlePlugin = '8.3.2'

0 commit comments

Comments
 (0)