From fd18687ac950d3d73c27715236153de385643f14 Mon Sep 17 00:00:00 2001 From: Tiger Oakes Date: Thu, 2 Jul 2020 14:59:48 -0700 Subject: [PATCH] Switch to any calls --- .../search/telemetry/BaseSearchTelemetry.kt | 10 ++------- .../search/telemetry/SearchProviderModel.kt | 21 +++---------------- 2 files changed, 5 insertions(+), 26 deletions(-) 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) } }