@@ -14,6 +14,10 @@ import com.sofakingforever.analytics.events.base.Event
14
14
*/
15
15
class Analytics (context : Context , private vararg val dispatchers : AnalyticsDispatcher ) {
16
16
17
+
18
+ private val enabledKitMap: EnabledMap <AnalyticsKit > = EnabledMap ()
19
+ private val enabledDispatcherMap: EnabledMap <String > = EnabledMap ()
20
+
17
21
val settings: AnalyticsSettings = AnalyticsSettings ()
18
22
19
23
init {
@@ -33,6 +37,13 @@ class Analytics(context: Context, private vararg val dispatchers: AnalyticsDispa
33
37
34
38
events.forEach {
35
39
dispatchers.forEach { dispatcher ->
40
+
41
+ if (enabledKitMap.isDisabled(dispatcher.kit)) {
42
+ return
43
+ }
44
+ if (enabledDispatcherMap.isDisabled(dispatcher.dispatcherName)) {
45
+ return
46
+ }
36
47
try {
37
48
dispatcher.track(it)
38
49
} catch (e: Exception ) {
@@ -46,17 +57,19 @@ class Analytics(context: Context, private vararg val dispatchers: AnalyticsDispa
46
57
}
47
58
48
59
fun setKitEnabled (kit : AnalyticsKit , enabled : Boolean ) {
49
- dispatchers.filter { d -> d.kit == kit }
50
- .forEach { dispatcher ->
51
- dispatcher.enabled = enabled
52
- }
60
+ enabledKitMap[kit] = enabled
61
+ // dispatchers.filter { d -> d.kit == kit }
62
+ // .forEach { dispatcher ->
63
+ //
64
+ // }
53
65
}
54
66
55
67
fun setDispatcherEnabled (dispatcherName : String , enabled : Boolean ) {
56
- dispatchers.filter { d -> d.dispatcherName == dispatcherName }
57
- .forEach { dispatcher ->
58
- dispatcher.enabled = enabled
59
- }
68
+ enabledDispatcherMap[dispatcherName] = enabled
69
+ // dispatchers.filter { d -> d.dispatcherName == dispatcherName }
70
+ // .forEach { dispatcher ->
71
+ // dispatcher.enabled = enabled
72
+ // }
60
73
}
61
74
62
75
}
0 commit comments