Skip to content

Commit 193eed5

Browse files
committed
refactor: inline list attribute helpers into onSetUserAttributeList
- Braze: remove private setUserAttributeList; duplicate Braze getCurrentUser flow in onSetUserAttributeList and setAllUserAttributes initial sync. - Localytics: call Localytics.setProfileAttribute directly from onSetUserAttributeList and setAllUserAttributes. Made-with: Cursor
1 parent a9067e5 commit 193eed5

5 files changed

Lines changed: 130 additions & 102 deletions

File tree

kits/braze/braze-38/src/main/kotlin/com/mparticle/kits/AppboyKit.kt

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -440,27 +440,6 @@ open class AppboyKit :
440440
}
441441
}
442442

443-
private fun setUserAttributeList(
444-
key: String,
445-
list: List<String>,
446-
) {
447-
Braze
448-
.getInstance(context)
449-
.getCurrentUser(
450-
object : IValueCallback<BrazeUser> {
451-
override fun onSuccess(value: BrazeUser) {
452-
val array = list.toTypedArray<String?>()
453-
value.setCustomAttributeArray(key, array)
454-
queueDataFlush()
455-
}
456-
457-
override fun onError() {
458-
Logger.warning("unable to set key: " + key + " with User Attribute List: " + list)
459-
}
460-
},
461-
)
462-
}
463-
464443
override fun onIncrementUserAttribute(
465444
key: String?,
466445
incrementedBy: Number?,
@@ -532,7 +511,23 @@ open class AppboyKit :
532511
if (attributeKey == null || attributeValueList == null) {
533512
return
534513
}
535-
setUserAttributeList(attributeKey, attributeValueList)
514+
Braze
515+
.getInstance(context)
516+
.getCurrentUser(
517+
object : IValueCallback<BrazeUser> {
518+
override fun onSuccess(value: BrazeUser) {
519+
val array = attributeValueList.toTypedArray<String?>()
520+
value.setCustomAttributeArray(attributeKey, array)
521+
queueDataFlush()
522+
}
523+
524+
override fun onError() {
525+
Logger.warning(
526+
"unable to set key: " + attributeKey + " with User Attribute List: " + attributeValueList,
527+
)
528+
}
529+
},
530+
)
536531
}
537532

538533
override fun onSetAllUserAttributes(
@@ -689,7 +684,21 @@ open class AppboyKit :
689684
applyScalarUserAttribute(key, value)
690685
}
691686
for ((key, value) in attributeLists) {
692-
setUserAttributeList(key, value)
687+
Braze
688+
.getInstance(context)
689+
.getCurrentUser(
690+
object : IValueCallback<BrazeUser> {
691+
override fun onSuccess(brazeUser: BrazeUser) {
692+
val array = value.toTypedArray<String?>()
693+
brazeUser.setCustomAttributeArray(key, array)
694+
queueDataFlush()
695+
}
696+
697+
override fun onError() {
698+
Logger.warning("unable to set key: " + key + " with User Attribute List: " + value)
699+
}
700+
},
701+
)
693702
}
694703
kitPreferences.edit().putBoolean(PREF_KEY_HAS_SYNCED_ATTRIBUTES, true).apply()
695704
}

kits/braze/braze-39/src/main/kotlin/com/mparticle/kits/AppboyKit.kt

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -440,27 +440,6 @@ open class AppboyKit :
440440
}
441441
}
442442

