diff --git a/app/build.gradle b/app/build.gradle index a0ad61917..2676cc592 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -41,6 +41,18 @@ android { buildConfigField "String", "AMO_BASE_URL", "\"https://addons.mozilla.org\"" buildConfigField "String", "AMO_COLLECTION_NAME", "\"7dfae8669acc4312a65e8ba5553036\"" buildConfigField "String", "AMO_COLLECTION_USER", "\"mozilla\"" + // These add-ons should be excluded for Mozilla Online builds. + buildConfigField "String[]", "MOZILLA_ONLINE_ADDON_EXCLUSIONS", + "{" + + "\"uBlock0@raymondhill.net\"," + + "\"firefox@ghostery.com\"," + + "\"jid1-MnnxcxisBPnSXQ@jetpack\"," + + "\"adguardadblocker@adguard.com\"," + + "\"foxyproxy@eric.h.jung\"," + + "\"{73a6fe31-595d-460b-a920-fcc0f8843232}\"," + + "\"jid1-BoFifL9Vbdl2zQ@jetpack\"," + + "\"woop-NoopscooPsnSXQ@jetpack\"" + + "}" // This should be the base URL used to call the AMO API. buildConfigField "String", "AMO_SERVER_URL", "\"https://services.addons.mozilla.org\"" def deepLinkSchemeValue = "fenix-dev" 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 06a8555cc..ccffe192e 100644 --- a/app/src/main/java/org/mozilla/fenix/addons/AddonsManagementFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/addons/AddonsManagementFragment.kt @@ -29,6 +29,8 @@ import mozilla.components.feature.addons.ui.AddonInstallationDialogFragment import mozilla.components.feature.addons.ui.AddonsManagerAdapter import mozilla.components.feature.addons.ui.PermissionsDialogFragment import mozilla.components.feature.addons.ui.translateName +import org.mozilla.fenix.BuildConfig +import org.mozilla.fenix.Config import org.mozilla.fenix.GleanMetrics.Addons import org.mozilla.fenix.R import org.mozilla.fenix.components.FenixSnackbar @@ -105,6 +107,13 @@ class AddonsManagementFragment : Fragment(R.layout.fragment_add_ons_management) lifecycleScope.launch(IO) { try { val addons = requireContext().components.addonManager.getAddons(allowCache = allowCache) + // Add-ons that should be excluded in Mozilla Online builds + val excludedAddonIDs = if (Config.channel.isMozillaOnline && + !BuildConfig.MOZILLA_ONLINE_ADDON_EXCLUSIONS.isNullOrEmpty()) { + BuildConfig.MOZILLA_ONLINE_ADDON_EXCLUSIONS.toList() + } else { + emptyList() + } lifecycleScope.launch(Dispatchers.Main) { runIfFragmentIsAttached { if (!shouldRefresh) { @@ -112,7 +121,8 @@ class AddonsManagementFragment : Fragment(R.layout.fragment_add_ons_management) requireContext().components.addonCollectionProvider, managementView, addons, - style = createAddonStyle(requireContext()) + style = createAddonStyle(requireContext()), + excludedAddonIDs ) } isInstallationInProgress = false