Unverified Commit 8e8e5aea authored by Tiger Oakes's avatar Tiger Oakes Committed by GitHub
Browse files

Extract radio group logic into helper (#11493)

parent 01338274
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ import mozilla.components.browser.menu.item.SimpleBrowserMenuItem
import mozilla.components.browser.state.selector.normalTabs
import mozilla.components.feature.tab.collections.TabCollection
import org.mozilla.fenix.R
import org.mozilla.fenix.ext.ViewHolder
import org.mozilla.fenix.utils.view.ViewHolder
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.getIconColor
import org.mozilla.fenix.ext.increaseTapArea
+5 −4
Original line number Diff line number Diff line
@@ -6,9 +6,9 @@ package org.mozilla.fenix.home.sessioncontrol.viewholders

import android.view.View
import androidx.core.view.isVisible
import kotlinx.android.synthetic.main.no_collections_message.view.*
import kotlinx.android.synthetic.main.no_collections_message.*
import org.mozilla.fenix.R
import org.mozilla.fenix.ext.ViewHolder
import org.mozilla.fenix.utils.view.ViewHolder
import org.mozilla.fenix.home.sessioncontrol.CollectionInteractor

open class NoCollectionsMessageViewHolder(
@@ -18,11 +18,12 @@ open class NoCollectionsMessageViewHolder(
) : ViewHolder(view) {

    init {
        view.add_tabs_to_collections_button.setOnClickListener {
        add_tabs_to_collections_button.setOnClickListener {
            interactor.onAddTabsToCollectionTapped()
        }
        view.add_tabs_to_collections_button.isVisible = hasNormalTabsOpened
        add_tabs_to_collections_button.isVisible = hasNormalTabsOpened
    }

    companion object {
        const val LAYOUT_ID = R.layout.no_collections_message
    }
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ import mozilla.components.feature.tab.collections.TabCollection
import mozilla.components.support.ktx.android.content.getColorFromAttr
import mozilla.components.support.ktx.android.util.dpToFloat
import org.mozilla.fenix.R
import org.mozilla.fenix.ext.ViewHolder
import org.mozilla.fenix.utils.view.ViewHolder
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.increaseTapArea
import org.mozilla.fenix.ext.loadIntoView
+7 −14
Original line number Diff line number Diff line
@@ -9,18 +9,14 @@ 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.clickable_region_automatic
import kotlinx.android.synthetic.main.onboarding_theme_picker.view.theme_automatic_radio_button
import kotlinx.android.synthetic.main.onboarding_theme_picker.view.theme_dark_image
import kotlinx.android.synthetic.main.onboarding_theme_picker.view.theme_dark_radio_button
import kotlinx.android.synthetic.main.onboarding_theme_picker.view.theme_light_image
import kotlinx.android.synthetic.main.onboarding_theme_picker.view.theme_light_radio_button
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.ext.components
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.onboarding.OnboardingRadioButton
import org.mozilla.fenix.utils.view.addToRadioGroup

class OnboardingThemePickerViewHolder(view: View) : RecyclerView.ViewHolder(view) {

@@ -35,17 +31,14 @@ class OnboardingThemePickerViewHolder(view: View) : RecyclerView.ViewHolder(view
            R.string.pref_key_auto_battery_theme
        }

        radioLightTheme.addToRadioGroup(radioDarkTheme)
        radioLightTheme.addToRadioGroup(radioFollowDeviceTheme)
        addToRadioGroup(
            radioLightTheme,
            radioDarkTheme,
            radioFollowDeviceTheme
        )
        radioLightTheme.addIllustration(view.theme_light_image)

        radioDarkTheme.addToRadioGroup(radioLightTheme)
        radioDarkTheme.addToRadioGroup(radioFollowDeviceTheme)
        radioDarkTheme.addIllustration(view.theme_dark_image)

        radioFollowDeviceTheme.addToRadioGroup(radioDarkTheme)
        radioFollowDeviceTheme.addToRadioGroup(radioLightTheme)

        view.theme_dark_image.setOnClickListener {
            it.context.components.analytics.metrics.track(Event.OnboardingThemePicker(Theme.DARK))
            radioDarkTheme.performClick()
+3 −7
Original line number Diff line number Diff line
@@ -6,10 +6,7 @@ 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.toolbar_bottom_image
import kotlinx.android.synthetic.main.onboarding_toolbar_position_picker.view.toolbar_bottom_radio_button
import kotlinx.android.synthetic.main.onboarding_toolbar_position_picker.view.toolbar_top_image
import kotlinx.android.synthetic.main.onboarding_toolbar_position_picker.view.toolbar_top_radio_button
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
@@ -17,6 +14,7 @@ import org.mozilla.fenix.ext.asActivity
import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.onboarding.OnboardingRadioButton
import org.mozilla.fenix.utils.view.addToRadioGroup

class OnboardingToolbarPositionPickerViewHolder(view: View) : RecyclerView.ViewHolder(view) {

@@ -25,10 +23,8 @@ class OnboardingToolbarPositionPickerViewHolder(view: View) : RecyclerView.ViewH
        val radioBottomToolbar = view.toolbar_bottom_radio_button
        val radio: OnboardingRadioButton

        radioTopToolbar.addToRadioGroup(radioBottomToolbar)
        addToRadioGroup(radioTopToolbar, radioBottomToolbar)
        radioTopToolbar.addIllustration(view.toolbar_top_image)

        radioBottomToolbar.addToRadioGroup(radioTopToolbar)
        radioBottomToolbar.addIllustration(view.toolbar_bottom_image)

        radio = if (view.context.settings().shouldUseBottomToolbar) {
Loading