443-
private fun setUserAttributeList(
444-
key: String,
445-
list: List<String>,
446-
) {
447-
Braze
448-
.getInstance(context)
449-
.getCurrentUser(
450-
object : IValueCallback<BrazeUser> {
451-
override fun onSuccess(value: BrazeUser) {
452-
val array = list.toTypedArray<String?>()
453-
value.setCustomAttributeArray(key, array)
454-
queueDataFlush()
455-
}
456-
457-
override fun onError() {
458-
Logger.warning("unable to set key: " + key + " with User Attribute List: " + list)
459-
}
460-
},
461-
)
462-
}
463-
464443
override fun onIncrementUserAttribute(
465444
key: String?,
466445
incrementedBy: Number?,
@@ -532,7 +511,23 @@ open class AppboyKit :
532511
if (attributeKey == null || attributeValueList == null) {
533512
return
534513
}
535-
setUserAttributeList(attributeKey, attributeValueList)
514+
Braze
515+
.getInstance(context)
516+
.getCurrentUser(
517+
object : IValueCallback<BrazeUser> {
518+
override fun onSuccess(value: BrazeUser) {
519+
val array = attributeValueList.toTypedArray<String?>()
520+
value.setCustomAttributeArray(attributeKey, array)
521+
queueDataFlush()
522+
}
523+
524+
override fun onError() {
525+
Logger.warning(
526+
"unable to set key: " + attributeKey + " with User Attribute List: " + attributeValueList,
527+
)
528+
}
529+
},
530+
)
536531
}
537532

538533
override fun onSetAllUserAttributes(
@@ -689,7 +684,21 @@ open class AppboyKit :
689684
applyScalarUserAttribute(key, value)
690685
}
691686
for ((key, value) in attributeLists) {
692-
setUserAttributeList(key, value)
687+
Braze
688+
.getInstance(context)
689+
.getCurrentUser(
690+
object : IValueCallback<BrazeUser> {
691+
override fun onSuccess(brazeUser: BrazeUser) {
692+
val array = value.toTypedArray<String?>()
693+
brazeUser.setCustomAttributeArray(key, array)
694+
queueDataFlush()
695+
}
696+
697+
override fun onError() {
698+
Logger.warning("unable to set key: " + key + " with User Attribute List: " + value)
699+
}
700+
},
701+
)
693702
}
694703
kitPreferences.edit().putBoolean(PREF_KEY_HAS_SYNCED_ATTRIBUTES, true).apply()
695704
}

kits/braze/braze-40/src/main/kotlin/com/mparticle/kits/AppboyKit.kt

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -440,27 +440,6 @@ open class AppboyKit :
440440
}
441441
}
442442

443-
private fun setUserAttributeList(
444-
key: String,
445-
list: List<String>,
446-
) {
447-
Braze
448-
.getInstance(context)
449-
.getCurrentUser(
450-
object : IValueCallback<BrazeUser> {
451-
override fun onSuccess(value: BrazeUser) {
452-
val array = list.toTypedArray<String?>()
453-
value.setCustomAttributeArray(key, array)
454-
queueDataFlush()
455-
}
456-
457-
override fun onError() {
458-
Logger.warning("unable to set key: " + key + " with User Attribute List: " + list)
459-
}
460-
},
461-
)
462-
}
463-
464443
override fun onIncrementUserAttribute(
465444
key: String?,
466445
incrementedBy: Number?,
@@ -532,7 +511,23 @@ open class AppboyKit :
532511
if (attributeKey == null || attributeValueList == null) {
533512
return
534513
}
535-
setUserAttributeList(attributeKey, attributeValueList)
514+
Braze
515+
.getInstance(context)
516+
.getCurrentUser(
517+
object : IValueCallback<BrazeUser> {
518+
override fun onSuccess(value: BrazeUser) {
519+
val array = attributeValueList.toTypedArray<String?>()
520+
value.setCustomAttributeArray(attributeKey, array)
521+
queueDataFlush()
522+
}
523+
524+
override fun onError() {
525+
Logger.warning(
526+
"unable to set key: " + attributeKey + " with User Attribute List: " + attributeValueList,
527+
)
528+
}
529+
},
530+
)
536531
}
537532

538533
override fun onSetAllUserAttributes(
@@ -689,7 +684,21 @@ open class AppboyKit :
689684
applyScalarUserAttribute(key, value)
690685
}
691686
for ((key, value) in attributeLists) {
692-
setUserAttributeList(key, value)
687+
Braze
688+
.getInstance(context)
689+
.getCurrentUser(
690+
object : IValueCallback<BrazeUser> {
691+
override fun onSuccess(brazeUser: BrazeUser) {
692+
val array = value.toTypedArray<String?>()
693+
brazeUser.setCustomAttributeArray(key, array)
694+
queueDataFlush()
695+
}
696+
697+
override fun onError() {
698+
Logger.warning("unable to set key: " + key + " with User Attribute List: " + value)
699+
}
700+
},
701+
)
693702
}
694703
kitPreferences.edit().putBoolean(PREF_KEY_HAS_SYNCED_ATTRIBUTES, true).apply()
695704
}

