@@ -41,6 +41,15 @@ import kotlinx.android.synthetic.main.include_dax_dialog_cta.view.dialogTextCta
4141import kotlinx.android.synthetic.main.include_dax_dialog_cta.view.hiddenTextCta
4242import kotlinx.android.synthetic.main.include_dax_dialog_cta.view.primaryCta
4343
44+ interface DialogCta {
45+ fun createCta (activity : FragmentActivity ): DaxDialog
46+ }
47+
48+
49+ interface ViewCta {
50+ fun showCta (view : View )
51+ }
52+
4453interface Cta {
4554 val ctaId: CtaId
4655 val shownPixel: Pixel .PixelName ?
@@ -50,9 +59,6 @@ interface Cta {
5059 fun pixelShownParameters (): Map <String , String ?>
5160 fun pixelCancelParameters (): Map <String , String ?>
5261 fun pixelOkParameters (): Map <String , String ?>
53-
54- fun apply (view : View )
55- fun createDialogCta (activity : FragmentActivity ): DaxDialog ?
5662}
5763
5864sealed class DaxDialogCta (
@@ -65,11 +71,9 @@ sealed class DaxDialogCta(
6571 var ctaPixelParam : String ,
6672 val onboardingStore : OnboardingStore ,
6773 val appInstallStore : AppInstallStore
68- ) : Cta {
69-
70- override fun apply (view : View ) {}
74+ ) : Cta, DialogCta {
7175
72- override fun createDialogCta (activity : FragmentActivity ) = DaxDialog (getDaxText(activity), activity.resources.getString(okButton))
76+ override fun createCta (activity : FragmentActivity ) = DaxDialog (getDaxText(activity), activity.resources.getString(okButton))
7377
7478 override fun pixelCancelParameters (): Map <String , String ?> = mapOf (Pixel .PixelParameter .CTA_SHOWN to ctaPixelParam)
7579
@@ -120,7 +124,7 @@ sealed class DaxDialogCta(
120124 appInstallStore
121125 ) {
122126
123- override fun createDialogCta (activity : FragmentActivity ): DaxDialog =
127+ override fun createCta (activity : FragmentActivity ): DaxDialog =
124128 DaxDialog (getDaxText(activity), activity.resources.getString(okButton), false )
125129
126130 override fun getDaxText (context : Context ): String {
@@ -164,7 +168,7 @@ sealed class DaxDialogCta(
164168 }
165169 }
166170
167- override fun createDialogCta (activity : FragmentActivity ): DaxDialog {
171+ override fun createCta (activity : FragmentActivity ): DaxDialog {
168172 return DaxDialog (getDaxText(activity), activity.resources.getString(okButton)).apply {
169173 val privacyGradeButton = activity.findViewById<View >(R .id.privacyGradeButton)
170174 onAnimationFinishedListener {
@@ -204,7 +208,7 @@ sealed class DaxDialogCta(
204208 appInstallStore
205209 ) {
206210
207- override fun createDialogCta (activity : FragmentActivity ): DaxDialog {
211+ override fun createCta (activity : FragmentActivity ): DaxDialog {
208212 return DaxDialog (getDaxText(activity), activity.resources.getString(okButton)).apply {
209213 val fireButton = activity.findViewById<View >(R .id.fire)
210214 onAnimationFinishedListener {
@@ -232,9 +236,9 @@ sealed class DaxBubbleCta(
232236 val ctaPixelParam : String ,
233237 val onboardingStore : OnboardingStore ,
234238 val appInstallStore : AppInstallStore
235- ) : Cta {
239+ ) : Cta, ViewCta {
236240
237- override fun apply (view : View ) {
241+ override fun showCta (view : View ) {
238242 val daxText = view.context.getString(description)
239243 view.show()
240244 view.alpha = 1f
@@ -243,8 +247,6 @@ sealed class DaxBubbleCta(
243247 view.dialogTextCta.startTypingAnimation(daxText, true )
244248 }
245249
246- override fun createDialogCta (activity : FragmentActivity ): DaxDialog ? = null
247-
248250 override fun pixelCancelParameters (): Map <String , String ?> = mapOf (Pixel .PixelParameter .CTA_SHOWN to ctaPixelParam)
249251
250252 override fun pixelOkParameters (): Map <String , String ?> = mapOf (Pixel .PixelParameter .CTA_SHOWN to ctaPixelParam)
@@ -295,18 +297,17 @@ sealed class HomePanelCta(
295297 override val shownPixel : Pixel .PixelName ? ,
296298 override val okPixel : Pixel .PixelName ? ,
297299 override val cancelPixel : Pixel .PixelName ?
298- ) : Cta {
300+ ) : Cta, ViewCta {
299301
300- override fun apply (view : View ) {
302+ override fun showCta (view : View ) {
301303 view.ctaIcon.setImageResource(image)
302304 view.ctaTitle.text = view.context.getString(title)
303305 view.ctaSubtitle.text = view.context.getString(description)
304306 view.ctaOkButton.text = view.context.getString(okButton)
305307 view.ctaDismissButton.text = view.context.getString(dismissButton)
308+ view.show()
306309 }
307310
308- override fun createDialogCta (activity : FragmentActivity ): DaxDialog ? = null
309-
310311 override fun pixelCancelParameters (): Map <String , String ?> = emptyMap()
311312
312313 override fun pixelOkParameters (): Map <String , String ?> = emptyMap()
0 commit comments