Skip to content

Commit b926ab9

Browse files
committed
for wenxi
1 parent 245a514 commit b926ab9

File tree

3 files changed

+13
-46
lines changed

3 files changed

+13
-46
lines changed

build.gradle

-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ allprojects {
2727
repositories {
2828
google()
2929
mavenCentral()
30-
maven { url "https://kotlin.bintray.com/kotlinx" }
31-
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
3230
}
3331
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
3432
kotlinOptions {

core/src/main/java/com/segment/analytics/kotlin/core/Analytics.kt

+9-4
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,13 @@ import com.segment.analytics.kotlin.core.platform.Timeline
66
import com.segment.analytics.kotlin.core.platform.plugins.ContextPlugin
77
import com.segment.analytics.kotlin.core.platform.plugins.SegmentDestination
88
import com.segment.analytics.kotlin.core.platform.plugins.StartupQueue
9-
import kotlinx.coroutines.*
10-
import com.segment.analytics.kotlin.core.platform.plugins.logger.*
9+
import com.segment.analytics.kotlin.core.platform.plugins.logger.SegmentLog
10+
import com.segment.analytics.kotlin.core.platform.plugins.logger.log
11+
import kotlinx.coroutines.CoroutineScope
12+
import kotlinx.coroutines.SupervisorJob
13+
import kotlinx.coroutines.asCoroutineDispatcher
14+
import kotlinx.coroutines.launch
15+
import kotlinx.coroutines.runBlocking
1116
import kotlinx.serialization.DeserializationStrategy
1217
import kotlinx.serialization.SerializationStrategy
1318
import kotlinx.serialization.json.Json
@@ -76,7 +81,7 @@ open class Analytics protected constructor(
7681
constructor(configuration: Configuration): this(configuration, object : CoroutineConfiguration{
7782
override val store = Store()
7883
override val analyticsScope = CoroutineScope(SupervisorJob())
79-
override val analyticsDispatcher = Executors.newCachedThreadPool().asCoroutineDispatcher()
84+
override val analyticsDispatcher = Executors.newSingleThreadExecutor().asCoroutineDispatcher()
8085
override val networkIODispatcher = Executors.newSingleThreadExecutor().asCoroutineDispatcher()
8186
override val fileIODispatcher = Executors.newFixedThreadPool(2).asCoroutineDispatcher()
8287
})
@@ -378,7 +383,7 @@ open class Analytics protected constructor(
378383
fun process(event: BaseEvent) {
379384
event.applyBaseData()
380385

381-
log("applying base attributes on ${Thread.currentThread().name}")
386+
// log("applying base attributes on ${Thread.currentThread().name}")
382387
analyticsScope.launch(analyticsDispatcher) {
383388
event.applyBaseEventData(store)
384389
log("processing event on ${Thread.currentThread().name}")
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
package com.segment.analytics.kotlin.destinations
22

33
import android.app.Application
4-
import com.segment.analytics.kotlin.destinations.plugins.*
4+
import com.segment.analytics.destinations.plugins.EdgeFunction
55
import com.segment.analytics.kotlin.android.Analytics
66
import com.segment.analytics.kotlin.core.Analytics
7-
import com.segment.analytics.kotlin.core.platform.plugins.logger.*
8-
import com.segment.analytics.kotlin.destinations.amplitude.AmplitudeSession
9-
import com.segment.analytics.kotlin.destinations.appsflyer.AppsFlyerDestination
10-
import com.segment.analytics.kotlin.destinations.firebase.FirebaseDestination
11-
import com.segment.analytics.kotlin.destinations.mixpanel.MixpanelDestination
7+
import com.segment.analytics.kotlin.destinations.plugins.WebhookPlugin
128
import java.util.concurrent.Executors
139

1410
class MainApplication : Application() {
@@ -19,16 +15,14 @@ class MainApplication : Application() {
1915
override fun onCreate() {
2016
super.onCreate()
2117

22-
analytics = Analytics(BuildConfig.SEGMENT_WRITE_KEY, applicationContext) {
18+
analytics = Analytics("8lScBxzFnESRxYxeNZyniANYovjrHBtP", applicationContext) {
2319
this.collectDeviceId = true
2420
this.trackApplicationLifecycleEvents = true
2521
this.trackDeepLinks = true
2622
this.flushAt = 1
2723
this.flushInterval = 0
2824
}
2925

30-
analytics.add(MixpanelDestination(applicationContext))
31-
3226
// A random webhook url to view your events
3327
analytics.add(
3428
WebhookPlugin(
@@ -37,37 +31,7 @@ class MainApplication : Application() {
3731
)
3832
)
3933

40-
// Try out amplitude session
41-
analytics.add(AmplitudeSession())
42-
43-
// Try out Firebase Destination
44-
analytics.add(FirebaseDestination(applicationContext))
45-
46-
// Try out Intercom destination
47-
analytics.add(IntercomDestination(this))
48-
49-
val appsflyerDestination = AppsFlyerDestination(applicationContext, true)
50-
analytics.add(appsflyerDestination)
51-
52-
appsflyerDestination.conversionListener =
53-
object : AppsFlyerDestination.ExternalAppsFlyerConversionListener {
54-
override fun onConversionDataSuccess(map: Map<String, Any>) {
55-
// Process Deferred Deep Linking here
56-
for (attrName in map.keys) {
57-
analytics.log("Appsflyer: attribute: " + attrName + " = " + map[attrName])
58-
}
59-
}
60-
61-
override fun onConversionDataFail(s: String?) {}
62-
override fun onAppOpenAttribution(map: Map<String, String>) {
63-
// Process Direct Deep Linking here
64-
for (attrName in map.keys) {
65-
analytics.log("Appsflyer: attribute: " + attrName + " = " + map[attrName])
66-
}
67-
}
68-
69-
override fun onAttributionFailure(s: String?) {}
70-
}
34+
analytics.add(EdgeFunction())
7135

7236
}
7337
}

0 commit comments

Comments
 (0)