Skip to content

Commit cbc31a0

Browse files
authored
Fix: send event when assigning group to a or b for Donation Reminder (#6160)
1 parent 1806a50 commit cbc31a0

File tree

3 files changed

+13
-12
lines changed

3 files changed

+13
-12
lines changed

app/src/main/java/org/wikipedia/donate/donationreminder/DonationReminderHelper.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ object DonationReminderHelper {
2525
val defaultReadFrequencyOptions = listOf(5, 10, 15, 25, 50)
2626

2727
val isEnabled
28-
get() = ReleaseUtil.isDevRelease || isInEligibleCountry &&
29-
LocalDate.now() <= LocalDate.of(2026, 3, 15) && isTestGroupUser
28+
get() = (ReleaseUtil.isDevRelease || isInEligibleCountry &&
29+
LocalDate.now() <= LocalDate.of(2026, 3, 15)) && isTestGroupUser
3030

3131
val hasActiveReminder get() = Prefs.donationReminderConfig.userEnabled && Prefs.donationReminderConfig.isReminderReady && isInEligibleCountry
3232

app/src/main/java/org/wikipedia/page/PageFragment.kt

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ import org.wikipedia.dataclient.okhttp.HttpStatusException
7575
import org.wikipedia.dataclient.okhttp.OkHttpWebViewClient
7676
import org.wikipedia.descriptions.DescriptionEditActivity
7777
import org.wikipedia.diff.ArticleEditDetailsActivity
78-
import org.wikipedia.donate.donationreminder.DonationReminderAbTest
7978
import org.wikipedia.donate.donationreminder.DonationReminderActivity
8079
import org.wikipedia.donate.donationreminder.DonationReminderHelper
8180
import org.wikipedia.edit.EditHandler
@@ -710,13 +709,7 @@ class PageFragment : Fragment(), BackPressedHandler, CommunicationBridge.Communi
710709
val campaignId = it.getIdForLang(app.appOrSystemLanguageCode)
711710
if (!Prefs.announcementShownDialogs.contains(campaignId)) {
712711
DonorExperienceEvent.logAction("impression", "article_banner", pageTitle.wikiSite.languageCode, campaignId)
713-
campaignDialog = CampaignDialog(requireActivity(), it, onNeutralButtonClick = { campaignIdForAnalytics ->
714-
DonorExperienceEvent.logDonationReminderAction(
715-
action = "group_assigned",
716-
activeInterface = "article_banner",
717-
groupAssigned = if (DonationReminderAbTest().isTestGroupUser()) "android_remind_b" else "android_remind_a",
718-
campaignId = campaignIdForAnalytics
719-
)
712+
campaignDialog = CampaignDialog(requireActivity(), it, onNeutralButtonClick = {
720713
donationReminderLauncher.launch(DonationReminderActivity.newIntent(requireContext()))
721714
})
722715
campaignDialog?.setCancelable(false)

app/src/main/java/org/wikipedia/page/campaign/CampaignDialog.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import java.time.Instant
1818
import java.time.LocalDateTime
1919
import java.util.Date
2020

21-
class CampaignDialog internal constructor(private val context: Context, val campaign: Campaign, val onNeutralButtonClick: ((campaignId: String) -> Unit)? = null) : AlertDialog.Builder(context), CampaignDialogView.Callback {
21+
class CampaignDialog internal constructor(private val context: Context, val campaign: Campaign, val onNeutralButtonClick: (() -> Unit)? = null) : AlertDialog.Builder(context), CampaignDialogView.Callback {
2222
private var dialog: AlertDialog? = null
2323
private val campaignIdOriginal = campaign.getIdForLang(WikipediaApp.instance.appOrSystemLanguageCode)
2424
private val campaignId = campaignIdOriginal + if (DonationReminderHelper.isInEligibleCountry) {
@@ -74,14 +74,22 @@ class CampaignDialog internal constructor(private val context: Context, val camp
7474
override fun onNeutralAction() {
7575
DonorExperienceEvent.logAction("later_click", "article_banner", campaignId = campaignId)
7676
DonorExperienceEvent.logAction("reminder_toast", "article_banner", campaignId = campaignId)
77+
if (DonationReminderHelper.isInEligibleCountry) {
78+
DonorExperienceEvent.logDonationReminderAction(
79+
action = "group_assigned",
80+
activeInterface = "article_banner",
81+
groupAssigned = if (DonationReminderAbTest().isTestGroupUser()) "android_remind_b" else "android_remind_a",
82+
campaignId = campaignId
83+
)
84+
}
7785
if (!DonationReminderHelper.isEnabled) {
7886
Prefs.announcementPauseTime = Date().time
7987
FeedbackUtil.showMessage(context as Activity, R.string.donation_campaign_maybe_later_snackbar)
8088
dismissDialog(false)
8189
return
8290
}
8391
Prefs.announcementShownDialogs = setOf(campaignIdOriginal)
84-
onNeutralButtonClick?.invoke(campaignId)
92+
onNeutralButtonClick?.invoke()
8593
}
8694

8795
override fun onClose() {

0 commit comments

Comments
 (0)