From 47b15dd73d2a7b567b266ba7db2ceabff448ec53 Mon Sep 17 00:00:00 2001 From: Adam Novak Date: Thu, 4 Mar 2021 19:37:17 -0800 Subject: [PATCH 1/7] Turn on experimental features. Users love experimental features --- app/src/main/java/org/mozilla/fenix/FeatureFlags.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt index ef40ffc3f..ef546871e 100644 --- a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +++ b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt @@ -17,15 +17,15 @@ object FeatureFlags { /** * Enables the Nimbus experiments library. */ - val nimbusExperiments = Config.channel.isNightlyOrDebug + const val nimbusExperiments = false /** * Enables WebAuthn support. */ - val webAuthFeature = Config.channel.isNightlyOrDebug + const val webAuthFeature = true /** * Shows new three-dot toolbar menu design. */ - val toolbarMenuFeature = Config.channel.isDebug + const val toolbarMenuFeature = true } From dff8296f94c4a7091655d149f97d7e398d00b851 Mon Sep 17 00:00:00 2001 From: Adam Novak Date: Thu, 4 Mar 2021 19:43:20 -0800 Subject: [PATCH 2/7] Satisfy linter --- app/src/main/java/org/mozilla/fenix/components/Analytics.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/org/mozilla/fenix/components/Analytics.kt b/app/src/main/java/org/mozilla/fenix/components/Analytics.kt index 9197287b8..e0d49dd17 100644 --- a/app/src/main/java/org/mozilla/fenix/components/Analytics.kt +++ b/app/src/main/java/org/mozilla/fenix/components/Analytics.kt @@ -24,7 +24,6 @@ import org.mozilla.fenix.components.metrics.AdjustMetricsService import org.mozilla.fenix.components.metrics.GleanMetricsService import org.mozilla.fenix.components.metrics.LeanplumMetricsService import org.mozilla.fenix.components.metrics.MetricController -import org.mozilla.fenix.experiments.createNimbus import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.settings import org.mozilla.fenix.perf.lazyMonitored From ac56c570008de477831acc4715425d5e3bc20ee0 Mon Sep 17 00:00:00 2001 From: Adam Novak Date: Thu, 4 Mar 2021 19:52:47 -0800 Subject: [PATCH 3/7] Comply with changed collection provider interface --- .../iceraven/components/PagedAddonCollectionProvider.kt | 3 ++- docs/metrics.md | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt b/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt index 320ed66f0..bedfbcbf0 100644 --- a/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt +++ b/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt @@ -88,11 +88,12 @@ class PagedAddonCollectionProvider( * @param readTimeoutInSeconds optional timeout in seconds to use when fetching * available add-ons from a remote endpoint. If not specified [DEFAULT_READ_TIMEOUT_IN_SECONDS] * will be used. + * @param language optional language that will be ignored. * @throws IOException if the request failed, or could not be executed due to cancellation, * a connectivity problem or a timeout. */ @Throws(IOException::class) - override suspend fun getAvailableAddons(allowCache: Boolean, readTimeoutInSeconds: Long?): List { + override suspend fun getAvailableAddons(allowCache: Boolean, readTimeoutInSeconds: Long?, language: String?): List { val cachedAddons = if (allowCache && !cacheExpired(context)) { readFromDiskCache() } else { diff --git a/docs/metrics.md b/docs/metrics.md index 4412b58ab..5abd72251 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -315,8 +315,8 @@ The following metrics are added to the ping: | perf.awesomebar.session_suggestions |[timing_distribution](https://mozilla.github.io/glean/book/user/metrics/timing_distribution.html) |Duration of a session awesomebar suggestion query. |[1](https://github.com/mozilla-mobile/fenix/pull/10276#pullrequestreview-411101979)||2020-11-15 |1, 2 | | perf.awesomebar.shortcuts_suggestions |[timing_distribution](https://mozilla.github.io/glean/book/user/metrics/timing_distribution.html) |Duration of a shortcuts awesomebar suggestion query. |[1](https://github.com/mozilla-mobile/fenix/pull/10276#pullrequestreview-411101979)||2020-11-15 |1, 2 | | perf.awesomebar.synced_tabs_suggestions |[timing_distribution](https://mozilla.github.io/glean/book/user/metrics/timing_distribution.html) |Duration of a synced tabs awesomebar suggestion query. |[1](https://github.com/mozilla-mobile/fenix/pull/10276#pullrequestreview-411101979)||2020-11-15 |1, 2 | -| perf.startup.application_on_create |[timing_distribution](https://mozilla.github.io/glean/book/user/metrics/timing_distribution.html) |The duration of `FenixApplication.onCreate` in the main process. |[1](todo)||2021-08-11 |1 | -| perf.startup.home_activity_on_create |[timing_distribution](https://mozilla.github.io/glean/book/user/metrics/timing_distribution.html) |The duration of `HomeActivity.onCreate`. |[1](todo)||2021-08-11 |1 | +| perf.startup.application_on_create |[timing_distribution](https://mozilla.github.io/glean/book/user/metrics/timing_distribution.html) |The duration of `FenixApplication.onCreate` in the main process. |[1](https://github.com/mozilla-mobile/fenix/pull/17973#issue-572183889)||2021-08-11 |1 | +| perf.startup.home_activity_on_create |[timing_distribution](https://mozilla.github.io/glean/book/user/metrics/timing_distribution.html) |The duration of `HomeActivity.onCreate`. |[1](https://github.com/mozilla-mobile/fenix/pull/17973#issue-572183889)||2021-08-11 |1 | | preferences.accessibility_services |[string_list](https://mozilla.github.io/glean/book/user/metrics/string_list.html) |Whether or not the user has touch exploration or switch services enabled. These are built into the Android OS, not Fenix prefs. default: "" |[1](https://github.com/mozilla-mobile/fenix/pull/11211), [2](https://github.com/mozilla-mobile/fenix/pull/15713#issuecomment-703972068)||2021-08-01 |2 | | preferences.open_links_in_a_private_tab |[string_list](https://mozilla.github.io/glean/book/user/metrics/string_list.html) |Whether or not the user has enabled open links in a private tab. default: false |[1](https://github.com/mozilla-mobile/fenix/pull/11211), [2](https://github.com/mozilla-mobile/fenix/pull/15713#issuecomment-703972068)||2021-08-01 |2 | | preferences.open_links_in_app |[string_list](https://mozilla.github.io/glean/book/user/metrics/string_list.html) |Whether or not the user has the open links in apps feature enabled. default: false |[1](https://github.com/mozilla-mobile/fenix/pull/11446), [2](https://github.com/mozilla-mobile/fenix/pull/15713#issuecomment-703972068)||2021-08-01 |2 | From 32d16fde0f25e54bec870337bf944e1899db3c37 Mon Sep 17 00:00:00 2001 From: Adam Novak Date: Thu, 4 Mar 2021 19:57:26 -0800 Subject: [PATCH 4/7] Satisfy linter --- .../iceraven/components/PagedAddonCollectionProvider.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt b/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt index bedfbcbf0..43cb78e31 100644 --- a/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt +++ b/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonCollectionProvider.kt @@ -93,7 +93,11 @@ class PagedAddonCollectionProvider( * a connectivity problem or a timeout. */ @Throws(IOException::class) - override suspend fun getAvailableAddons(allowCache: Boolean, readTimeoutInSeconds: Long?, language: String?): List { + override suspend fun getAvailableAddons( + allowCache: Boolean, + readTimeoutInSeconds: Long?, + language: String? + ): List { val cachedAddons = if (allowCache && !cacheExpired(context)) { readFromDiskCache() } else { From 115b035c65b2e4343e1f61fdf392670002385a31 Mon Sep 17 00:00:00 2001 From: Adam Novak Date: Thu, 4 Mar 2021 20:00:18 -0800 Subject: [PATCH 5/7] Satisfy werror with the TopSheet --- .../mozilla/fenix/components/topsheet/TopSheetBehavior.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/components/topsheet/TopSheetBehavior.kt b/app/src/main/java/org/mozilla/fenix/components/topsheet/TopSheetBehavior.kt index 8de28ea2f..be5b50682 100644 --- a/app/src/main/java/org/mozilla/fenix/components/topsheet/TopSheetBehavior.kt +++ b/app/src/main/java/org/mozilla/fenix/components/topsheet/TopSheetBehavior.kt @@ -174,7 +174,7 @@ class TopSheetBehavior return SavedState( super.onSaveInstanceState( parent, - child + child!! ), mState ) } @@ -186,7 +186,7 @@ class TopSheetBehavior ) { val ss = state as SavedState - super.onRestoreInstanceState(parent, child, ss.superState) + super.onRestoreInstanceState(parent, child!!, ss.superState) // Intermediate states are restored as collapsed state mState = if (ss.state == STATE_DRAGGING || ss.state == STATE_SETTLING) { STATE_COLLAPSED @@ -451,7 +451,7 @@ class TopSheetBehavior return target === mNestedScrollingChildRef!!.get() && (mState != STATE_EXPANDED || super.onNestedPreFling( - coordinatorLayout, child, target, + coordinatorLayout, child!!, target, velocityX, velocityY )) } From e733429d1a16df1afbf31564a259fbda8b4f378b Mon Sep 17 00:00:00 2001 From: Adam Novak Date: Thu, 4 Mar 2021 20:03:55 -0800 Subject: [PATCH 6/7] Pretend to use the excluded add-ons list --- .../iceraven/components/PagedAddonsManagerAdapter.kt | 4 +++- .../java/org/mozilla/fenix/addons/AddonsManagementFragment.kt | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonsManagerAdapter.kt b/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonsManagerAdapter.kt index c5d93bf9a..f3006b328 100644 --- a/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonsManagerAdapter.kt +++ b/app/src/main/java/io/github/forkmaintainers/iceraven/components/PagedAddonsManagerAdapter.kt @@ -56,6 +56,7 @@ private const val VIEW_HOLDER_TYPE_ADDON = 2 * @property addonsManagerDelegate Delegate that will provides method for handling the add-on items. * @param addons The list of add-on based on the AMO store. * @property style Indicates how items should look like. + * @property excludedAddonIDs A list of add-on IDs we could exclude. Currently ignored. */ @Suppress("TooManyFunctions", "LargeClass") // We have an extra "Lint" Android Studio linter pass that Android Components @@ -66,7 +67,8 @@ class PagedAddonsManagerAdapter( private val addonCollectionProvider: PagedAddonCollectionProvider, private val addonsManagerDelegate: AddonsManagerAdapterDelegate, addons: List, - private val style: Style? = null + private val style: Style? = null, + private val excludedAddonIDs: List = emptyList() ) : ListAdapter(DifferCallback) { private val scope = CoroutineScope(Dispatchers.IO) private val logger = Logger("PagedAddonsManagerAdapter") diff --git a/app/src/main/java/org/mozilla/fenix/addons/AddonsManagementFragment.kt b/app/src/main/java/org/mozilla/fenix/addons/AddonsManagementFragment.kt index 423511c53..23596b780 100644 --- a/app/src/main/java/org/mozilla/fenix/addons/AddonsManagementFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/addons/AddonsManagementFragment.kt @@ -196,7 +196,8 @@ class AddonsManagementFragment : Fragment(R.layout.fragment_add_ons_management) requireContext().components.addonCollectionProvider, managementView, addons!!, - style = createAddonStyle(requireContext()) + style = createAddonStyle(requireContext()), + excludedAddonIDs ) } isInstallationInProgress = false From 3f520519790367d5132753f254d4d790b460659e Mon Sep 17 00:00:00 2001 From: Adam Novak Date: Thu, 4 Mar 2021 20:12:15 -0800 Subject: [PATCH 7/7] I like the old menu better --- app/src/main/java/org/mozilla/fenix/FeatureFlags.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt index ef546871e..ef345a982 100644 --- a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +++ b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt @@ -27,5 +27,5 @@ object FeatureFlags { /** * Shows new three-dot toolbar menu design. */ - const val toolbarMenuFeature = true + val toolbarMenuFeature = Config.channel.isDebug }