@@ -18,6 +18,8 @@ package com.duckduckgo.pir.impl.pixels
1818
1919import com.duckduckgo.app.statistics.pixels.Pixel
2020import com.duckduckgo.di.scopes.AppScope
21+ import com.duckduckgo.pir.impl.pixels.PirPixel.PIR_BROKER_CUSTOM_STATS_7DAY_CONFIRMED_OPTOUT
22+ import com.duckduckgo.pir.impl.pixels.PirPixel.PIR_BROKER_CUSTOM_STATS_7DAY_UNCONFIRMED_OPTOUT
2123import com.duckduckgo.pir.impl.pixels.PirPixel.PIR_BROKER_CUSTOM_STATS_OPTOUT_SUBMIT_SUCCESSRATE
2224import com.duckduckgo.pir.impl.pixels.PirPixel.PIR_EMAIL_CONFIRMATION_ATTEMPT_FAILED
2325import com.duckduckgo.pir.impl.pixels.PirPixel.PIR_EMAIL_CONFIRMATION_ATTEMPT_START
@@ -333,6 +335,16 @@ interface PirPixelSender {
333335 brokerUrl : String ,
334336 optOutSuccessRate : Double ,
335337 )
338+
339+ /* *
340+ * Emits a pixel when an opt-out has been confirmed within 7 days.
341+ */
342+ fun reportBrokerOptOutConfirmed7Days (brokerUrl : String )
343+
344+ /* *
345+ * Emits a pixel when an opt-out is unconfirmed within 7 days.
346+ */
347+ fun reportBrokerOptOutUnconfirmed7Days (brokerUrl : String )
336348}
337349
338350@ContributesBinding(AppScope ::class )
@@ -627,6 +639,22 @@ class RealPirPixelSender @Inject constructor(
627639 fire(PIR_BROKER_CUSTOM_STATS_OPTOUT_SUBMIT_SUCCESSRATE , params)
628640 }
629641
642+ override fun reportBrokerOptOutConfirmed7Days (brokerUrl : String ) {
643+ val params = mapOf (
644+ PARAM_KEY_BROKER to brokerUrl,
645+ )
646+
647+ fire(PIR_BROKER_CUSTOM_STATS_7DAY_CONFIRMED_OPTOUT , params)
648+ }
649+
650+ override fun reportBrokerOptOutUnconfirmed7Days (brokerUrl : String ) {
651+ val params = mapOf (
652+ PARAM_KEY_BROKER to brokerUrl,
653+ )
654+
655+ fire(PIR_BROKER_CUSTOM_STATS_7DAY_UNCONFIRMED_OPTOUT , params)
656+ }
657+
630658 private fun fire (
631659 pixel : PirPixel ,
632660 params : Map <String , String > = emptyMap(),
0 commit comments