From 91602830c00c783df4cc304091cc89deaf82c24c Mon Sep 17 00:00:00 2001 From: Wojtek Zieba Date: Mon, 8 May 2023 20:46:10 +0200 Subject: [PATCH] feat: remove tracking from Analytics switch action --- .../android/analytics/AnalyticsEvent.kt | 2 - .../ui/prefs/PrivacySettingsViewModel.kt | 61 +------------------ 2 files changed, 2 insertions(+), 61 deletions(-) diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/analytics/AnalyticsEvent.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/analytics/AnalyticsEvent.kt index f7e9c1750b94..096b838e1c22 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/analytics/AnalyticsEvent.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/analytics/AnalyticsEvent.kt @@ -409,11 +409,9 @@ enum class AnalyticsEvent(val siteless: Boolean = false) { SETTINGS_WE_ARE_HIRING_BUTTON_TAPPED, SETTINGS_IMAGE_OPTIMIZATION_TOGGLED, SETTINGS_CARD_PRESENT_SELECT_PAYMENT_GATEWAY_TAPPED, - PRIVACY_SETTINGS_COLLECT_INFO_TOGGLED, PRIVACY_SETTINGS_PRIVACY_POLICY_LINK_TAPPED, PRIVACY_SETTINGS_SHARE_INFO_LINK_TAPPED, PRIVACY_SETTINGS_THIRD_PARTY_TRACKING_INFO_LINK_TAPPED, - PRIVACY_SETTINGS_CRASH_REPORTING_TOGGLED, SETTINGS_DOMAINS_TAPPED, // -- Payments Hub diff --git a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/prefs/PrivacySettingsViewModel.kt b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/prefs/PrivacySettingsViewModel.kt index 1052d6f7f3e0..18829e7bbaee 100644 --- a/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/prefs/PrivacySettingsViewModel.kt +++ b/WooCommerce/src/main/kotlin/com/woocommerce/android/ui/prefs/PrivacySettingsViewModel.kt @@ -5,21 +5,15 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.SavedStateHandle import com.woocommerce.android.AppPrefs import com.woocommerce.android.analytics.AnalyticsEvent -import com.woocommerce.android.analytics.AnalyticsEvent.SETTING_CHANGE -import com.woocommerce.android.analytics.AnalyticsEvent.SETTING_CHANGE_FAILED -import com.woocommerce.android.analytics.AnalyticsEvent.SETTING_CHANGE_SUCCESS import com.woocommerce.android.analytics.AnalyticsTracker -import com.woocommerce.android.util.AnalyticsUtils import com.woocommerce.android.util.dispatchAndAwait import com.woocommerce.android.viewmodel.MultiLiveEvent import com.woocommerce.android.viewmodel.ScopedViewModel import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch import org.wordpress.android.fluxc.Dispatcher -import org.wordpress.android.fluxc.action.AccountAction import org.wordpress.android.fluxc.generated.AccountActionBuilder import org.wordpress.android.fluxc.store.AccountStore -import org.wordpress.android.fluxc.store.AccountStore.AccountErrorType import org.wordpress.android.fluxc.store.AccountStore.OnAccountChanged import org.wordpress.android.fluxc.store.AccountStore.PushAccountSettingsPayload import javax.inject.Inject @@ -45,64 +39,26 @@ class PrivacySettingsViewModel @Inject constructor( private fun getSendUsageStats() = !accountStore.account.tracksOptOut private fun setSendUsageStats(sendUsageStats: Boolean) { - // note that we don't init/disable Crashlytics here because that requires the app to be restarted AnalyticsTracker.sendUsageStats = sendUsageStats launch { - // sync with wpcom if a token is available if (accountStore.hasAccessToken()) { - AnalyticsTracker.track( - SETTING_CHANGE, - mapOf( - AnalyticsTracker.KEY_NAME to SETTING_TRACKS_OPT_OUT, - AnalyticsTracker.KEY_FROM to !sendUsageStats, - AnalyticsTracker.KEY_TO to sendUsageStats - ) - ) - val payload = PushAccountSettingsPayload().apply { params = mapOf(SETTING_TRACKS_OPT_OUT to !sendUsageStats) } val action = AccountActionBuilder.newPushSettingsAction(payload) - val event: OnAccountChanged = dispatcher.dispatchAndAwait(action) - - handleOnAccountChanged(event) + dispatcher.dispatchAndAwait(action) } } } - fun getCrashReportingEnabled() = AppPrefs.isCrashReportingEnabled() + private fun getCrashReportingEnabled() = AppPrefs.isCrashReportingEnabled() private fun setCrashReportingEnabled(enabled: Boolean) { AppPrefs.setCrashReportingEnabled(enabled) } - private fun handleOnAccountChanged(event: OnAccountChanged) { - if (event.isError) { - when (event.error.type) { - AccountErrorType.SETTINGS_POST_ERROR -> { - AnalyticsTracker.track( - SETTING_CHANGE_FAILED, - this::class.java.simpleName, - event.error.type.toString(), - event.error.message - ) - } - - else -> {} - } - } else { - when (event.causeOfChange) { - AccountAction.PUSH_SETTINGS -> { - AnalyticsTracker.track(SETTING_CHANGE_SUCCESS) - } - - else -> Unit // Do nothing - } - } - } - fun onPrivacyPolicyClicked() { AnalyticsTracker.track(AnalyticsEvent.PRIVACY_SETTINGS_PRIVACY_POLICY_LINK_TAPPED) triggerEvent(PrivacySettingsEvent.ShowPrivacyPolicy) @@ -118,24 +74,11 @@ class PrivacySettingsViewModel @Inject constructor( } fun onCrashReportingSettingChanged(checked: Boolean) { - AnalyticsTracker.track( - AnalyticsEvent.PRIVACY_SETTINGS_CRASH_REPORTING_TOGGLED, - mapOf( - AnalyticsTracker.KEY_STATE to AnalyticsUtils.getToggleStateLabel(checked) - ) - ) _state.value = _state.value?.copy(crashReportingEnabled = checked) setCrashReportingEnabled(checked) } fun onSendStatsSettingChanged(checked: Boolean) { - AnalyticsTracker.track( - AnalyticsEvent.PRIVACY_SETTINGS_COLLECT_INFO_TOGGLED, - mapOf( - AnalyticsTracker.KEY_STATE to - AnalyticsUtils.getToggleStateLabel(checked) - ) - ) _state.value = _state.value?.copy(sendUsageStats = checked) setSendUsageStats(checked) }