Loading app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +5 −0 Original line number Diff line number Diff line Loading @@ -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. */ Loading app/src/main/java/org/mozilla/fenix/HomeActivity.kt +4 −1 Original line number Diff line number Diff line Loading @@ -220,7 +220,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity { shouldNavigateBrowserFragmentOnCouldStart(savedInstanceState) ) { navigateToBrowserOnColdStart() } else { } else if (FeatureFlags.showStartOnHomeSettings) { components.analytics.metrics.track(Event.StartOnHomeEnterHomeScreen) } Loading Loading @@ -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. Loading app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +3 −1 Original line number Diff line number Diff line Loading @@ -438,7 +438,9 @@ class HomeFragment : Fragment() { } view.tab_button.setOnClickListener { if (FeatureFlags.showStartOnHomeSettings) { requireComponents.analytics.metrics.track(Event.StartOnHomeOpenTabsTray) } openTabsTray() } Loading app/src/main/java/org/mozilla/fenix/settings/TabsSettingsFragment.kt +6 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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() } Loading app/src/main/res/values/preference_keys.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +5 −0 Original line number Diff line number Diff line Loading @@ -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. */ Loading
app/src/main/java/org/mozilla/fenix/HomeActivity.kt +4 −1 Original line number Diff line number Diff line Loading @@ -220,7 +220,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity { shouldNavigateBrowserFragmentOnCouldStart(savedInstanceState) ) { navigateToBrowserOnColdStart() } else { } else if (FeatureFlags.showStartOnHomeSettings) { components.analytics.metrics.track(Event.StartOnHomeEnterHomeScreen) } Loading Loading @@ -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. Loading
app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +3 −1 Original line number Diff line number Diff line Loading @@ -438,7 +438,9 @@ class HomeFragment : Fragment() { } view.tab_button.setOnClickListener { if (FeatureFlags.showStartOnHomeSettings) { requireComponents.analytics.metrics.track(Event.StartOnHomeOpenTabsTray) } openTabsTray() } Loading
app/src/main/java/org/mozilla/fenix/settings/TabsSettingsFragment.kt +6 −0 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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() } Loading
app/src/main/res/values/preference_keys.xml +1 −0 Original line number Diff line number Diff line Loading @@ -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