From 284cbab9eae90052e31a240109c906dcb193f97b Mon Sep 17 00:00:00 2001 From: Tiger Oakes Date: Sat, 14 Sep 2019 11:10:11 -0700 Subject: [PATCH] Use .orEmpty() --- .../java/org/mozilla/fenix/FenixApplication.kt | 4 +--- .../metrics/LeanplumMetricsService.kt | 6 ++---- .../metrics/MozillaProductDetector.kt | 17 +++++++---------- .../fenix/library/bookmarks/BookmarkAdapter.kt | 4 ++-- .../org/mozilla/fenix/search/SearchFragment.kt | 2 +- .../mozilla/fenix/search/toolbar/ToolbarView.kt | 2 +- .../org/mozilla/fenix/share/ShareFragment.kt | 4 ++-- 7 files changed, 16 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/FenixApplication.kt b/app/src/main/java/org/mozilla/fenix/FenixApplication.kt index 91f92a35f..a37474a1b 100644 --- a/app/src/main/java/org/mozilla/fenix/FenixApplication.kt +++ b/app/src/main/java/org/mozilla/fenix/FenixApplication.kt @@ -114,9 +114,7 @@ open class FenixApplication : Application() { private fun registerRxExceptionHandling() { RxJavaPlugins.setErrorHandler { - it.cause?.run { - throw this - } ?: throw it + throw it.cause ?: it } } diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/LeanplumMetricsService.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/LeanplumMetricsService.kt index cc97899ea..e53e073c1 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/LeanplumMetricsService.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/LeanplumMetricsService.kt @@ -116,12 +116,10 @@ class LeanplumMetricsService(private val application: Application) : MetricsServ private const val LOGTAG = "LeanplumMetricsService" private val LeanplumId: String - @Suppress("USELESS_ELVIS") // Debug builds have a null (nullable) LEANPLUM_ID - get() = BuildConfig.LEANPLUM_ID ?: "" + get() = BuildConfig.LEANPLUM_ID.orEmpty() private val LeanplumToken: String - @Suppress("USELESS_ELVIS") // Debug builds have a null (nullable) LEANPLUM_TOKEN - get() = BuildConfig.LEANPLUM_TOKEN ?: "" + get() = BuildConfig.LEANPLUM_TOKEN.orEmpty() } } diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/MozillaProductDetector.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/MozillaProductDetector.kt index 6075c6d4c..75ef1398f 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/MozillaProductDetector.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/MozillaProductDetector.kt @@ -53,20 +53,17 @@ object MozillaProductDetector { return true } - // Returns the default browser if and only if it is a Mozilla product + /** + * Returns the default browser if and only if it is a Mozilla product. + */ fun getMozillaBrowserDefault(context: Context): String? { val browserPackageName = Browsers.all(context).defaultBrowser?.packageName - return if (isMozillaProduct(browserPackageName ?: "")) { browserPackageName } else { null } + return if (isMozillaProduct(browserPackageName)) { browserPackageName } else { null } } // Note: we intentionally do not use a-c `firefoxBrandedBrowser` as this only gives us the first from that list - private fun isMozillaProduct(packageName: String): Boolean { - for (product in MozillaProducts.values()) { - if (product.productName == packageName) { - return true - } - } - - return false + private fun isMozillaProduct(packageName: String?): Boolean { + packageName ?: return false + return MozillaProducts.values().any { product -> product.productName == packageName } } } diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt index 276246c62..9be4a8254 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt @@ -33,13 +33,13 @@ class BookmarkAdapter(val emptyView: View, val interactor: BookmarkViewInteracto val diffUtil = DiffUtil.calculateDiff( BookmarkDiffUtil( this.tree, - tree?.children ?: listOf(), + tree?.children.orEmpty(), this.mode, mode ) ) - this.tree = tree?.children ?: listOf() + this.tree = tree?.children.orEmpty() isFirstRun = if (isFirstRun) false else { emptyView.isVisible = this.tree.isEmpty() false diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt index 9dfa46943..11174b269 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt @@ -83,7 +83,7 @@ class SearchFragment : Fragment(), BackHandler { ?.let { it.showShortcutEnginePicker } ?: false val view = inflater.inflate(R.layout.fragment_search, container, false) - val url = session?.url ?: "" + val url = session?.url.orEmpty() val currentSearchEngine = SearchEngineSource.Default( requireComponents.search.searchEngineManager.getDefaultSearchEngine(requireContext()) ) diff --git a/app/src/main/java/org/mozilla/fenix/search/toolbar/ToolbarView.kt b/app/src/main/java/org/mozilla/fenix/search/toolbar/ToolbarView.kt index bf7e6a7ca..453d0dea4 100644 --- a/app/src/main/java/org/mozilla/fenix/search/toolbar/ToolbarView.kt +++ b/app/src/main/java/org/mozilla/fenix/search/toolbar/ToolbarView.kt @@ -116,7 +116,7 @@ class ToolbarView( /* Only set the search terms if pasted text is null so that the search term doesn't overwrite pastedText when view enters `editMode` */ if (searchState.pastedText.isNullOrEmpty()) { - view.setSearchTerms(searchState.session?.searchTerms ?: "") + view.setSearchTerms(searchState.session?.searchTerms.orEmpty()) } view.editMode() diff --git a/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt b/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt index 49854754f..30f0d3c1c 100644 --- a/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/share/ShareFragment.kt @@ -119,7 +119,7 @@ class ShareFragment : AppCompatDialogFragment() { throw IllegalStateException("URL and tabs cannot both be null.") } - val tabs = args.tabs?.toList() ?: listOf(ShareTab(args.url!!, args.title ?: "")) + val tabs = args.tabs?.toList() ?: listOf(ShareTab(args.url!!, args.title.orEmpty())) val accountManager = requireComponents.backgroundServices.accountManager shareInteractor = ShareInteractor( @@ -167,7 +167,7 @@ class ShareFragment : AppCompatDialogFragment() { resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name ) - } ?: emptyList() + }.orEmpty() } @Suppress("ReturnCount")