From 36b50ea8d946500771d081be7f1bdddeb5911d8c Mon Sep 17 00:00:00 2001 From: mcarare Date: Tue, 6 Jul 2021 16:02:57 +0300 Subject: [PATCH] For #17917: Use View binding in onboarding cards. --- app/build.gradle | 4 ++++ .../OnboardingAutomaticSignInViewHolder.kt | 9 ++++---- .../onboarding/OnboardingFinishViewHolder.kt | 5 +++-- .../onboarding/OnboardingHeaderViewHolder.kt | 6 ++++-- .../OnboardingManualSignInViewHolder.kt | 9 ++++---- .../OnboardingPrivacyNoticeViewHolder.kt | 9 ++++---- .../OnboardingPrivateBrowsingViewHolder.kt | 13 ++++++------ .../OnboardingSectionHeaderViewHolder.kt | 6 +++--- .../OnboardingThemePickerViewHolder.kt | 21 ++++++++++--------- ...boardingToolbarPositionPickerViewHolder.kt | 16 +++++++------- .../OnboardingTrackingProtectionViewHolder.kt | 11 +++++----- .../OnboardingWhatsNewViewHolder.kt | 11 +++++----- 12 files changed, 67 insertions(+), 53 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7195044a75..4d74c4f867 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -137,6 +137,10 @@ android { } } + buildFeatures { + viewBinding true + } + aaptOptions { // All JavaScript code used internally by GeckoView is packaged in a // file called omni.ja. If this file is compressed in the APK, diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt index 7bbad2c75f..9401fda10b 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingAutomaticSignInViewHolder.kt @@ -10,7 +10,6 @@ import androidx.annotation.VisibleForTesting import androidx.appcompat.content.res.AppCompatResources.getDrawable import androidx.recyclerview.widget.RecyclerView import com.google.android.material.snackbar.Snackbar -import kotlinx.android.synthetic.main.onboarding_automatic_signin.view.* import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.MainScope import kotlinx.coroutines.launch @@ -20,6 +19,7 @@ import mozilla.components.support.ktx.android.view.putCompoundDrawablesRelativeW import org.mozilla.fenix.R import org.mozilla.fenix.components.FenixSnackbar import org.mozilla.fenix.components.metrics.Event +import org.mozilla.fenix.databinding.OnboardingAutomaticSigninBinding import org.mozilla.fenix.ext.components class OnboardingAutomaticSignInViewHolder( @@ -28,12 +28,13 @@ class OnboardingAutomaticSignInViewHolder( ) : RecyclerView.ViewHolder(view) { private lateinit var shareableAccount: ShareableAccount - private val headerText = view.header_text + private val binding = OnboardingAutomaticSigninBinding.bind(view) + private val headerText = binding.headerText init { - view.fxa_sign_in_button.setOnClickListener { + binding.fxaSignInButton.setOnClickListener { scope.launch { - onClick(it.fxa_sign_in_button) + onClick(binding.fxaSignInButton) } } } diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingFinishViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingFinishViewHolder.kt index a616573048..a73c9903dc 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingFinishViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingFinishViewHolder.kt @@ -6,9 +6,9 @@ package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding import android.view.View import androidx.recyclerview.widget.RecyclerView -import kotlinx.android.synthetic.main.onboarding_finish.view.* import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event +import org.mozilla.fenix.databinding.OnboardingFinishBinding import org.mozilla.fenix.ext.components import org.mozilla.fenix.home.sessioncontrol.OnboardingInteractor @@ -18,7 +18,8 @@ class OnboardingFinishViewHolder( ) : RecyclerView.ViewHolder(view) { init { - view.finish_button.setOnClickListener { + val binding = OnboardingFinishBinding.bind(view) + binding.finishButton.setOnClickListener { interactor.onStartBrowsingClicked() it.context.components.analytics.metrics.track(Event.OnboardingFinish) } diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingHeaderViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingHeaderViewHolder.kt index f879b28d87..8e01103c7d 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingHeaderViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingHeaderViewHolder.kt @@ -6,14 +6,16 @@ package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding import android.view.View import androidx.recyclerview.widget.RecyclerView -import kotlinx.android.synthetic.main.onboarding_header.view.* import org.mozilla.fenix.R +import org.mozilla.fenix.databinding.OnboardingHeaderBinding class OnboardingHeaderViewHolder(view: View) : RecyclerView.ViewHolder(view) { init { + val binding = OnboardingHeaderBinding.bind(view) + val appName = view.context.getString(R.string.app_name) - view.header_text.text = view.context.getString(R.string.onboarding_header, appName) + binding.headerText.text = view.context.getString(R.string.onboarding_header, appName) } companion object { diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingManualSignInViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingManualSignInViewHolder.kt index 00e5f0fcbd..1c8d52f59e 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingManualSignInViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingManualSignInViewHolder.kt @@ -7,18 +7,17 @@ package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding import android.view.View import androidx.navigation.Navigation import androidx.recyclerview.widget.RecyclerView -import kotlinx.android.synthetic.main.onboarding_manual_signin.view.* import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event +import org.mozilla.fenix.databinding.OnboardingManualSigninBinding import org.mozilla.fenix.ext.components import org.mozilla.fenix.home.HomeFragmentDirections class OnboardingManualSignInViewHolder(view: View) : RecyclerView.ViewHolder(view) { - - private val headerText = view.header_text + private var binding: OnboardingManualSigninBinding = OnboardingManualSigninBinding.bind(view) init { - view.fxa_sign_in_button.setOnClickListener { + binding.fxaSignInButton.setOnClickListener { it.context.components.analytics.metrics.track(Event.OnboardingManualSignIn) val directions = HomeFragmentDirections.actionGlobalTurnOnSync() @@ -28,7 +27,7 @@ class OnboardingManualSignInViewHolder(view: View) : RecyclerView.ViewHolder(vie fun bind() { val context = itemView.context - headerText.text = context.getString(R.string.onboarding_account_sign_in_header_1) + binding.headerText.text = context.getString(R.string.onboarding_account_sign_in_header_1) } companion object { diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingPrivacyNoticeViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingPrivacyNoticeViewHolder.kt index 9f4d752c75..75f18eccca 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingPrivacyNoticeViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingPrivacyNoticeViewHolder.kt @@ -6,9 +6,9 @@ package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding import android.view.View import androidx.recyclerview.widget.RecyclerView -import kotlinx.android.synthetic.main.onboarding_privacy_notice.view.* import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event +import org.mozilla.fenix.databinding.OnboardingPrivacyNoticeBinding import org.mozilla.fenix.ext.components import org.mozilla.fenix.home.sessioncontrol.OnboardingInteractor @@ -18,12 +18,13 @@ class OnboardingPrivacyNoticeViewHolder( ) : RecyclerView.ViewHolder(view) { init { - view.header_text.setOnboardingIcon(R.drawable.ic_info) + val binding = OnboardingPrivacyNoticeBinding.bind(view) + binding.headerText.setOnboardingIcon(R.drawable.ic_info) val appName = view.context.getString(R.string.app_name) - view.description_text.text = view.context.getString(R.string.onboarding_privacy_notice_description2, appName) + binding.descriptionText.text = view.context.getString(R.string.onboarding_privacy_notice_description2, appName) - view.read_button.setOnClickListener { + binding.readButton.setOnClickListener { it.context.components.analytics.metrics.track(Event.OnboardingPrivacyNotice) interactor.onReadPrivacyNoticeClicked() } diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingPrivateBrowsingViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingPrivateBrowsingViewHolder.kt index 6f52c83413..06f7275639 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingPrivateBrowsingViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingPrivateBrowsingViewHolder.kt @@ -14,11 +14,11 @@ import android.view.View import androidx.annotation.ColorInt import androidx.annotation.DrawableRes import androidx.recyclerview.widget.RecyclerView -import kotlinx.android.synthetic.main.onboarding_private_browsing.view.* import mozilla.components.support.ktx.android.content.getColorFromAttr import mozilla.components.support.ktx.android.content.getDrawableWithTint import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event +import org.mozilla.fenix.databinding.OnboardingPrivateBrowsingBinding import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.setBounds import org.mozilla.fenix.home.sessioncontrol.OnboardingInteractor @@ -29,14 +29,15 @@ class OnboardingPrivateBrowsingViewHolder( ) : RecyclerView.ViewHolder(view) { init { - view.header_text.setOnboardingIcon(R.drawable.ic_onboarding_private_browsing) + val binding = OnboardingPrivateBrowsingBinding.bind(view) + binding.headerText.setOnboardingIcon(R.drawable.ic_onboarding_private_browsing) // Display a private browsing icon as a character inside the description text. val inlineIcon = PrivateBrowsingImageSpan( view.context, R.drawable.ic_private_browsing, tint = view.context.getColorFromAttr(R.attr.primaryText), - size = view.description_text_once.lineHeight + size = binding.descriptionTextOnce.lineHeight ) val text = SpannableString(view.context.getString(R.string.onboarding_private_browsing_description1)).apply { @@ -49,9 +50,9 @@ class OnboardingPrivateBrowsingViewHolder( ) } - view.description_text_once.text = text - view.description_text_once.contentDescription = String.format(text.toString(), view.header_text.text) - view.open_settings_button.setOnClickListener { + binding.descriptionTextOnce.text = text + binding.descriptionTextOnce.contentDescription = String.format(text.toString(), binding.headerText.text) + binding.openSettingsButton.setOnClickListener { it.context.components.analytics.metrics.track(Event.OnboardingPrivateBrowsing) interactor.onOpenSettingsClicked() } diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingSectionHeaderViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingSectionHeaderViewHolder.kt index 3191c414b3..74681636ae 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingSectionHeaderViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingSectionHeaderViewHolder.kt @@ -7,12 +7,12 @@ package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding import android.content.Context import android.view.View import androidx.recyclerview.widget.RecyclerView -import kotlinx.android.synthetic.main.onboarding_section_header.view.* import org.mozilla.fenix.R +import org.mozilla.fenix.databinding.OnboardingSectionHeaderBinding class OnboardingSectionHeaderViewHolder(view: View) : RecyclerView.ViewHolder(view) { - - private val sectionHeader = view.section_header_text + private val binding = OnboardingSectionHeaderBinding.bind(view) + private val sectionHeader = binding.sectionHeaderText fun bind(labelBuilder: (Context) -> String) { sectionHeader.text = labelBuilder(itemView.context) diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingThemePickerViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingThemePickerViewHolder.kt index 1e855a7b35..c27632d94c 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingThemePickerViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingThemePickerViewHolder.kt @@ -9,10 +9,10 @@ import android.os.Build.VERSION.SDK_INT import android.view.View import androidx.appcompat.app.AppCompatDelegate import androidx.recyclerview.widget.RecyclerView -import kotlinx.android.synthetic.main.onboarding_theme_picker.view.* import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.components.metrics.Event.OnboardingThemePicker.Theme +import org.mozilla.fenix.databinding.OnboardingThemePickerBinding import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.settings import org.mozilla.fenix.onboarding.OnboardingRadioButton @@ -21,9 +21,10 @@ import org.mozilla.fenix.utils.view.addToRadioGroup class OnboardingThemePickerViewHolder(view: View) : RecyclerView.ViewHolder(view) { init { - val radioLightTheme = view.theme_light_radio_button - val radioDarkTheme = view.theme_dark_radio_button - val radioFollowDeviceTheme = view.theme_automatic_radio_button + val binding = OnboardingThemePickerBinding.bind(view) + val radioLightTheme = binding.themeLightRadioButton + val radioDarkTheme = binding.themeDarkRadioButton + val radioFollowDeviceTheme = binding.themeAutomaticRadioButton radioFollowDeviceTheme.key = if (SDK_INT >= Build.VERSION_CODES.P) { R.string.pref_key_follow_device_theme @@ -36,24 +37,24 @@ class OnboardingThemePickerViewHolder(view: View) : RecyclerView.ViewHolder(view radioDarkTheme, radioFollowDeviceTheme ) - radioLightTheme.addIllustration(view.theme_light_image) - radioDarkTheme.addIllustration(view.theme_dark_image) + radioLightTheme.addIllustration(binding.themeLightImage) + radioDarkTheme.addIllustration(binding.themeDarkImage) - view.theme_dark_image.setOnClickListener { + binding.themeDarkImage.setOnClickListener { it.context.components.analytics.metrics.track(Event.OnboardingThemePicker(Theme.DARK)) radioDarkTheme.performClick() } - view.theme_light_image.setOnClickListener { + binding.themeLightImage.setOnClickListener { it.context.components.analytics.metrics.track(Event.OnboardingThemePicker(Theme.LIGHT)) radioLightTheme.performClick() } val automaticTitle = view.context.getString(R.string.onboarding_theme_automatic_title) val automaticSummary = view.context.getString(R.string.onboarding_theme_automatic_summary) - view.clickable_region_automatic.contentDescription = "$automaticTitle $automaticSummary" + binding.clickableRegionAutomatic.contentDescription = "$automaticTitle $automaticSummary" - view.clickable_region_automatic.setOnClickListener { + binding.clickableRegionAutomatic.setOnClickListener { it.context.components.analytics.metrics .track(Event.OnboardingThemePicker(Theme.FOLLOW_DEVICE)) radioFollowDeviceTheme.performClick() diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingToolbarPositionPickerViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingToolbarPositionPickerViewHolder.kt index b484a8d3be..1c29bebea9 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingToolbarPositionPickerViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingToolbarPositionPickerViewHolder.kt @@ -6,11 +6,11 @@ package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding import android.view.View import androidx.recyclerview.widget.RecyclerView -import kotlinx.android.synthetic.main.onboarding_toolbar_position_picker.view.* import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.components.metrics.Event.OnboardingToolbarPosition.Position import org.mozilla.fenix.components.toolbar.ToolbarPosition +import org.mozilla.fenix.databinding.OnboardingToolbarPositionPickerBinding import org.mozilla.fenix.ext.asActivity import org.mozilla.fenix.ext.components import org.mozilla.fenix.onboarding.OnboardingRadioButton @@ -21,13 +21,15 @@ class OnboardingToolbarPositionPickerViewHolder(view: View) : RecyclerView.ViewH private val metrics = view.context.components.analytics.metrics init { - val radioTopToolbar = view.toolbar_top_radio_button - val radioBottomToolbar = view.toolbar_bottom_radio_button + val binding = OnboardingToolbarPositionPickerBinding.bind(view) + + val radioTopToolbar = binding.toolbarTopRadioButton + val radioBottomToolbar = binding.toolbarBottomRadioButton val radio: OnboardingRadioButton addToRadioGroup(radioTopToolbar, radioBottomToolbar) - radioTopToolbar.addIllustration(view.toolbar_top_image) - radioBottomToolbar.addIllustration(view.toolbar_bottom_image) + radioTopToolbar.addIllustration(binding.toolbarTopImage) + radioBottomToolbar.addIllustration(binding.toolbarBottomImage) val settings = view.context.components.settings radio = when (settings.toolbarPosition) { @@ -42,7 +44,7 @@ class OnboardingToolbarPositionPickerViewHolder(view: View) : RecyclerView.ViewH itemView.context.asActivity()?.recreate() } - view.toolbar_bottom_image.setOnClickListener { + binding.toolbarBottomImage.setOnClickListener { metrics.track(Event.OnboardingToolbarPosition(Position.BOTTOM)) radioBottomToolbar.performClick() @@ -53,7 +55,7 @@ class OnboardingToolbarPositionPickerViewHolder(view: View) : RecyclerView.ViewH itemView.context.asActivity()?.recreate() } - view.toolbar_top_image.setOnClickListener { + binding.toolbarTopImage.setOnClickListener { metrics.track(Event.OnboardingToolbarPosition(Position.TOP)) radioTopToolbar.performClick() } diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingTrackingProtectionViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingTrackingProtectionViewHolder.kt index 7c3b526100..d55d3c267d 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingTrackingProtectionViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingTrackingProtectionViewHolder.kt @@ -6,10 +6,10 @@ package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding import android.view.View import androidx.recyclerview.widget.RecyclerView -import kotlinx.android.synthetic.main.onboarding_tracking_protection.view.* import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.components.metrics.Event.OnboardingTrackingProtection.Setting +import org.mozilla.fenix.databinding.OnboardingTrackingProtectionBinding import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.settings import org.mozilla.fenix.onboarding.OnboardingRadioButton @@ -21,12 +21,13 @@ class OnboardingTrackingProtectionViewHolder(view: View) : RecyclerView.ViewHold private var strictTrackingProtection: OnboardingRadioButton init { - view.header_text.setOnboardingIcon(R.drawable.ic_onboarding_tracking_protection) + val binding = OnboardingTrackingProtectionBinding.bind(view) + binding.headerText.setOnboardingIcon(R.drawable.ic_onboarding_tracking_protection) - standardTrackingProtection = view.tracking_protection_standard_option - strictTrackingProtection = view.tracking_protection_strict_default + standardTrackingProtection = binding.trackingProtectionStandardOption + strictTrackingProtection = binding.trackingProtectionStrictDefault - view.description_text.text = view.context.getString( + binding.descriptionText.text = view.context.getString( R.string.onboarding_tracking_protection_description_3 ) diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingWhatsNewViewHolder.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingWhatsNewViewHolder.kt index d7fcd90553..efa4dd4f22 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingWhatsNewViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingWhatsNewViewHolder.kt @@ -6,8 +6,8 @@ package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding import android.view.View import androidx.recyclerview.widget.RecyclerView -import kotlinx.android.synthetic.main.onboarding_whats_new.view.* import org.mozilla.fenix.R +import org.mozilla.fenix.databinding.OnboardingWhatsNewBinding import org.mozilla.fenix.ext.addUnderline import org.mozilla.fenix.home.sessioncontrol.OnboardingInteractor @@ -17,13 +17,14 @@ class OnboardingWhatsNewViewHolder( ) : RecyclerView.ViewHolder(view) { init { - view.header_text.setOnboardingIcon(R.drawable.ic_whats_new) + val binding = OnboardingWhatsNewBinding.bind(view) + binding.headerText.setOnboardingIcon(R.drawable.ic_whats_new) val appName = view.context.getString(R.string.app_name) - view.description_text.text = view.context.getString(R.string.onboarding_whats_new_description, appName) + binding.descriptionText.text = view.context.getString(R.string.onboarding_whats_new_description, appName) - view.get_answers.addUnderline() - view.get_answers.setOnClickListener { + binding.getAnswers.addUnderline() + binding.getAnswers.setOnClickListener { interactor.onWhatsNewGetAnswersClicked() } }