Skip to content

Commit 8bb6c0e

Browse files
committed
LIBMOBILE-1157
- added startQuantcast function to start Quantcast - fixed test cases
1 parent f4c204d commit 8bb6c0e

File tree

2 files changed

+23
-7
lines changed

2 files changed

+23
-7
lines changed

lib/src/main/java/com/segment/analytics/kotlin/destinations/quantcast/QuantcastDestination.kt

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package com.segment.analytics.kotlin.destinations.quantcast
22

33
import android.app.Activity
4+
import android.app.Application
5+
import android.os.Bundle
6+
import android.util.Log
47
import com.quantcast.measurement.service.QuantcastClient
58
import com.segment.analytics.kotlin.android.plugins.AndroidLifecycle
69
import com.segment.analytics.kotlin.core.*
@@ -32,6 +35,11 @@ class QuantcastDestination : DestinationPlugin(), AndroidLifecycle {
3235
this.quantcastSettings =
3336
settings.destinationSettings(key, QuantcastSettings.serializer())
3437
if (type == Plugin.UpdateType.Initial) {
38+
QuantcastClient.startQuantcast(
39+
analytics.configuration.application as Application?,
40+
quantcastSettings?.apiKey,
41+
null,
42+
null)
3543
analytics.log("QuantcastClient.enableLogging(true)")
3644
QuantcastClient.enableLogging(true)
3745
}
@@ -55,9 +63,12 @@ class QuantcastDestination : DestinationPlugin(), AndroidLifecycle {
5563

5664
override fun onActivityStarted(activity: Activity?) {
5765
super.onActivityStarted(activity)
58-
analytics.log(
59-
"QuantcastClient.activityStart(activity, ${quantcastSettings?.apiKey}, null, null)")
60-
QuantcastClient.activityStart(activity, quantcastSettings?.apiKey, null, null)
66+
if(quantcastSettings != null) {
67+
QuantcastClient.activityStart(activity)
68+
analytics.log(
69+
"QuantcastClient.activityStart(activity)"
70+
)
71+
}
6172
}
6273

6374
override fun onActivityStopped(activity: Activity?) {
@@ -66,6 +77,10 @@ class QuantcastDestination : DestinationPlugin(), AndroidLifecycle {
6677
QuantcastClient.activityStop()
6778
}
6879

80+
override fun onActivityCreated(activity: Activity?, savedInstanceState: Bundle?) {
81+
super.onActivityCreated(activity, savedInstanceState)
82+
}
83+
6984
private fun quantcastLogEvent(event: String) {
7085
analytics.log("QuantcastClient.logEvent($event)")
7186
QuantcastClient.logEvent(event)

lib/src/test/kotlin/com/segment/analytics/kotlin/destinations/quantcast/QuantcastDestinationTests.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ class QuantcastDestinationTests {
6565

6666
@Test
6767
fun `settings are updated correctly`() {
68+
every { QuantcastClient.startQuantcast(mockApplication, "APIKEY1234567890", null, null) } answers { }
69+
6870
// An Quantcast example settings
6971
val quantcastSettings: Settings = sampleQuantcastSettings
7072
mockedQuantcastDestination.update(quantcastSettings, Plugin.UpdateType.Initial)
@@ -82,17 +84,16 @@ class QuantcastDestinationTests {
8284

8385
@Test
8486
fun `activity started handled correctly`() {
85-
val quantcastSettings: Settings = sampleQuantcastSettings
86-
mockedQuantcastDestination.update(quantcastSettings, Plugin.UpdateType.Initial)
87+
val settings = mockkClass(QuantcastSettings::class)
88+
mockedQuantcastDestination.quantcastSettings = settings
8789
val activity: Activity = mockkClass(Activity::class)
8890
val intent: Intent = mockkClass(Intent::class)
8991
every { activity.intent } returns intent
9092
every { activity.applicationContext } returns mockedContext
9193
every { mockedContext.checkCallingOrSelfPermission("android.permission.WAKE_LOCK") } returns -1
92-
9394
mockedQuantcastDestination.onActivityStarted(activity)
9495
verify {
95-
QuantcastClient.activityStart(activity, "APIKEY1234567890", null, null)
96+
QuantcastClient.activityStart(activity)
9697
}
9798
}
9899

0 commit comments

Comments
 (0)