For #9256: Attempts to fix installation ping not being sent (#9331)

fennec/beta
Sawyer Blatz 4 years ago committed by GitHub
parent 47b2f6a070
commit 9feb44852b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -37,6 +37,8 @@ class AdjustMetricsService(private val application: Application) : MetricsServic
true true
) )
val installationPing = InstallationPing(application)
config.setOnAttributionChangedListener { config.setOnAttributionChangedListener {
if (!it.network.isNullOrEmpty()) { if (!it.network.isNullOrEmpty()) {
application.applicationContext.settings().adjustNetwork = application.applicationContext.settings().adjustNetwork =
@ -55,7 +57,7 @@ class AdjustMetricsService(private val application: Application) : MetricsServic
it.campaign it.campaign
} }
InstallationPing(application).checkAndSend() installationPing.checkAndSend()
} }
config.setLogLevel(LogLevel.SUPRESS) config.setLogLevel(LogLevel.SUPRESS)

@ -71,14 +71,17 @@ class InstallationPing(private val context: Context) {
} }
/** /**
* Check that required metrics are not empty before attempting to send ping. * Check that at least one of the metrics values is set before sending the ping.
* Note: it is normal for many of these values to not be set as campaigns do not always
* utilize every attribute!
* */ * */
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
internal fun checkMetricsNotEmpty(): Boolean = listOf( internal fun checkMetricsNotEmpty(): Boolean = listOf(
context.settings().adjustCampaignId,
context.settings().adjustAdGroup, context.settings().adjustAdGroup,
context.settings().adjustCreative, context.settings().adjustCreative,
context.settings().adjustNetwork context.settings().adjustNetwork
).all { it.isNotEmpty() } ).any { it.isNotEmpty() }
/** /**
* Trigger sending the `installation` ping if it wasn't sent already. * Trigger sending the `installation` ping if it wasn't sent already.

Loading…
Cancel
Save