@@ -31,11 +31,11 @@ import com.duckduckgo.app.browser.defaultbrowsing.prompts.AdditionalDefaultBrows
31
31
import com.duckduckgo.app.browser.defaultbrowsing.prompts.store.DefaultBrowserPromptsAppUsageRepository
32
32
import com.duckduckgo.app.browser.defaultbrowsing.prompts.store.DefaultBrowserPromptsDataStore
33
33
import com.duckduckgo.app.browser.defaultbrowsing.prompts.store.DefaultBrowserPromptsDataStore.Stage
34
- import com.duckduckgo.app.browser.defaultbrowsing.prompts.store.DefaultBrowserPromptsDataStore.Stage.ENROLLED
35
- import com.duckduckgo.app.browser.defaultbrowsing.prompts.store.DefaultBrowserPromptsDataStore.Stage.NOT_ENROLLED
34
+ import com.duckduckgo.app.browser.defaultbrowsing.prompts.store.DefaultBrowserPromptsDataStore.Stage.NOT_STARTED
36
35
import com.duckduckgo.app.browser.defaultbrowsing.prompts.store.DefaultBrowserPromptsDataStore.Stage.STAGE_1
37
36
import com.duckduckgo.app.browser.defaultbrowsing.prompts.store.DefaultBrowserPromptsDataStore.Stage.STAGE_2
38
37
import com.duckduckgo.app.browser.defaultbrowsing.prompts.store.DefaultBrowserPromptsDataStore.Stage.STAGE_3
38
+ import com.duckduckgo.app.browser.defaultbrowsing.prompts.store.DefaultBrowserPromptsDataStore.Stage.STARTED
39
39
import com.duckduckgo.app.browser.defaultbrowsing.prompts.store.DefaultBrowserPromptsDataStore.Stage.STOPPED
40
40
import com.duckduckgo.app.di.AppCoroutineScope
41
41
import com.duckduckgo.app.global.DefaultRoleBrowserDialog
@@ -205,7 +205,7 @@ class AdditionalDefaultBrowserPromptsImpl @Inject constructor(
205
205
appCoroutineScope.launch {
206
206
defaultBrowserPromptsDataStore.storeShowSetAsDefaultMessageState(false )
207
207
if (doNotShowAgain) {
208
- defaultBrowserPromptsDataStore.storeExperimentStage (STOPPED )
208
+ defaultBrowserPromptsDataStore.storeStage (STOPPED )
209
209
}
210
210
}
211
211
}
@@ -244,17 +244,17 @@ class AdditionalDefaultBrowserPromptsImpl @Inject constructor(
244
244
}
245
245
logcat { " evaluate: DuckDuckGo is default browser. Set the stage to STOPPED." }
246
246
STOPPED
247
- } else if (currentStage == NOT_ENROLLED ) {
248
- logcat { " evaluate: new stage is ENROLLED " }
249
- ENROLLED
247
+ } else if (currentStage == NOT_STARTED ) {
248
+ logcat { " evaluate: new stage is STARTED " }
249
+ STARTED
250
250
} else {
251
- logcat { " evaluate: current stage is other than NOT_ENROLLED and DuckDuckGo is NOT default browser." }
252
- val appActiveDaysUsedSinceEnrollment = defaultBrowserPromptsAppUsageRepository.getActiveDaysUsedSinceEnrollment ().getOrElse { throwable ->
251
+ logcat { " evaluate: current stage is other than NOT_STARTED and DuckDuckGo is NOT default browser." }
252
+ val appActiveDaysUsedSinceStart = defaultBrowserPromptsAppUsageRepository.getActiveDaysUsedSinceStart ().getOrElse { throwable ->
253
253
logcat(ERROR ) { throwable.asLog() }
254
254
return
255
255
}
256
256
257
- logcat { " evaluate: active days used since enrollment = $appActiveDaysUsedSinceEnrollment " }
257
+ logcat { " evaluate: active days used since flow started = $appActiveDaysUsedSinceStart " }
258
258
259
259
val configSettings = featureSettings ? : run {
260
260
// If feature settings weren't cached before, deserialize and cache them now.
@@ -269,11 +269,11 @@ class AdditionalDefaultBrowserPromptsImpl @Inject constructor(
269
269
when (userType) {
270
270
DefaultBrowserPromptsDataStore .UserType .NEW -> {
271
271
logcat { " evaluate: user is new" }
272
- getNewStageForNewUser(currentStage, appActiveDaysUsedSinceEnrollment , configSettings)
272
+ getNewStageForNewUser(currentStage, appActiveDaysUsedSinceStart , configSettings)
273
273
}
274
274
DefaultBrowserPromptsDataStore .UserType .EXISTING -> {
275
275
logcat { " evaluate: user is existing" }
276
- getNewStageForExistingUser(currentStage, appActiveDaysUsedSinceEnrollment , configSettings)
276
+ getNewStageForExistingUser(currentStage, appActiveDaysUsedSinceStart , configSettings)
277
277
}
278
278
else -> {
279
279
logcat { " evaluate: user type is not known, skipping evaluation" }
@@ -283,7 +283,7 @@ class AdditionalDefaultBrowserPromptsImpl @Inject constructor(
283
283
}
284
284
285
285
if (newStage != null ) {
286
- defaultBrowserPromptsDataStore.storeExperimentStage (newStage)
286
+ defaultBrowserPromptsDataStore.storeStage (newStage)
287
287
288
288
val action = stageEvaluator.evaluate(newStage)
289
289
logcat { " evaluate: action = $action show message dialog = ${action.showMessageDialog} " }
@@ -325,7 +325,7 @@ class AdditionalDefaultBrowserPromptsImpl @Inject constructor(
325
325
fireInteractionPixel(AppPixelName .SET_AS_DEFAULT_PROMPT_DO_NOT_ASK_AGAIN_CLICK )
326
326
appCoroutineScope.launch {
327
327
// The user does not want to see the prompt again, so we jump to stage 2.
328
- defaultBrowserPromptsDataStore.storeExperimentStage (STAGE_2 )
328
+ defaultBrowserPromptsDataStore.storeStage (STAGE_2 )
329
329
}
330
330
}
331
331
@@ -406,21 +406,21 @@ class AdditionalDefaultBrowserPromptsImpl @Inject constructor(
406
406
407
407
private fun getNewStageForNewUser (
408
408
currentStage : Stage ? ,
409
- appActiveDaysUsedSinceEnrollment : Long ,
409
+ appActiveDaysUsedSinceStart : Long ,
410
410
configSettings : FeatureSettings ,
411
411
): Stage ? {
412
412
return when (currentStage) {
413
- ENROLLED -> {
414
- if (appActiveDaysUsedSinceEnrollment >= configSettings.newUserActiveDaysUntilStage1) {
415
- logcat { " evaluate: user is new, go from ENROLLED to STAGE_1." }
413
+ STARTED -> {
414
+ if (appActiveDaysUsedSinceStart >= configSettings.newUserActiveDaysUntilStage1) {
415
+ logcat { " evaluate: user is new, go from STARTED to STAGE_1." }
416
416
STAGE_1
417
417
} else {
418
418
null
419
419
}
420
420
}
421
421
422
422
STAGE_1 -> {
423
- if (appActiveDaysUsedSinceEnrollment >= configSettings.newUserActiveDaysUntilStage2) {
423
+ if (appActiveDaysUsedSinceStart >= configSettings.newUserActiveDaysUntilStage2) {
424
424
logcat { " evaluate: user is new, go from STAGE_1 to STAGE_2." }
425
425
STAGE_2
426
426
} else {
@@ -429,7 +429,7 @@ class AdditionalDefaultBrowserPromptsImpl @Inject constructor(
429
429
}
430
430
431
431
STAGE_2 -> {
432
- if (appActiveDaysUsedSinceEnrollment >= configSettings.newUserActiveDaysUntilStage3) {
432
+ if (appActiveDaysUsedSinceStart >= configSettings.newUserActiveDaysUntilStage3) {
433
433
logcat { " evaluate: user is new, go from STAGE_2 to STAGE_3." }
434
434
STAGE_3
435
435
} else {
@@ -451,21 +451,21 @@ class AdditionalDefaultBrowserPromptsImpl @Inject constructor(
451
451
452
452
private fun getNewStageForExistingUser (
453
453
currentStage : Stage ? ,
454
- appActiveDaysUsedSinceEnrollment : Long ,
454
+ appActiveDaysUsedSinceStart : Long ,
455
455
configSettings : FeatureSettings ,
456
456
): Stage ? {
457
457
return when (currentStage) {
458
- ENROLLED -> {
459
- if (appActiveDaysUsedSinceEnrollment >= configSettings.existingUserActiveDaysUntilStage1) {
460
- logcat { " evaluate: user is existing, go from ENROLLED to STAGE_1." }
458
+ STARTED -> {
459
+ if (appActiveDaysUsedSinceStart >= configSettings.existingUserActiveDaysUntilStage1) {
460
+ logcat { " evaluate: user is existing, go from STARTED to STAGE_1." }
461
461
STAGE_1
462
462
} else {
463
463
null
464
464
}
465
465
}
466
466
467
467
STAGE_1 -> {
468
- if (appActiveDaysUsedSinceEnrollment >= configSettings.existingUserActiveDaysUntilStage3) {
468
+ if (appActiveDaysUsedSinceStart >= configSettings.existingUserActiveDaysUntilStage3) {
469
469
logcat { " evaluate: user is existing, skip STAGE_2 and go from STAGE_1 to STAGE_3." }
470
470
STAGE_3
471
471
} else {
0 commit comments