Skip to content

Commit 12b65bd

Browse files
Align connectivity tool analytics with iOS
Use dedicated constants with "connectivity_" prefix matching iOS values: - Property key: "test" instead of "type" - WP.com value: "wpCom" instead of "wp_com" - Orders value: "orders" instead of "jetpack_tunnel" - Internet/site/products values already matched
1 parent faaea96 commit 12b65bd

File tree

3 files changed

+21
-17
lines changed

3 files changed

+21
-17
lines changed

WooCommerce/src/main/kotlin/com/woocommerce/android/analytics/AnalyticsTracker.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -408,9 +408,11 @@ class AnalyticsTracker private constructor(
408408
const val KEY_DOWNLOADABLE_FILE_ACTION = "action"
409409

410410
// -- Connectivity Tool
411-
const val VALUE_INTERNET = "internet"
412-
const val VALUE_SITE = "site"
413-
const val VALUE_JETPACK_TUNNEL = "jetpack_tunnel"
411+
const val KEY_CONNECTIVITY_TEST = "test"
412+
const val VALUE_CONNECTIVITY_INTERNET = "internet"
413+
const val VALUE_CONNECTIVITY_WP_COM = "wpCom"
414+
const val VALUE_CONNECTIVITY_SITE = "site"
415+
const val VALUE_CONNECTIVITY_ORDERS = "orders"
414416
const val VALUE_CONNECTIVITY_PRODUCTS = "products"
415417

416418
enum class DownloadableFileAction(val value: String) {

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/connectivitytool/ConnectivityToolViewModel.kt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ import androidx.lifecycle.asLiveData
55
import androidx.lifecycle.viewModelScope
66
import com.woocommerce.android.analytics.AnalyticsEvent
77
import com.woocommerce.android.analytics.AnalyticsTracker
8-
import com.woocommerce.android.analytics.AnalyticsTracker.Companion.VALUE_INTERNET
9-
import com.woocommerce.android.analytics.AnalyticsTracker.Companion.VALUE_JETPACK_TUNNEL
10-
import com.woocommerce.android.analytics.AnalyticsTracker.Companion.VALUE_SITE
11-
import com.woocommerce.android.analytics.AnalyticsTracker.Companion.VALUE_WP_COM
8+
import com.woocommerce.android.analytics.AnalyticsTracker.Companion.KEY_CONNECTIVITY_TEST
9+
import com.woocommerce.android.analytics.AnalyticsTracker.Companion.VALUE_CONNECTIVITY_ORDERS
10+
import com.woocommerce.android.analytics.AnalyticsTracker.Companion.VALUE_CONNECTIVITY_PRODUCTS
11+
import com.woocommerce.android.analytics.AnalyticsTracker.Companion.VALUE_CONNECTIVITY_WP_COM
12+
import com.woocommerce.android.analytics.AnalyticsTracker.Companion.VALUE_CONNECTIVITY_INTERNET
13+
import com.woocommerce.android.analytics.AnalyticsTracker.Companion.VALUE_CONNECTIVITY_SITE
1214
import com.woocommerce.android.analytics.AnalyticsTrackerWrapper
1315
import com.woocommerce.android.tools.SelectedSite
1416
import com.woocommerce.android.tools.SiteConnectionType
@@ -175,7 +177,7 @@ class ConnectivityToolViewModel @Inject constructor(
175177
private fun startInternetCheck() {
176178
val startTime = System.currentTimeMillis()
177179
internetConnectionCheck().onEach { status ->
178-
trackChanges(status, VALUE_INTERNET, startTime)
180+
trackChanges(status, VALUE_CONNECTIVITY_INTERNET, startTime)
179181
status.startNextCheck()
180182
internetCheckFlow.update { it.copy(connectivityCheckStatus = status) }
181183
}.launchIn(viewModelScope)
@@ -184,7 +186,7 @@ class ConnectivityToolViewModel @Inject constructor(
184186
private fun startWordPressCheck() {
185187
val startTime = System.currentTimeMillis()
186188
wordPressConnectionCheck().onEach { status ->
187-
trackChanges(status, VALUE_WP_COM, startTime)
189+
trackChanges(status, VALUE_CONNECTIVITY_WP_COM, startTime)
188190
status.startNextCheck()
189191
wordpressCheckFlow.update { it.copy(connectivityCheckStatus = status) }
190192
}.launchIn(viewModelScope)
@@ -193,7 +195,7 @@ class ConnectivityToolViewModel @Inject constructor(
193195
private fun startStoreCheck() {
194196
val startTime = System.currentTimeMillis()
195197
storeConnectionCheck().onEach { status ->
196-
trackChanges(status, VALUE_SITE, startTime)
198+
trackChanges(status, VALUE_CONNECTIVITY_SITE, startTime)
197199
status.startNextCheck()
198200
storeCheckFlow.update {
199201
if (status is Failure) {
@@ -211,7 +213,7 @@ class ConnectivityToolViewModel @Inject constructor(
211213
private fun startStoreOrdersCheck() {
212214
val startTime = System.currentTimeMillis()
213215
storeOrdersCheck().onEach { status ->
214-
trackChanges(status, VALUE_JETPACK_TUNNEL, startTime)
216+
trackChanges(status, VALUE_CONNECTIVITY_ORDERS, startTime)
215217
status.startNextCheck()
216218
ordersCheckFlow.update {
217219
if (status is Failure) {
@@ -229,7 +231,7 @@ class ConnectivityToolViewModel @Inject constructor(
229231
private fun startProductsCheck() {
230232
val startTime = System.currentTimeMillis()
231233
storeProductsCheck().onEach { status ->
232-
trackChanges(status, AnalyticsTracker.VALUE_CONNECTIVITY_PRODUCTS, startTime)
234+
trackChanges(status, VALUE_CONNECTIVITY_PRODUCTS, startTime)
233235
status.startNextCheck()
234236
productsCheckFlow.update {
235237
if (status is Failure) {
@@ -267,7 +269,7 @@ class ConnectivityToolViewModel @Inject constructor(
267269
AnalyticsEvent.CONNECTIVITY_TOOL_REQUEST_RESPONSE,
268270
mapOf(
269271
AnalyticsTracker.KEY_SUCCESS to (status is Success),
270-
AnalyticsTracker.KEY_TYPE to type,
272+
KEY_CONNECTIVITY_TEST to type,
271273
AnalyticsTracker.KEY_TIME_TAKEN to (System.currentTimeMillis() - startTime)
272274
)
273275
)

WooCommerce/src/test/kotlin/com/woocommerce/android/ui/connectivitytool/useCases/StoreProductsCheckUseCaseTest.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ class StoreProductsCheckUseCaseTest : BaseUnitTest() {
5555
fun `when fetchProducts returns GENERIC_ERROR, then emit GENERIC Failure`() = testBlocking {
5656
// GIVEN
5757
val stateEvents = mutableListOf<ConnectivityCheckStatus>()
58-
whenever(productStore.fetchProducts(selectedSite.get()))
58+
whenever(productStore.fetchProducts(site = selectedSite.get(), forceRefresh = true))
5959
.thenReturn(WooResult(WooError(WooErrorType.GENERIC_ERROR, UNKNOWN)))
6060

6161
// WHEN
@@ -71,7 +71,7 @@ class StoreProductsCheckUseCaseTest : BaseUnitTest() {
7171
fun `when fetchProducts returns TIMEOUT, then emit TIMEOUT Failure`() = testBlocking {
7272
// GIVEN
7373
val stateEvents = mutableListOf<ConnectivityCheckStatus>()
74-
whenever(productStore.fetchProducts(selectedSite.get()))
74+
whenever(productStore.fetchProducts(site = selectedSite.get(), forceRefresh = true))
7575
.thenReturn(WooResult(WooError(WooErrorType.TIMEOUT, UNKNOWN)))
7676

7777
// WHEN
@@ -87,7 +87,7 @@ class StoreProductsCheckUseCaseTest : BaseUnitTest() {
8787
fun `when fetchProducts returns INVALID_RESPONSE, then emit PARSE Failure`() = testBlocking {
8888
// GIVEN
8989
val stateEvents = mutableListOf<ConnectivityCheckStatus>()
90-
whenever(productStore.fetchProducts(selectedSite.get()))
90+
whenever(productStore.fetchProducts(site = selectedSite.get(), forceRefresh = true))
9191
.thenReturn(WooResult(WooError(WooErrorType.INVALID_RESPONSE, UNKNOWN)))
9292

9393
// WHEN
@@ -103,7 +103,7 @@ class StoreProductsCheckUseCaseTest : BaseUnitTest() {
103103
fun `when fetchProducts returns API_NOT_FOUND, then emit JETPACK Failure`() = testBlocking {
104104
// GIVEN
105105
val stateEvents = mutableListOf<ConnectivityCheckStatus>()
106-
whenever(productStore.fetchProducts(selectedSite.get()))
106+
whenever(productStore.fetchProducts(site = selectedSite.get(), forceRefresh = true))
107107
.thenReturn(WooResult(WooError(WooErrorType.API_NOT_FOUND, UNKNOWN)))
108108

109109
// WHEN

0 commit comments

Comments
 (0)