diff --git a/app/src/main/java/org/mozilla/fenix/search/telemetry/BaseSearchTelemetry.kt b/app/src/main/java/org/mozilla/fenix/search/telemetry/BaseSearchTelemetry.kt index d7c0b53b1..94fa72e42 100644 --- a/app/src/main/java/org/mozilla/fenix/search/telemetry/BaseSearchTelemetry.kt +++ b/app/src/main/java/org/mozilla/fenix/search/telemetry/BaseSearchTelemetry.kt @@ -82,14 +82,8 @@ abstract class BaseSearchTelemetry { abstract fun install(engine: Engine, store: BrowserStore) - internal fun getProviderForUrl(url: String): SearchProviderModel? { - for (provider in providerList) { - if (Regex(provider.regexp).containsMatchIn(url)) { - return provider - } - } - return null - } + internal fun getProviderForUrl(url: String): SearchProviderModel? = + providerList.find { provider -> provider.regexp.containsMatchIn(url) } internal fun installWebExtension( engine: Engine, diff --git a/app/src/main/java/org/mozilla/fenix/search/telemetry/SearchProviderModel.kt b/app/src/main/java/org/mozilla/fenix/search/telemetry/SearchProviderModel.kt index a0d4d21fa..ff8f64d00 100644 --- a/app/src/main/java/org/mozilla/fenix/search/telemetry/SearchProviderModel.kt +++ b/app/src/main/java/org/mozilla/fenix/search/telemetry/SearchProviderModel.kt @@ -39,23 +39,8 @@ data class SearchProviderModel( * Checks if any of the given URLs represent an ad from the search engine. * Used to check if a clicked link was for an ad. */ - fun containsAds(urlList: List) = urlList.containsAds(extraAdServersRegexps) + fun containsAds(urlList: List) = urlList.any { url -> isAd(url) } - private fun String.isAd(adRegexps: List): Boolean { - for (adsRegex in adRegexps) { - if (adsRegex.containsMatchIn(this)) { - return true - } - } - return false - } - - private fun List.containsAds(adRegexps: List): Boolean { - for (url in this) { - if (url.isAd(adRegexps)) { - return true - } - } - return false - } + private fun isAd(url: String) = + extraAdServersRegexps.any { adsRegex -> adsRegex.containsMatchIn(url) } }