Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -670,7 +670,6 @@ class BrowserTabViewModelTest {
subscriptions = subscriptions,
duckPlayer = mockDuckPlayer,
brokenSitePrompt = mockBrokenSitePrompt,
userBrowserProperties = mockUserBrowserProperties,
senseOfProtectionExperiment = mockSenseOfProtectionExperiment,
onboardingHomeScreenWidgetExperiment = mockOnboardingHomeScreenWidgetExperiment,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ import com.duckduckgo.app.trackerdetection.model.TrackingEvent
import com.duckduckgo.app.widget.ui.WidgetCapabilities
import com.duckduckgo.brokensite.api.BrokenSitePrompt
import com.duckduckgo.brokensite.api.RefreshPattern
import com.duckduckgo.browser.api.UserBrowserProperties
import com.duckduckgo.common.test.CoroutineTestRule
import com.duckduckgo.common.test.InstantSchedulersRule
import com.duckduckgo.duckplayer.api.DuckPlayer
Expand Down Expand Up @@ -121,8 +120,6 @@ class CtaViewModelTest {

private val mockBrokenSitePrompt: BrokenSitePrompt = mock()

private val mockUserBrowserProperties: UserBrowserProperties = mock()

private val mockSenseOfProtectionExperiment: SenseOfProtectionExperiment = mock()
private val mockOnboardingHomeScreenWidgetExperiment: OnboardingHomeScreenWidgetExperiment = mock()

Expand Down Expand Up @@ -179,7 +176,6 @@ class CtaViewModelTest {
subscriptions = mockSubscriptions,
duckPlayer = mockDuckPlayer,
brokenSitePrompt = mockBrokenSitePrompt,
userBrowserProperties = mockUserBrowserProperties,
senseOfProtectionExperiment = mockSenseOfProtectionExperiment,
onboardingHomeScreenWidgetExperiment = mockOnboardingHomeScreenWidgetExperiment,
)
Expand Down
16 changes: 0 additions & 16 deletions app/src/main/java/com/duckduckgo/app/cta/ui/CtaViewModel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,13 @@ import com.duckduckgo.app.onboarding.store.OnboardingStore
import com.duckduckgo.app.onboarding.store.UserStageStore
import com.duckduckgo.app.onboarding.store.daxOnboardingActive
import com.duckduckgo.app.onboarding.ui.page.extendedonboarding.ExtendedOnboardingFeatureToggles
import com.duckduckgo.app.pixels.AppPixelName
import com.duckduckgo.app.privacy.db.UserAllowListRepository
import com.duckduckgo.app.settings.db.SettingsDataStore
import com.duckduckgo.app.statistics.pixels.Pixel
import com.duckduckgo.app.tabs.model.TabRepository
import com.duckduckgo.app.widget.ui.WidgetCapabilities
import com.duckduckgo.brokensite.api.BrokenSitePrompt
import com.duckduckgo.brokensite.api.RefreshPattern
import com.duckduckgo.browser.api.UserBrowserProperties
import com.duckduckgo.common.utils.DispatcherProvider
import com.duckduckgo.di.scopes.AppScope
import com.duckduckgo.duckplayer.api.DuckPlayer
Expand Down Expand Up @@ -86,7 +84,6 @@ class CtaViewModel @Inject constructor(
private val subscriptions: Subscriptions,
private val duckPlayer: DuckPlayer,
private val brokenSitePrompt: BrokenSitePrompt,
private val userBrowserProperties: UserBrowserProperties,
private val senseOfProtectionExperiment: SenseOfProtectionExperiment,
private val onboardingHomeScreenWidgetExperiment: OnboardingHomeScreenWidgetExperiment,
) {
Expand Down Expand Up @@ -153,18 +150,6 @@ class CtaViewModel @Inject constructor(
if (cta is BrokenSitePromptDialogCta) {
brokenSitePrompt.ctaShown()
}

// Temporary pixel
val isVisitSiteSuggestionsCta = cta is DaxBubbleCta.DaxIntroVisitSiteOptionsCta || cta is OnboardingDaxDialogCta.DaxSiteSuggestionsCta
if (isVisitSiteSuggestionsCta) {
if (userBrowserProperties.daysSinceInstalled() <= MIN_DAYS_TO_COUNT_ONBOARDING_CTA_SHOWN) {
val count = onboardingStore.visitSiteCtaDisplayCount ?: 0
pixel.fire(AppPixelName.ONBOARDING_VISIT_SITE_CTA_SHOWN, mapOf("count" to count.toString()))
onboardingStore.visitSiteCtaDisplayCount = count + 1
} else {
onboardingStore.clearVisitSiteCtaDisplayCount()
}
}
}
}

Expand Down Expand Up @@ -501,6 +486,5 @@ class CtaViewModel @Inject constructor(

companion object {
private const val MAX_TABS_OPEN_FIRE_EDUCATION = 2
private const val MIN_DAYS_TO_COUNT_ONBOARDING_CTA_SHOWN = 3
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,9 @@ import com.duckduckgo.app.cta.ui.DaxBubbleCta.DaxDialogIntroOption

interface OnboardingStore {
var onboardingDialogJourney: String?
var visitSiteCtaDisplayCount: Int

@Deprecated(message = "Parameter used for a temporary pixel")
fun getSearchOptions(): List<DaxDialogIntroOption>
fun getSitesOptions(): List<DaxDialogIntroOption>
fun getExperimentSearchOptions(): List<DaxDialogIntroOption>
fun clearVisitSiteCtaDisplayCount()
}
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,6 @@ class OnboardingStoreImpl @Inject constructor(
get() = preferences.getString(ONBOARDING_JOURNEY, null)
set(dialogJourney) = preferences.edit { putString(ONBOARDING_JOURNEY, dialogJourney) }

override var visitSiteCtaDisplayCount: Int
get() = preferences.getInt(VISIT_SITE_CTA_DISPLAY_COUNT, 0)
set(count) = preferences.edit { putInt(VISIT_SITE_CTA_DISPLAY_COUNT, count) }

override fun getSearchOptions(): List<DaxDialogIntroOption> {
val country = Locale.getDefault().country
val language = Locale.getDefault().language
Expand Down Expand Up @@ -211,13 +207,8 @@ class OnboardingStoreImpl @Inject constructor(
)
}

override fun clearVisitSiteCtaDisplayCount() {
preferences.edit { remove(VISIT_SITE_CTA_DISPLAY_COUNT) }
}

companion object {
const val FILENAME = "com.duckduckgo.app.onboarding.settings"
const val ONBOARDING_JOURNEY = "onboardingJourney"
const val VISIT_SITE_CTA_DISPLAY_COUNT = "visitSiteCtaDisplayCount"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ enum class AppPixelName(override val pixelName: String) : Pixel.PixelName {
ONBOARDING_DAX_ALL_CTA_HIDDEN("m_odc_h"),
ONBOARDING_DAX_CTA_OK_BUTTON("m_odc_ok"),
ONBOARDING_DAX_CTA_DISMISS_BUTTON("m_onboarding_dax_cta_dismiss"),
ONBOARDING_VISIT_SITE_CTA_SHOWN("onboarding_visit_site_cta_shown"),

BROWSER_MENU_ALLOWLIST_ADD("mb_wla"),
BROWSER_MENU_ALLOWLIST_REMOVE("mb_wlr"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ import com.duckduckgo.app.statistics.pixels.Pixel
import com.duckduckgo.app.tabs.model.TabRepository
import com.duckduckgo.app.widget.ui.WidgetCapabilities
import com.duckduckgo.brokensite.api.BrokenSitePrompt
import com.duckduckgo.browser.api.UserBrowserProperties
import com.duckduckgo.common.test.CoroutineTestRule
import com.duckduckgo.duckplayer.api.DuckPlayer
import com.duckduckgo.feature.toggles.api.Toggle
Expand Down Expand Up @@ -82,7 +81,6 @@ class OnboardingDaxDialogTests {
private val mockDuckPlayer: DuckPlayer = mock()
private val mockBrokenSitePrompt: BrokenSitePrompt = mock()
private val mockRefreshPixelSender: RefreshPixelSender = mock()
private val mockUserBrowserProperties: UserBrowserProperties = mock()
private val mockSubscriptions: Subscriptions = mock()
private val mockSenseOfProtectionExperiment: SenseOfProtectionExperiment = mock()
private val mockOnboardingHomeScreenWidgetExperiment: OnboardingHomeScreenWidgetExperiment = mock()
Expand Down Expand Up @@ -112,7 +110,6 @@ class OnboardingDaxDialogTests {
mockSubscriptions,
mockDuckPlayer,
mockBrokenSitePrompt,
mockUserBrowserProperties,
mockSenseOfProtectionExperiment,
mockOnboardingHomeScreenWidgetExperiment,
)
Expand Down
Loading