Commit d4b06e8e authored by Arturo Mejia's avatar Arturo Mejia
Browse files

Put the Start On home setting behind a feature flag.

(cherry picked from commit 7e564403)
parent bc3dddc2
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -34,6 +34,11 @@ object FeatureFlags {
     */
    val showHomeButtonFeature = Config.channel.isNightlyOrDebug

    /**
     * Enables the Start On Home feature in the settings page.
     */
    val showStartOnHomeSettings = Config.channel.isNightlyOrDebug

    /**
     * Enables the "recent" tabs feature in the home screen.
     */
+4 −1
Original line number Diff line number Diff line
@@ -220,7 +220,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
            shouldNavigateBrowserFragmentOnCouldStart(savedInstanceState)
        ) {
            navigateToBrowserOnColdStart()
        } else {
        } else if (FeatureFlags.showStartOnHomeSettings) {
            components.analytics.metrics.track(Event.StartOnHomeEnterHomeScreen)
        }

@@ -974,6 +974,9 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
     *  links from an external apps should always opened in the [BrowserFragment].
     */
    fun shouldStartOnHome(intent: Intent? = this.intent): Boolean {
        if (!FeatureFlags.showStartOnHomeSettings) {
            return false
        }
        return components.strictMode.resetAfter(StrictMode.allowThreadDiskReads()) {
            // We only want to open on home when users tap the app,
            // we want to ignore other cases when the app gets open by users clicking on links.
+3 −1
Original line number Diff line number Diff line
@@ -438,7 +438,9 @@ class HomeFragment : Fragment() {
            }

            view.tab_button.setOnClickListener {
                if (FeatureFlags.showStartOnHomeSettings) {
                    requireComponents.analytics.metrics.track(Event.StartOnHomeOpenTabsTray)
                }
                openTabsTray()
            }

+6 −0
Original line number Diff line number Diff line
@@ -6,7 +6,9 @@ package org.mozilla.fenix.settings

import android.os.Bundle
import android.view.View
import androidx.preference.PreferenceCategory
import androidx.preference.PreferenceFragmentCompat
import org.mozilla.fenix.FeatureFlags
import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.ext.components
@@ -56,10 +58,14 @@ class TabsSettingsFragment : PreferenceFragmentCompat() {
        radioOneWeek = requirePreference(R.string.pref_key_close_tabs_after_one_week)
        radioOneMonth = requirePreference(R.string.pref_key_close_tabs_after_one_month)

        startOnHomeRadioFourHours = requirePreference(R.string.pref_key_start_on_home_after_four_hours)
        startOnHomeRadioFourHours = requirePreference(R.string.pref_key_start_on_home_after_four_hours)
        startOnHomeRadioAlways = requirePreference(R.string.pref_key_start_on_home_always)
        startOnHomeRadioNever = requirePreference(R.string.pref_key_start_on_home_never)

        requirePreference<PreferenceCategory>(R.string.pref_key_start_on_home_category).isVisible =
            FeatureFlags.showStartOnHomeSettings

        setupRadioGroups()
    }

+1 −0
Original line number Diff line number Diff line
@@ -268,6 +268,7 @@
    <string name="pref_key_start_on_home_after_four_hours" translatable="false">pref_key_start_on_home_after_four_hours</string>
    <string name="pref_key_start_on_home_always" translatable="false">pref_key_start_on_home_always</string>
    <string name="pref_key_start_on_home_never" translatable="false">pref_key_start_on_home_never</string>
    <string name="pref_key_start_on_home_category" translatable="false">pref_key_start_on_home_category</string>
    <string name="pref_key_camera_permissions_needed" translatable="false">pref_key_camera_permissions_needed</string>

    <string name="pref_key_return_to_browser" translatable="false">pref_key_return_to_browser</string>
Loading