kits/braze/braze-41/src/main/kotlin/com/mparticle/kits/AppboyKit.kt

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -440,27 +440,6 @@ open class AppboyKit :
440440
}
441441
}
442442

443-
private fun setUserAttributeList(
444-
key: String,
445-
list: List<String>,
446-
) {
447-
Braze
448-
.getInstance(context)
449-
.getCurrentUser(
450-
object : IValueCallback<BrazeUser> {
451-
override fun onSuccess(value: BrazeUser) {
452-
val array = list.toTypedArray<String?>()
453-
value.setCustomAttributeArray(key, array)
454-
queueDataFlush()
455-
}
456-
457-
override fun onError() {
458-
Logger.warning("unable to set key: " + key + " with User Attribute List: " + list)
459-
}
460-
},
461-
)
462-
}
463-
464443
override fun onIncrementUserAttribute(
465444
key: String?,
466445
incrementedBy: Number?,
@@ -532,7 +511,23 @@ open class AppboyKit :
532511
if (attributeKey == null || attributeValueList == null) {
533512
return
534513
}
535-
setUserAttributeList(attributeKey, attributeValueList)
514+
Braze
515+
.getInstance(context)
516+
.getCurrentUser(
517+
object : IValueCallback<BrazeUser> {
518+
override fun onSuccess(value: BrazeUser) {
519+
val array = attributeValueList.toTypedArray<String?>()
520+
value.setCustomAttributeArray(attributeKey, array)
521+
queueDataFlush()
522+
}
523+
524+
override fun onError() {
525+
Logger.warning(
526+
"unable to set key: " + attributeKey + " with User Attribute List: " + attributeValueList,
527+
)
528+
}
529+
},
530+
)
536531
}
537532

538533
override fun onSetAllUserAttributes(
@@ -689,7 +684,21 @@ open class AppboyKit :
689684
applyScalarUserAttribute(key, value)
690685
}
691686
for ((key, value) in attributeLists) {
692-
setUserAttributeList(key, value)
687+
Braze
688+
.getInstance(context)
689+
.getCurrentUser(
690+
object : IValueCallback<BrazeUser> {
691+
override fun onSuccess(brazeUser: BrazeUser) {
692+
val array = value.toTypedArray<String?>()
693+
brazeUser.setCustomAttributeArray(key, array)
694+
queueDataFlush()
695+
}
696+
697+
override fun onError() {
698+
Logger.warning("unable to set key: " + key + " with User Attribute List: " + value)
699+
}
700+
},
701+
)
693702
}
694703
kitPreferences.edit().putBoolean(PREF_KEY_HAS_SYNCED_ATTRIBUTES, true).apply()
695704
}

kits/localytics/localytics-6/src/main/kotlin/com/mparticle/kits/LocalyticsKit.kt

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -148,20 +148,12 @@ class LocalyticsKit :
148148
}
149149
}
150150

151-
private fun setUserAttributeList(
152-
key: String,
153-
list: List<String>,
154-
) {
155-
val array = list.toTypedArray()
156-
Localytics.setProfileAttribute(key, array)
157-
}
158-
159151
override fun onSetUserAttributeList(
160152
attributeKey: String,
161153
attributeValueList: List<String>,
162154
user: FilteredMParticleUser,
163155
) {
164-
setUserAttributeList(attributeKey, attributeValueList)
156+
Localytics.setProfileAttribute(attributeKey, attributeValueList.toTypedArray())
165157
}
166158

167159
override fun supportsAttributeLists(): Boolean = true
@@ -174,7 +166,7 @@ class LocalyticsKit :
174166
applyScalarUserAttribute(key, value)
175167
}
176168
for ((key, value) in attributeLists) {
177-
setUserAttributeList(key, value)
169+
Localytics.setProfileAttribute(key, value.toTypedArray())
178170
}
179171
}
180172

0 commit comments

Comments
 (0)