diff --git a/.editorconfig b/.editorconfig index 005d63ee9..7ea380af1 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,9 +1,4 @@ [*.{kt,kts}] -# Disabling rules that were added in the latest versions of ktlint -# tracking here: https://github.com/mozilla-mobile/fenix/issues/4861 - -ktlint_disabled_rules=import-ordering - ij_kotlin_allow_trailing_comma_on_call_site=true ij_kotlin_allow_trailing_comma=true diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 5f306c48a..f0554c1d2 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -1,3 +1,5 @@ # .git-blame-ignore-revs -# 26901: Fix issues from ktlint baseline +# For #27667 - Remove import-ordering from the list of disabled ktlint rules (#27680) +463fcd53b8db5a43b0be7bf1a4c4bbe8f2a163e0 +# For #26844: Fix ktlint issues and remove them from baseline. (#26901) ffcef5ff2e3f78b6972dd16551f3f653b7035ccc diff --git a/app/src/androidTest/java/org/mozilla/fenix/components/FxaServer.kt b/app/src/androidTest/java/org/mozilla/fenix/components/FxaServer.kt index f67d862b4..bb0c3b687 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/components/FxaServer.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/components/FxaServer.kt @@ -5,8 +5,8 @@ package org.mozilla.fenix.components import android.content.Context -import mozilla.components.service.fxa.ServerConfig.Server import mozilla.components.service.fxa.ServerConfig +import mozilla.components.service.fxa.ServerConfig.Server /** * Utility to configure Firefox Account stage servers. diff --git a/app/src/androidTest/java/org/mozilla/fenix/glean/BaselinePingTest.kt b/app/src/androidTest/java/org/mozilla/fenix/glean/BaselinePingTest.kt index 59c89de0d..700dd438a 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/glean/BaselinePingTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/glean/BaselinePingTest.kt @@ -24,8 +24,8 @@ import mozilla.components.service.glean.net.ConceptFetchHttpUploader import mozilla.components.service.glean.testing.GleanTestLocalServer import okhttp3.mockwebserver.RecordedRequest import org.json.JSONObject -import org.junit.Assert.assertTrue import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue import org.junit.Before import org.junit.BeforeClass import org.junit.Rule @@ -36,9 +36,9 @@ import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R import org.mozilla.fenix.helpers.HomeActivityTestRule import org.mozilla.fenix.helpers.MockWebServerHelper -import java.util.concurrent.TimeUnit import java.io.BufferedReader import java.io.ByteArrayInputStream +import java.util.concurrent.TimeUnit import java.util.zip.GZIPInputStream /** diff --git a/app/src/androidTest/java/org/mozilla/fenix/helpers/Assert.kt b/app/src/androidTest/java/org/mozilla/fenix/helpers/Assert.kt index b960f132b..0fc65f27a 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/helpers/Assert.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/helpers/Assert.kt @@ -5,11 +5,6 @@ package org.mozilla.fenix.helpers import android.graphics.Bitmap - -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - import android.graphics.Color import org.junit.Assert.assertEquals diff --git a/app/src/androidTest/java/org/mozilla/fenix/helpers/MockLocationUpdatesRule.kt b/app/src/androidTest/java/org/mozilla/fenix/helpers/MockLocationUpdatesRule.kt index 3e8ca4d87..119803bec 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/helpers/MockLocationUpdatesRule.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/helpers/MockLocationUpdatesRule.kt @@ -12,9 +12,9 @@ import android.os.SystemClock import android.util.Log import androidx.test.core.app.ApplicationProvider import org.junit.rules.ExternalResource +import org.mozilla.fenix.helpers.TestHelper.mDevice import java.util.Date import kotlin.random.Random -import org.mozilla.fenix.helpers.TestHelper.mDevice private const val mockProviderName = LocationManager.GPS_PROVIDER diff --git a/app/src/androidTest/java/org/mozilla/fenix/helpers/SearchDispatcher.kt b/app/src/androidTest/java/org/mozilla/fenix/helpers/SearchDispatcher.kt index 3efe5025d..5d90a06a4 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/helpers/SearchDispatcher.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/helpers/SearchDispatcher.kt @@ -7,14 +7,14 @@ package org.mozilla.fenix.helpers import android.os.Handler import android.os.Looper import androidx.test.platform.app.InstrumentationRegistry -import java.io.IOException -import java.io.InputStream import okhttp3.mockwebserver.Dispatcher import okhttp3.mockwebserver.MockResponse import okhttp3.mockwebserver.MockWebServer import okhttp3.mockwebserver.RecordedRequest import okio.Buffer import okio.source +import java.io.IOException +import java.io.InputStream /** * A [MockWebServer] [Dispatcher] that will return a generic search results page in the body of diff --git a/app/src/androidTest/java/org/mozilla/fenix/helpers/TestHelper.kt b/app/src/androidTest/java/org/mozilla/fenix/helpers/TestHelper.kt index 3cb04c23d..368cd8244 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/helpers/TestHelper.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/helpers/TestHelper.kt @@ -45,8 +45,6 @@ import androidx.test.uiautomator.UiObjectNotFoundException import androidx.test.uiautomator.UiScrollable import androidx.test.uiautomator.UiSelector import androidx.test.uiautomator.Until -import java.util.Locale -import java.util.regex.Pattern import junit.framework.AssertionFailedError import mozilla.components.browser.state.search.SearchEngine import mozilla.components.support.ktx.android.content.appName @@ -67,6 +65,8 @@ import org.mozilla.fenix.helpers.idlingresource.NetworkConnectionIdlingResource import org.mozilla.fenix.ui.robots.BrowserRobot import org.mozilla.fenix.utils.IntentUtils import org.mozilla.gecko.util.ThreadUtils +import java.util.Locale +import java.util.regex.Pattern object TestHelper { diff --git a/app/src/androidTest/java/org/mozilla/fenix/helpers/matchers/BitmapDrawableMatcher.kt b/app/src/androidTest/java/org/mozilla/fenix/helpers/matchers/BitmapDrawableMatcher.kt index e1da90152..7e0c3bfc1 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/helpers/matchers/BitmapDrawableMatcher.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/helpers/matchers/BitmapDrawableMatcher.kt @@ -5,13 +5,13 @@ package org.mozilla.fenix.helpers.matchers import android.graphics.Bitmap +import android.graphics.drawable.BitmapDrawable +import android.graphics.drawable.Drawable +import android.graphics.drawable.StateListDrawable import android.view.View import android.widget.ImageView import androidx.test.espresso.matcher.BoundedMatcher import org.hamcrest.Description -import android.graphics.drawable.BitmapDrawable -import android.graphics.drawable.StateListDrawable -import android.graphics.drawable.Drawable class BitmapDrawableMatcher(private val bitmap: Bitmap, private val name: String) : BoundedMatcher(ImageView::class.java) { diff --git a/app/src/androidTest/java/org/mozilla/fenix/screenshots/DefaultHomeScreenTest.kt b/app/src/androidTest/java/org/mozilla/fenix/screenshots/DefaultHomeScreenTest.kt index 9a359314c..609c57650 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/screenshots/DefaultHomeScreenTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/screenshots/DefaultHomeScreenTest.kt @@ -14,8 +14,8 @@ import org.junit.After import org.junit.Before import org.junit.Rule import org.junit.Test -import org.mozilla.fenix.helpers.HomeActivityTestRule import org.mozilla.fenix.HomeActivity +import org.mozilla.fenix.helpers.HomeActivityTestRule import org.mozilla.fenix.helpers.TestAssetHelper import org.mozilla.fenix.ui.robots.homeScreen import tools.fastlane.screengrab.Screengrab diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsDeveloperToolsTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsDeveloperToolsTest.kt index 40dc48854..b9d978c6b 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsDeveloperToolsTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsDeveloperToolsTest.kt @@ -7,10 +7,10 @@ package org.mozilla.fenix.ui import androidx.test.platform.app.InstrumentationRegistry import androidx.test.uiautomator.UiDevice import okhttp3.mockwebserver.MockWebServer -import org.junit.Rule -import org.junit.Before import org.junit.After +import org.junit.Before import org.junit.Ignore +import org.junit.Rule import org.junit.Test import org.mozilla.fenix.helpers.AndroidAssetDispatcher import org.mozilla.fenix.helpers.HomeActivityTestRule diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSearchTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSearchTest.kt index d1de65624..bedae77e2 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSearchTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSearchTest.kt @@ -16,8 +16,8 @@ import org.mozilla.fenix.helpers.SearchDispatcher import org.mozilla.fenix.helpers.TestAssetHelper.getGenericAsset import org.mozilla.fenix.helpers.TestHelper import org.mozilla.fenix.helpers.TestHelper.appContext -import org.mozilla.fenix.helpers.TestHelper.setTextToClipBoard import org.mozilla.fenix.helpers.TestHelper.exitMenu +import org.mozilla.fenix.helpers.TestHelper.setTextToClipBoard import org.mozilla.fenix.ui.robots.homeScreen import org.mozilla.fenix.ui.robots.navigationToolbar import org.mozilla.fenix.ui.util.ARABIC_LANGUAGE_HEADER diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSyncTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSyncTest.kt index 24eb93c80..bc479ea60 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSyncTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsSyncTest.kt @@ -7,10 +7,10 @@ package org.mozilla.fenix.ui import androidx.test.platform.app.InstrumentationRegistry import androidx.test.uiautomator.UiDevice import okhttp3.mockwebserver.MockWebServer -import org.junit.Rule -import org.junit.Before import org.junit.After +import org.junit.Before import org.junit.Ignore +import org.junit.Rule import org.junit.Test import org.mozilla.fenix.helpers.AndroidAssetDispatcher import org.mozilla.fenix.helpers.HomeActivityTestRule diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsTest.kt index bf2b1224f..facbc22ca 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsTest.kt @@ -7,10 +7,10 @@ package org.mozilla.fenix.ui import androidx.test.platform.app.InstrumentationRegistry import androidx.test.uiautomator.UiDevice import okhttp3.mockwebserver.MockWebServer -import org.junit.Rule -import org.junit.Before import org.junit.After +import org.junit.Before import org.junit.Ignore +import org.junit.Rule import org.junit.Test import org.mozilla.fenix.helpers.AndroidAssetDispatcher import org.mozilla.fenix.helpers.HomeActivityTestRule diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/DownloadRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/DownloadRobot.kt index fc33ffd7a..52f87e576 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/DownloadRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/DownloadRobot.kt @@ -28,8 +28,8 @@ import org.mozilla.fenix.helpers.TestAssetHelper.waitingTime import org.mozilla.fenix.helpers.TestAssetHelper.waitingTimeLong import org.mozilla.fenix.helpers.TestHelper import org.mozilla.fenix.helpers.TestHelper.assertExternalAppOpens -import org.mozilla.fenix.helpers.TestHelper.packageName import org.mozilla.fenix.helpers.TestHelper.mDevice +import org.mozilla.fenix.helpers.TestHelper.packageName import org.mozilla.fenix.helpers.click import org.mozilla.fenix.helpers.ext.waitNotNull diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/LibrarySubMenusMultipleSelectionToolbarRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/LibrarySubMenusMultipleSelectionToolbarRobot.kt index 942a7f44a..02277d6c3 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/LibrarySubMenusMultipleSelectionToolbarRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/LibrarySubMenusMultipleSelectionToolbarRobot.kt @@ -9,22 +9,22 @@ import android.widget.TextView import androidx.test.espresso.Espresso.onView import androidx.test.espresso.assertion.ViewAssertions.matches import androidx.test.espresso.matcher.ViewMatchers.isDisplayed +import androidx.test.espresso.matcher.ViewMatchers.withChild import androidx.test.espresso.matcher.ViewMatchers.withContentDescription import androidx.test.espresso.matcher.ViewMatchers.withId -import androidx.test.espresso.matcher.ViewMatchers.withText import androidx.test.espresso.matcher.ViewMatchers.withParent -import androidx.test.espresso.matcher.ViewMatchers.withChild +import androidx.test.espresso.matcher.ViewMatchers.withText import androidx.test.uiautomator.By import androidx.test.uiautomator.UiSelector import androidx.test.uiautomator.Until -import org.mozilla.fenix.R -import org.mozilla.fenix.helpers.TestAssetHelper.waitingTime -import org.mozilla.fenix.helpers.click -import org.mozilla.fenix.helpers.ext.waitNotNull import org.hamcrest.Matchers.allOf +import org.mozilla.fenix.R import org.mozilla.fenix.helpers.TestAssetHelper +import org.mozilla.fenix.helpers.TestAssetHelper.waitingTime import org.mozilla.fenix.helpers.TestHelper.mDevice import org.mozilla.fenix.helpers.TestHelper.packageName +import org.mozilla.fenix.helpers.click +import org.mozilla.fenix.helpers.ext.waitNotNull /* * Implementation of Robot Pattern for the multiple selection toolbar of History and Bookmarks menus. diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/NotificationRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/NotificationRobot.kt index 0efe1131d..5466ec1bb 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/NotificationRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/NotificationRobot.kt @@ -13,12 +13,12 @@ import androidx.test.uiautomator.Until import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue import org.mozilla.fenix.helpers.TestAssetHelper.waitingTime +import org.mozilla.fenix.helpers.TestAssetHelper.waitingTimeShort import org.mozilla.fenix.helpers.TestHelper import org.mozilla.fenix.helpers.TestHelper.appName import org.mozilla.fenix.helpers.TestHelper.mDevice import org.mozilla.fenix.helpers.ext.waitNotNull import java.lang.AssertionError -import org.mozilla.fenix.helpers.TestAssetHelper.waitingTimeShort class NotificationRobot { diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuSitePermissionsCommonRobot.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuSitePermissionsCommonRobot.kt index b64e4ad31..22d31aec8 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuSitePermissionsCommonRobot.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuSitePermissionsCommonRobot.kt @@ -17,9 +17,9 @@ import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue import org.mozilla.fenix.R import org.mozilla.fenix.helpers.TestAssetHelper.waitingTime -import org.mozilla.fenix.helpers.TestHelper.mDevice import org.mozilla.fenix.helpers.TestAssetHelper.waitingTimeShort import org.mozilla.fenix.helpers.TestHelper.getStringResource +import org.mozilla.fenix.helpers.TestHelper.mDevice import org.mozilla.fenix.helpers.TestHelper.packageName import org.mozilla.fenix.helpers.assertIsChecked import org.mozilla.fenix.helpers.click diff --git a/app/src/main/java/org/mozilla/fenix/FenixApplication.kt b/app/src/main/java/org/mozilla/fenix/FenixApplication.kt index 38353ba59..a8e47bd95 100644 --- a/app/src/main/java/org/mozilla/fenix/FenixApplication.kt +++ b/app/src/main/java/org/mozilla/fenix/FenixApplication.kt @@ -77,9 +77,9 @@ import org.mozilla.fenix.components.metrics.MozillaProductDetector import org.mozilla.fenix.components.toolbar.ToolbarPosition import org.mozilla.fenix.ext.containsQueryParameters import org.mozilla.fenix.ext.getCustomGleanServerUrlIfAvailable -import org.mozilla.fenix.ext.setCustomEndpointIfAvailable import org.mozilla.fenix.ext.isCustomEngine import org.mozilla.fenix.ext.isKnownSearchDomain +import org.mozilla.fenix.ext.setCustomEndpointIfAvailable import org.mozilla.fenix.ext.settings import org.mozilla.fenix.nimbus.FxNimbus import org.mozilla.fenix.perf.MarkersActivityLifecycleCallbacks diff --git a/app/src/main/java/org/mozilla/fenix/addons/AddonPopupBaseFragment.kt b/app/src/main/java/org/mozilla/fenix/addons/AddonPopupBaseFragment.kt index 8fbd32ab4..ccee01685 100644 --- a/app/src/main/java/org/mozilla/fenix/addons/AddonPopupBaseFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/addons/AddonPopupBaseFragment.kt @@ -10,10 +10,10 @@ import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController import mozilla.components.browser.state.action.ContentAction import mozilla.components.browser.state.action.CustomTabListAction -import mozilla.components.browser.state.state.createCustomTab import mozilla.components.browser.state.state.CustomTabSessionState import mozilla.components.browser.state.state.EngineState import mozilla.components.browser.state.state.SessionState +import mozilla.components.browser.state.state.createCustomTab import mozilla.components.concept.engine.EngineSession import mozilla.components.concept.engine.prompt.PromptRequest import mozilla.components.concept.engine.window.WindowRequest 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 e5aba2621..bbef7bec9 100644 --- a/app/src/main/java/org/mozilla/fenix/addons/AddonsManagementFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/addons/AddonsManagementFragment.kt @@ -35,9 +35,9 @@ import org.mozilla.fenix.components.FenixSnackbar import org.mozilla.fenix.databinding.FragmentAddOnsManagementBinding import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.getRootView +import org.mozilla.fenix.ext.runIfFragmentIsAttached import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.showToolbar -import org.mozilla.fenix.ext.runIfFragmentIsAttached import org.mozilla.fenix.theme.ThemeManager import java.lang.ref.WeakReference import java.util.concurrent.CancellationException diff --git a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt index afe8376d6..f28c451af 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt @@ -54,6 +54,7 @@ import mozilla.components.browser.state.state.TabSessionState import mozilla.components.browser.state.state.content.DownloadState import mozilla.components.browser.state.store.BrowserStore import mozilla.components.browser.thumbnails.BrowserThumbnails +import mozilla.components.concept.engine.permission.SitePermissions import mozilla.components.concept.engine.prompt.ShareData import mozilla.components.feature.accounts.FxaCapability import mozilla.components.feature.accounts.FxaWebChannelFeature @@ -68,31 +69,38 @@ import mozilla.components.feature.media.fullscreen.MediaSessionFullscreenFeature import mozilla.components.feature.privatemode.feature.SecureWindowFeature import mozilla.components.feature.prompts.PromptFeature import mozilla.components.feature.prompts.PromptFeature.Companion.PIN_REQUEST +import mozilla.components.feature.prompts.address.AddressDelegate +import mozilla.components.feature.prompts.creditcard.CreditCardDelegate +import mozilla.components.feature.prompts.login.LoginDelegate import mozilla.components.feature.prompts.share.ShareDelegate import mozilla.components.feature.readerview.ReaderViewFeature import mozilla.components.feature.search.SearchFeature import mozilla.components.feature.session.FullScreenFeature import mozilla.components.feature.session.PictureInPictureFeature +import mozilla.components.feature.session.ScreenOrientationFeature import mozilla.components.feature.session.SessionFeature import mozilla.components.feature.session.SwipeRefreshFeature -import mozilla.components.concept.engine.permission.SitePermissions -import mozilla.components.feature.prompts.address.AddressDelegate -import mozilla.components.feature.prompts.creditcard.CreditCardDelegate -import mozilla.components.feature.prompts.login.LoginDelegate -import mozilla.components.feature.session.ScreenOrientationFeature +import mozilla.components.feature.session.behavior.EngineViewBrowserToolbarBehavior import mozilla.components.feature.sitepermissions.SitePermissionsFeature +import mozilla.components.feature.webauthn.WebAuthnFeature import mozilla.components.lib.state.ext.consumeFlow import mozilla.components.lib.state.ext.flowScoped +import mozilla.components.service.glean.private.NoExtras +import mozilla.components.service.sync.autofill.DefaultCreditCardValidationDelegate import mozilla.components.service.sync.logins.DefaultLoginValidationDelegate +import mozilla.components.support.base.feature.ActivityResultHandler import mozilla.components.support.base.feature.PermissionsFeature import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.base.feature.ViewBoundFeatureWrapper +import mozilla.components.support.ktx.android.view.enterToImmersiveMode import mozilla.components.support.ktx.android.view.exitImmersiveMode import mozilla.components.support.ktx.android.view.hideKeyboard +import mozilla.components.support.ktx.kotlin.getOrigin import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifAnyChanged import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifChanged import org.mozilla.fenix.BuildConfig import org.mozilla.fenix.FeatureFlags +import org.mozilla.fenix.GleanMetrics.MediaState import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.IntentReceiverActivity import org.mozilla.fenix.NavGraphDirections @@ -109,6 +117,10 @@ import org.mozilla.fenix.components.toolbar.BrowserToolbarView import org.mozilla.fenix.components.toolbar.DefaultBrowserToolbarController import org.mozilla.fenix.components.toolbar.DefaultBrowserToolbarMenuController import org.mozilla.fenix.components.toolbar.ToolbarIntegration +import org.mozilla.fenix.components.toolbar.interactor.BrowserToolbarInteractor +import org.mozilla.fenix.components.toolbar.interactor.DefaultBrowserToolbarInteractor +import org.mozilla.fenix.crashes.CrashContentIntegration +import org.mozilla.fenix.databinding.FragmentBrowserBinding import org.mozilla.fenix.downloads.DownloadService import org.mozilla.fenix.downloads.DynamicDownloadDialog import org.mozilla.fenix.ext.accessibilityManager @@ -118,31 +130,19 @@ import org.mozilla.fenix.ext.getPreferenceKey import org.mozilla.fenix.ext.hideToolbar import org.mozilla.fenix.ext.nav import org.mozilla.fenix.ext.requireComponents -import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.runIfFragmentIsAttached +import org.mozilla.fenix.ext.secure +import org.mozilla.fenix.ext.settings import org.mozilla.fenix.home.HomeScreenViewModel import org.mozilla.fenix.home.SharedViewModel import org.mozilla.fenix.onboarding.FenixOnboarding +import org.mozilla.fenix.perf.MarkersFragmentLifecycleCallbacks import org.mozilla.fenix.settings.SupportUtils +import org.mozilla.fenix.settings.biometric.BiometricPromptFeature import org.mozilla.fenix.theme.ThemeManager import org.mozilla.fenix.utils.allowUndo import org.mozilla.fenix.wifi.SitePermissionsWifiIntegration import java.lang.ref.WeakReference -import mozilla.components.feature.session.behavior.EngineViewBrowserToolbarBehavior -import mozilla.components.feature.webauthn.WebAuthnFeature -import mozilla.components.service.glean.private.NoExtras -import mozilla.components.service.sync.autofill.DefaultCreditCardValidationDelegate -import mozilla.components.support.base.feature.ActivityResultHandler -import mozilla.components.support.ktx.android.view.enterToImmersiveMode -import mozilla.components.support.ktx.kotlin.getOrigin -import org.mozilla.fenix.GleanMetrics.MediaState -import org.mozilla.fenix.components.toolbar.interactor.BrowserToolbarInteractor -import org.mozilla.fenix.components.toolbar.interactor.DefaultBrowserToolbarInteractor -import org.mozilla.fenix.crashes.CrashContentIntegration -import org.mozilla.fenix.databinding.FragmentBrowserBinding -import org.mozilla.fenix.ext.secure -import org.mozilla.fenix.perf.MarkersFragmentLifecycleCallbacks -import org.mozilla.fenix.settings.biometric.BiometricPromptFeature import mozilla.components.feature.session.behavior.ToolbarPosition as MozacToolbarPosition /** 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 e619965cc..63b98c17c 100644 --- a/app/src/main/java/org/mozilla/fenix/components/Analytics.kt +++ b/app/src/main/java/org/mozilla/fenix/components/Analytics.kt @@ -10,10 +10,10 @@ import android.content.Context import android.content.Intent import android.os.Build import mozilla.components.lib.crash.CrashReporter +import mozilla.components.lib.crash.sentry.SentryService import mozilla.components.lib.crash.service.CrashReporterService import mozilla.components.lib.crash.service.GleanCrashReporterService import mozilla.components.lib.crash.service.MozillaSocorroService -import mozilla.components.lib.crash.sentry.SentryService import mozilla.components.service.nimbus.NimbusApi import org.mozilla.fenix.BuildConfig import org.mozilla.fenix.Config @@ -27,8 +27,8 @@ import org.mozilla.fenix.components.metrics.MetricController import org.mozilla.fenix.experiments.createNimbus import org.mozilla.fenix.ext.settings import org.mozilla.fenix.gleanplumb.CustomAttributeProvider -import org.mozilla.fenix.gleanplumb.OnDiskMessageMetadataStorage import org.mozilla.fenix.gleanplumb.NimbusMessagingStorage +import org.mozilla.fenix.gleanplumb.OnDiskMessageMetadataStorage import org.mozilla.fenix.nimbus.FxNimbus import org.mozilla.fenix.perf.lazyMonitored import org.mozilla.geckoview.BuildConfig.MOZ_APP_BUILDID diff --git a/app/src/main/java/org/mozilla/fenix/components/Push.kt b/app/src/main/java/org/mozilla/fenix/components/Push.kt index cc7a925ee..f99ef999c 100644 --- a/app/src/main/java/org/mozilla/fenix/components/Push.kt +++ b/app/src/main/java/org/mozilla/fenix/components/Push.kt @@ -7,8 +7,8 @@ package org.mozilla.fenix.components import android.content.Context import androidx.core.net.toUri import mozilla.components.feature.push.AutoPushFeature -import mozilla.components.feature.push.PushConfig import mozilla.components.feature.push.Protocol +import mozilla.components.feature.push.PushConfig import mozilla.components.lib.crash.CrashReporter import mozilla.components.support.base.log.logger.Logger import org.mozilla.fenix.R diff --git a/app/src/main/java/org/mozilla/fenix/components/ReviewPromptController.kt b/app/src/main/java/org/mozilla/fenix/components/ReviewPromptController.kt index bd82d6335..33e8704ad 100644 --- a/app/src/main/java/org/mozilla/fenix/components/ReviewPromptController.kt +++ b/app/src/main/java/org/mozilla/fenix/components/ReviewPromptController.kt @@ -10,8 +10,8 @@ import com.google.android.play.core.review.ReviewInfo import com.google.android.play.core.review.ReviewManager import kotlinx.coroutines.Dispatchers.Main import kotlinx.coroutines.withContext -import org.mozilla.fenix.utils.Settings import org.mozilla.fenix.GleanMetrics.ReviewPrompt +import org.mozilla.fenix.utils.Settings import java.text.SimpleDateFormat import java.util.Date import java.util.Locale diff --git a/app/src/main/java/org/mozilla/fenix/components/appstate/AppAction.kt b/app/src/main/java/org/mozilla/fenix/components/appstate/AppAction.kt index aa87697b6..4db4c26e0 100644 --- a/app/src/main/java/org/mozilla/fenix/components/appstate/AppAction.kt +++ b/app/src/main/java/org/mozilla/fenix/components/appstate/AppAction.kt @@ -11,17 +11,17 @@ import mozilla.components.lib.state.Action import mozilla.components.service.pocket.PocketStory import mozilla.components.service.pocket.PocketStory.PocketSponsoredStory import org.mozilla.fenix.components.AppStore +import org.mozilla.fenix.gleanplumb.Message +import org.mozilla.fenix.gleanplumb.MessagingState import org.mozilla.fenix.home.Mode import org.mozilla.fenix.home.pocket.PocketRecommendedStoriesCategory import org.mozilla.fenix.home.pocket.PocketRecommendedStoriesSelectedCategory import org.mozilla.fenix.home.recentbookmarks.RecentBookmark +import org.mozilla.fenix.home.recentsyncedtabs.RecentSyncedTab import org.mozilla.fenix.home.recentsyncedtabs.RecentSyncedTabState import org.mozilla.fenix.home.recenttabs.RecentTab import org.mozilla.fenix.home.recentvisits.RecentlyVisitedItem import org.mozilla.fenix.library.history.PendingDeletionHistory -import org.mozilla.fenix.gleanplumb.Message -import org.mozilla.fenix.gleanplumb.MessagingState -import org.mozilla.fenix.home.recentsyncedtabs.RecentSyncedTab import org.mozilla.fenix.wallpapers.Wallpaper /** diff --git a/app/src/main/java/org/mozilla/fenix/components/appstate/AppState.kt b/app/src/main/java/org/mozilla/fenix/components/appstate/AppState.kt index c24e61716..424e3c654 100644 --- a/app/src/main/java/org/mozilla/fenix/components/appstate/AppState.kt +++ b/app/src/main/java/org/mozilla/fenix/components/appstate/AppState.kt @@ -12,6 +12,7 @@ import mozilla.components.lib.state.State import mozilla.components.service.pocket.PocketStory import mozilla.components.service.pocket.PocketStory.PocketRecommendedStory import mozilla.components.service.pocket.PocketStory.PocketSponsoredStory +import org.mozilla.fenix.gleanplumb.MessagingState import org.mozilla.fenix.home.HomeFragment import org.mozilla.fenix.home.Mode import org.mozilla.fenix.home.pocket.PocketRecommendedStoriesCategory @@ -21,7 +22,6 @@ import org.mozilla.fenix.home.recentsyncedtabs.RecentSyncedTabState import org.mozilla.fenix.home.recenttabs.RecentTab import org.mozilla.fenix.home.recentvisits.RecentlyVisitedItem import org.mozilla.fenix.library.history.PendingDeletionHistory -import org.mozilla.fenix.gleanplumb.MessagingState import org.mozilla.fenix.wallpapers.WallpaperState /** diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt index 4921f7dca..d5590efe7 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/MetricController.kt @@ -36,10 +36,10 @@ import mozilla.telemetry.glean.private.NoExtras import org.mozilla.fenix.BuildConfig import org.mozilla.fenix.GleanMetrics.Addons import org.mozilla.fenix.GleanMetrics.Addresses -import org.mozilla.fenix.GleanMetrics.ContextMenu import org.mozilla.fenix.GleanMetrics.AndroidAutofill import org.mozilla.fenix.GleanMetrics.Awesomebar import org.mozilla.fenix.GleanMetrics.BrowserSearch +import org.mozilla.fenix.GleanMetrics.ContextMenu import org.mozilla.fenix.GleanMetrics.ContextualMenu import org.mozilla.fenix.GleanMetrics.CreditCards import org.mozilla.fenix.GleanMetrics.LoginDialog diff --git a/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt index 3820a7aae..07a9b46d8 100644 --- a/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt @@ -14,13 +14,13 @@ import mozilla.components.browser.state.state.SessionState import mozilla.components.browser.toolbar.BrowserToolbar import mozilla.components.concept.engine.manifest.WebAppManifestParser import mozilla.components.concept.engine.manifest.getOrNull +import mozilla.components.concept.engine.permission.SitePermissions import mozilla.components.feature.contextmenu.ContextMenuCandidate import mozilla.components.feature.customtabs.CustomTabWindowFeature import mozilla.components.feature.pwa.feature.ManifestUpdateFeature import mozilla.components.feature.pwa.feature.WebAppActivityFeature import mozilla.components.feature.pwa.feature.WebAppHideToolbarFeature import mozilla.components.feature.pwa.feature.WebAppSiteControlsFeature -import mozilla.components.concept.engine.permission.SitePermissions import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.base.feature.ViewBoundFeatureWrapper import mozilla.components.support.ktx.android.arch.lifecycle.addObservers diff --git a/app/src/main/java/org/mozilla/fenix/ext/Activity.kt b/app/src/main/java/org/mozilla/fenix/ext/Activity.kt index 17af5619f..00e2004f3 100644 --- a/app/src/main/java/org/mozilla/fenix/ext/Activity.kt +++ b/app/src/main/java/org/mozilla/fenix/ext/Activity.kt @@ -5,16 +5,16 @@ package org.mozilla.fenix.ext import android.app.Activity -import android.view.View -import android.view.WindowManager -import mozilla.components.concept.base.crash.Breadcrumb import android.app.role.RoleManager import android.content.Intent import android.os.Build import android.provider.Settings +import android.view.View +import android.view.WindowManager import androidx.annotation.DrawableRes import androidx.appcompat.app.AppCompatActivity import androidx.core.os.bundleOf +import mozilla.components.concept.base.crash.Breadcrumb import mozilla.components.concept.engine.EngineSession import org.mozilla.fenix.BrowserDirection import org.mozilla.fenix.HomeActivity diff --git a/app/src/main/java/org/mozilla/fenix/gleanplumb/CustomAttributeProvider.kt b/app/src/main/java/org/mozilla/fenix/gleanplumb/CustomAttributeProvider.kt index c0a3d697d..d86824032 100644 --- a/app/src/main/java/org/mozilla/fenix/gleanplumb/CustomAttributeProvider.kt +++ b/app/src/main/java/org/mozilla/fenix/gleanplumb/CustomAttributeProvider.kt @@ -9,8 +9,8 @@ import org.json.JSONObject import org.mozilla.fenix.ext.settings import org.mozilla.fenix.utils.BrowsersCache import java.text.SimpleDateFormat -import java.util.Locale import java.util.Calendar +import java.util.Locale /** * Custom attributes that the messaging framework will use to evaluate if message is eligible diff --git a/app/src/main/java/org/mozilla/fenix/home/intent/CrashReporterIntentProcessor.kt b/app/src/main/java/org/mozilla/fenix/home/intent/CrashReporterIntentProcessor.kt index f698d24f5..06dc2348a 100644 --- a/app/src/main/java/org/mozilla/fenix/home/intent/CrashReporterIntentProcessor.kt +++ b/app/src/main/java/org/mozilla/fenix/home/intent/CrashReporterIntentProcessor.kt @@ -9,9 +9,9 @@ import android.util.Log import androidx.navigation.NavController import mozilla.components.lib.crash.Crash import mozilla.components.lib.crash.Crash.NativeCodeCrash +import mozilla.components.lib.crash.CrashReporter import org.mozilla.fenix.components.AppStore import org.mozilla.fenix.components.appstate.AppAction -import mozilla.components.lib.crash.CrashReporter /** * Process the [Intent] from [CrashReporter] through which the app is informed about diff --git a/app/src/main/java/org/mozilla/fenix/library/LibraryPageFragment.kt b/app/src/main/java/org/mozilla/fenix/library/LibraryPageFragment.kt index 1756bdd0e..34d976c60 100644 --- a/app/src/main/java/org/mozilla/fenix/library/LibraryPageFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/LibraryPageFragment.kt @@ -6,8 +6,8 @@ package org.mozilla.fenix.library import androidx.appcompat.widget.Toolbar import androidx.fragment.app.Fragment -import mozilla.components.support.ktx.android.content.getColorFromAttr import androidx.navigation.fragment.findNavController +import mozilla.components.support.ktx.android.content.getColorFromAttr import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R import org.mozilla.fenix.browser.browsingmode.BrowsingMode diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkNodeViewHolder.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkNodeViewHolder.kt index e071ae6f4..265aaa981 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkNodeViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkNodeViewHolder.kt @@ -12,11 +12,11 @@ import kotlinx.coroutines.launch import mozilla.components.concept.storage.BookmarkNode import mozilla.components.concept.storage.BookmarkNodeType import org.mozilla.fenix.R -import org.mozilla.fenix.ext.removeAndDisable -import org.mozilla.fenix.ext.hideAndDisable -import org.mozilla.fenix.ext.showAndEnable import org.mozilla.fenix.ext.components +import org.mozilla.fenix.ext.hideAndDisable import org.mozilla.fenix.ext.loadIntoView +import org.mozilla.fenix.ext.removeAndDisable +import org.mozilla.fenix.ext.showAndEnable import org.mozilla.fenix.library.LibrarySiteItemView import org.mozilla.fenix.library.bookmarks.BookmarkFragmentState import org.mozilla.fenix.library.bookmarks.BookmarkItemMenu diff --git a/app/src/main/java/org/mozilla/fenix/library/downloads/DownloadFragment.kt b/app/src/main/java/org/mozilla/fenix/library/downloads/DownloadFragment.kt index 8509c67af..c924b1325 100644 --- a/app/src/main/java/org/mozilla/fenix/library/downloads/DownloadFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/downloads/DownloadFragment.kt @@ -19,8 +19,8 @@ import androidx.lifecycle.Lifecycle import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.MainScope -import mozilla.components.browser.state.state.BrowserState import kotlinx.coroutines.launch +import mozilla.components.browser.state.state.BrowserState import mozilla.components.browser.state.state.content.DownloadState import mozilla.components.feature.downloads.AbstractFetchDownloadService import mozilla.components.lib.state.ext.consumeFrom @@ -32,10 +32,10 @@ import org.mozilla.fenix.components.StoreProvider import org.mozilla.fenix.databinding.FragmentDownloadsBinding import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.filterNotExistsOnDisk +import org.mozilla.fenix.ext.getRootView import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.setTextColor import org.mozilla.fenix.ext.showToolbar -import org.mozilla.fenix.ext.getRootView import org.mozilla.fenix.library.LibraryPageFragment import org.mozilla.fenix.utils.allowUndo diff --git a/app/src/main/java/org/mozilla/fenix/library/downloads/viewholders/DownloadsListItemViewHolder.kt b/app/src/main/java/org/mozilla/fenix/library/downloads/viewholders/DownloadsListItemViewHolder.kt index 90e50f58a..789af3948 100644 --- a/app/src/main/java/org/mozilla/fenix/library/downloads/viewholders/DownloadsListItemViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/library/downloads/viewholders/DownloadsListItemViewHolder.kt @@ -10,14 +10,14 @@ import mozilla.components.feature.downloads.toMegabyteOrKilobyteString import org.mozilla.fenix.R import org.mozilla.fenix.databinding.DownloadListItemBinding import org.mozilla.fenix.databinding.LibrarySiteItemBinding -import org.mozilla.fenix.selection.SelectionHolder -import org.mozilla.fenix.library.downloads.DownloadInteractor -import org.mozilla.fenix.library.downloads.DownloadItem import org.mozilla.fenix.ext.getIcon import org.mozilla.fenix.ext.hideAndDisable import org.mozilla.fenix.ext.showAndEnable import org.mozilla.fenix.library.downloads.DownloadFragmentState +import org.mozilla.fenix.library.downloads.DownloadInteractor +import org.mozilla.fenix.library.downloads.DownloadItem import org.mozilla.fenix.library.downloads.DownloadItemMenu +import org.mozilla.fenix.selection.SelectionHolder class DownloadsListItemViewHolder( view: View, diff --git a/app/src/main/java/org/mozilla/fenix/library/history/HistoryAdapter.kt b/app/src/main/java/org/mozilla/fenix/library/history/HistoryAdapter.kt index bce5da93c..39f3f6a17 100644 --- a/app/src/main/java/org/mozilla/fenix/library/history/HistoryAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/library/history/HistoryAdapter.kt @@ -8,8 +8,8 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.paging.PagingDataAdapter import androidx.recyclerview.widget.DiffUtil -import org.mozilla.fenix.selection.SelectionHolder import org.mozilla.fenix.library.history.viewholders.HistoryListItemViewHolder +import org.mozilla.fenix.selection.SelectionHolder /** * Adapter for the list of visited pages, that uses Paging 3 versions of the Paging library. diff --git a/app/src/main/java/org/mozilla/fenix/library/historymetadata/HistoryMetadataGroupFragment.kt b/app/src/main/java/org/mozilla/fenix/library/historymetadata/HistoryMetadataGroupFragment.kt index 637df1314..2d61d1cae 100644 --- a/app/src/main/java/org/mozilla/fenix/library/historymetadata/HistoryMetadataGroupFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/historymetadata/HistoryMetadataGroupFragment.kt @@ -33,12 +33,12 @@ import org.mozilla.fenix.addons.showSnackBar import org.mozilla.fenix.browser.browsingmode.BrowsingMode import org.mozilla.fenix.components.StoreProvider import org.mozilla.fenix.databinding.FragmentHistoryMetadataGroupBinding +import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.nav import org.mozilla.fenix.ext.requireComponents +import org.mozilla.fenix.ext.runIfFragmentIsAttached import org.mozilla.fenix.ext.setTextColor import org.mozilla.fenix.ext.showToolbar -import org.mozilla.fenix.ext.components -import org.mozilla.fenix.ext.runIfFragmentIsAttached import org.mozilla.fenix.ext.toShortUrl import org.mozilla.fenix.library.LibraryPageFragment import org.mozilla.fenix.library.history.History diff --git a/app/src/main/java/org/mozilla/fenix/library/historymetadata/controller/HistoryMetadataGroupController.kt b/app/src/main/java/org/mozilla/fenix/library/historymetadata/controller/HistoryMetadataGroupController.kt index 17a757e4c..0351c199a 100644 --- a/app/src/main/java/org/mozilla/fenix/library/historymetadata/controller/HistoryMetadataGroupController.kt +++ b/app/src/main/java/org/mozilla/fenix/library/historymetadata/controller/HistoryMetadataGroupController.kt @@ -14,11 +14,11 @@ import mozilla.components.browser.state.store.BrowserStore import mozilla.components.browser.storage.sync.PlacesHistoryStorage import mozilla.components.concept.engine.prompt.ShareData import mozilla.components.feature.tabs.TabsUseCases +import mozilla.components.service.glean.private.NoExtras import org.mozilla.fenix.R import org.mozilla.fenix.components.AppStore import org.mozilla.fenix.components.appstate.AppAction import org.mozilla.fenix.ext.components -import mozilla.components.service.glean.private.NoExtras import org.mozilla.fenix.library.history.History import org.mozilla.fenix.library.history.toPendingDeletionHistory import org.mozilla.fenix.library.historymetadata.HistoryMetadataGroupFragment.DeleteAllConfirmationDialogFragment diff --git a/app/src/main/java/org/mozilla/fenix/onboarding/DefaultBrowserNotificationWorker.kt b/app/src/main/java/org/mozilla/fenix/onboarding/DefaultBrowserNotificationWorker.kt index 8b1d8cc9a..05f693454 100644 --- a/app/src/main/java/org/mozilla/fenix/onboarding/DefaultBrowserNotificationWorker.kt +++ b/app/src/main/java/org/mozilla/fenix/onboarding/DefaultBrowserNotificationWorker.kt @@ -19,13 +19,13 @@ import androidx.work.OneTimeWorkRequest import androidx.work.WorkManager import androidx.work.Worker import androidx.work.WorkerParameters -import java.util.concurrent.TimeUnit import mozilla.components.support.base.ids.SharedIdsHelper import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R import org.mozilla.fenix.ext.settings import org.mozilla.fenix.utils.IntentUtils import org.mozilla.fenix.utils.Settings +import java.util.concurrent.TimeUnit class DefaultBrowserNotificationWorker( context: Context, diff --git a/app/src/main/java/org/mozilla/fenix/perf/ProfilerReusableComposable.kt b/app/src/main/java/org/mozilla/fenix/perf/ProfilerReusableComposable.kt index 3a2ec0b1b..c62d5b21e 100644 --- a/app/src/main/java/org/mozilla/fenix/perf/ProfilerReusableComposable.kt +++ b/app/src/main/java/org/mozilla/fenix/perf/ProfilerReusableComposable.kt @@ -12,7 +12,6 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding - import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.Card import androidx.compose.material.CircularProgressIndicator diff --git a/app/src/main/java/org/mozilla/fenix/perf/ProfilerStartDialogFragment.kt b/app/src/main/java/org/mozilla/fenix/perf/ProfilerStartDialogFragment.kt index b54558bd4..686a78362 100644 --- a/app/src/main/java/org/mozilla/fenix/perf/ProfilerStartDialogFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/perf/ProfilerStartDialogFragment.kt @@ -37,7 +37,6 @@ import kotlinx.coroutines.MainScope import kotlinx.coroutines.cancel import kotlinx.coroutines.delay import kotlinx.coroutines.launch - import mozilla.components.concept.base.profiler.Profiler import org.mozilla.fenix.R import org.mozilla.fenix.ext.components diff --git a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt index a0ebfa39d..efb867854 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt @@ -49,9 +49,9 @@ import org.mozilla.fenix.ext.application import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.getPreferenceKey import org.mozilla.fenix.ext.navigateToNotificationsSettings +import org.mozilla.fenix.ext.openSetDefaultBrowserOption import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.settings -import org.mozilla.fenix.ext.openSetDefaultBrowserOption import org.mozilla.fenix.ext.showToolbar import org.mozilla.fenix.nimbus.FxNimbus import org.mozilla.fenix.perf.ProfilerViewModel diff --git a/app/src/main/java/org/mozilla/fenix/settings/SyncDebugFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/SyncDebugFragment.kt index 1dbde6eab..615c53b9a 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SyncDebugFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SyncDebugFragment.kt @@ -9,11 +9,11 @@ import androidx.preference.EditTextPreference import androidx.preference.Preference import androidx.preference.Preference.OnPreferenceClickListener import androidx.preference.PreferenceFragmentCompat -import kotlin.system.exitProcess import mozilla.components.support.base.log.logger.Logger import org.mozilla.fenix.R import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.showToolbar +import kotlin.system.exitProcess /** * Lets the user customize Private browsing options. diff --git a/app/src/main/java/org/mozilla/fenix/settings/TextPercentageSeekBarPreference.kt b/app/src/main/java/org/mozilla/fenix/settings/TextPercentageSeekBarPreference.kt index 58db2a041..5beb96143 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/TextPercentageSeekBarPreference.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/TextPercentageSeekBarPreference.kt @@ -37,7 +37,6 @@ import androidx.core.view.accessibility.AccessibilityNodeInfoCompat.RangeInfoCom import androidx.preference.Preference import androidx.preference.PreferenceViewHolder import org.mozilla.fenix.R - import java.text.NumberFormat import kotlin.math.PI import kotlin.math.abs diff --git a/app/src/main/java/org/mozilla/fenix/settings/account/SignOutFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/account/SignOutFragment.kt index 714e437ff..35757878b 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/account/SignOutFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/account/SignOutFragment.kt @@ -10,11 +10,11 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.FrameLayout -import com.google.android.material.bottomsheet.BottomSheetDialog +import androidx.appcompat.app.AppCompatDialogFragment import androidx.lifecycle.lifecycleScope import androidx.navigation.fragment.findNavController import com.google.android.material.bottomsheet.BottomSheetBehavior -import androidx.appcompat.app.AppCompatDialogFragment +import com.google.android.material.bottomsheet.BottomSheetDialog import kotlinx.coroutines.launch import mozilla.components.service.fxa.manager.FxaAccountManager import org.mozilla.fenix.R diff --git a/app/src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt b/app/src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt index aa838a446..517e73f2d 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/address/view/AddressEditorView.kt @@ -8,11 +8,11 @@ import android.content.Context import android.content.DialogInterface import android.view.View import android.widget.AdapterView +import android.widget.ArrayAdapter import androidx.appcompat.app.AlertDialog import androidx.core.view.isVisible -import mozilla.components.concept.storage.Address -import android.widget.ArrayAdapter import mozilla.components.browser.state.search.RegionState +import mozilla.components.concept.storage.Address import mozilla.components.concept.storage.UpdatableAddressFields import mozilla.components.support.ktx.android.view.hideKeyboard import mozilla.components.support.ktx.android.view.showKeyboard diff --git a/app/src/main/java/org/mozilla/fenix/settings/logins/controller/SavedLoginsStorageController.kt b/app/src/main/java/org/mozilla/fenix/settings/logins/controller/SavedLoginsStorageController.kt index 21e308df3..6d86cb978 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/logins/controller/SavedLoginsStorageController.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/logins/controller/SavedLoginsStorageController.kt @@ -23,8 +23,8 @@ import mozilla.components.service.sync.logins.SyncableLoginsStorage import org.mozilla.fenix.R import org.mozilla.fenix.settings.logins.LoginsAction import org.mozilla.fenix.settings.logins.LoginsFragmentStore -import org.mozilla.fenix.settings.logins.fragment.EditLoginFragmentDirections import org.mozilla.fenix.settings.logins.fragment.AddLoginFragmentDirections +import org.mozilla.fenix.settings.logins.fragment.EditLoginFragmentDirections import org.mozilla.fenix.settings.logins.mapToSavedLogin /** diff --git a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/WebsitePermissionsView.kt b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/WebsitePermissionsView.kt index 3e091413b..90c33b1ba 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/quicksettings/WebsitePermissionsView.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/quicksettings/WebsitePermissionsView.kt @@ -19,12 +19,12 @@ import org.mozilla.fenix.databinding.QuicksettingsPermissionsBinding import org.mozilla.fenix.settings.PhoneFeature import org.mozilla.fenix.settings.PhoneFeature.AUTOPLAY import org.mozilla.fenix.settings.PhoneFeature.CAMERA -import org.mozilla.fenix.settings.PhoneFeature.MICROPHONE +import org.mozilla.fenix.settings.PhoneFeature.CROSS_ORIGIN_STORAGE_ACCESS import org.mozilla.fenix.settings.PhoneFeature.LOCATION +import org.mozilla.fenix.settings.PhoneFeature.MEDIA_KEY_SYSTEM_ACCESS +import org.mozilla.fenix.settings.PhoneFeature.MICROPHONE import org.mozilla.fenix.settings.PhoneFeature.NOTIFICATION import org.mozilla.fenix.settings.PhoneFeature.PERSISTENT_STORAGE -import org.mozilla.fenix.settings.PhoneFeature.MEDIA_KEY_SYSTEM_ACCESS -import org.mozilla.fenix.settings.PhoneFeature.CROSS_ORIGIN_STORAGE_ACCESS import org.mozilla.fenix.settings.quicksettings.WebsitePermissionsView.PermissionViewHolder.SpinnerPermission import org.mozilla.fenix.settings.quicksettings.WebsitePermissionsView.PermissionViewHolder.ToggleablePermission import java.util.EnumMap diff --git a/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsDetailsExceptionsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsDetailsExceptionsFragment.kt index 3659adcc1..c55705e2e 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsDetailsExceptionsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsDetailsExceptionsFragment.kt @@ -25,14 +25,14 @@ import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.showToolbar import org.mozilla.fenix.settings.PhoneFeature +import org.mozilla.fenix.settings.PhoneFeature.AUTOPLAY import org.mozilla.fenix.settings.PhoneFeature.CAMERA +import org.mozilla.fenix.settings.PhoneFeature.CROSS_ORIGIN_STORAGE_ACCESS import org.mozilla.fenix.settings.PhoneFeature.LOCATION +import org.mozilla.fenix.settings.PhoneFeature.MEDIA_KEY_SYSTEM_ACCESS import org.mozilla.fenix.settings.PhoneFeature.MICROPHONE import org.mozilla.fenix.settings.PhoneFeature.NOTIFICATION import org.mozilla.fenix.settings.PhoneFeature.PERSISTENT_STORAGE -import org.mozilla.fenix.settings.PhoneFeature.MEDIA_KEY_SYSTEM_ACCESS -import org.mozilla.fenix.settings.PhoneFeature.AUTOPLAY -import org.mozilla.fenix.settings.PhoneFeature.CROSS_ORIGIN_STORAGE_ACCESS import org.mozilla.fenix.settings.quicksettings.AutoplayValue import org.mozilla.fenix.settings.requirePreference import org.mozilla.fenix.utils.Settings diff --git a/app/src/main/java/org/mozilla/fenix/share/ShareController.kt b/app/src/main/java/org/mozilla/fenix/share/ShareController.kt index 72cd1ff08..f905aac24 100644 --- a/app/src/main/java/org/mozilla/fenix/share/ShareController.kt +++ b/app/src/main/java/org/mozilla/fenix/share/ShareController.kt @@ -20,10 +20,10 @@ import androidx.navigation.NavController import com.google.android.material.snackbar.Snackbar import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.Deferred import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.GlobalScope import kotlinx.coroutines.launch import mozilla.components.concept.engine.prompt.ShareData import mozilla.components.concept.sync.Device diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/NavigationInteractor.kt b/app/src/main/java/org/mozilla/fenix/tabstray/NavigationInteractor.kt index b75e64338..51538d9c0 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/NavigationInteractor.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/NavigationInteractor.kt @@ -12,7 +12,6 @@ import mozilla.components.browser.state.selector.getNormalOrPrivateTabs import mozilla.components.browser.state.selector.normalTabs import mozilla.components.browser.state.state.TabSessionState import mozilla.components.browser.state.store.BrowserStore -import mozilla.components.browser.storage.sync.Tab as SyncTab import mozilla.components.concept.engine.prompt.ShareData import mozilla.components.service.fxa.manager.FxaAccountManager import mozilla.components.service.glean.private.NoExtras @@ -29,6 +28,7 @@ import org.mozilla.fenix.home.HomeFragment import org.mozilla.fenix.tabstray.ext.getTabSessionState import org.mozilla.fenix.tabstray.ext.isActiveDownload import kotlin.coroutines.CoroutineContext +import mozilla.components.browser.storage.sync.Tab as SyncTab /** * An interactor that helps with navigating to different parts of the app from the tabs tray. diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayFragment.kt b/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayFragment.kt index e7846bb29..2730893f8 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayFragment.kt @@ -63,8 +63,8 @@ import org.mozilla.fenix.tabstray.ext.bookmarkMessage import org.mozilla.fenix.tabstray.ext.collectionMessage import org.mozilla.fenix.tabstray.ext.make import org.mozilla.fenix.tabstray.ext.showWithTheme -import org.mozilla.fenix.theme.ThemeManager import org.mozilla.fenix.tabstray.syncedtabs.SyncedTabsIntegration +import org.mozilla.fenix.theme.ThemeManager import org.mozilla.fenix.utils.allowUndo import kotlin.math.max diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayInfoBannerBinding.kt b/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayInfoBannerBinding.kt index b9325ea6d..5e181c530 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayInfoBannerBinding.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayInfoBannerBinding.kt @@ -8,7 +8,6 @@ import android.content.Context import android.view.View.VISIBLE import android.view.ViewGroup import androidx.annotation.VisibleForTesting -import kotlin.math.max import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.collect @@ -22,6 +21,7 @@ import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifChanged import org.mozilla.fenix.R import org.mozilla.fenix.browser.infobanner.InfoBanner import org.mozilla.fenix.utils.Settings +import kotlin.math.max @OptIn(ExperimentalCoroutinesApi::class) class TabsTrayInfoBannerBinding( diff --git a/app/src/main/java/org/mozilla/fenix/utils/ToolbarPopupWindow.kt b/app/src/main/java/org/mozilla/fenix/utils/ToolbarPopupWindow.kt index 83d20509f..839916483 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/ToolbarPopupWindow.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/ToolbarPopupWindow.kt @@ -14,17 +14,17 @@ import android.widget.PopupWindow import androidx.annotation.VisibleForTesting import androidx.core.view.isVisible import com.google.android.material.snackbar.Snackbar +import mozilla.components.browser.state.selector.findCustomTab import mozilla.components.browser.state.selector.selectedTab import mozilla.components.browser.state.store.BrowserStore -import org.mozilla.fenix.R -import org.mozilla.fenix.components.FenixSnackbar -import org.mozilla.fenix.ext.components -import java.lang.ref.WeakReference -import mozilla.components.browser.state.selector.findCustomTab import mozilla.components.service.glean.private.NoExtras import mozilla.components.support.base.log.logger.Logger import org.mozilla.fenix.GleanMetrics.Events +import org.mozilla.fenix.R +import org.mozilla.fenix.components.FenixSnackbar import org.mozilla.fenix.databinding.BrowserToolbarPopupWindowBinding +import org.mozilla.fenix.ext.components +import java.lang.ref.WeakReference object ToolbarPopupWindow { fun show( diff --git a/app/src/test/java/org/mozilla/fenix/IntentReceiverActivityTest.kt b/app/src/test/java/org/mozilla/fenix/IntentReceiverActivityTest.kt index 2bfb65eb8..583c38a32 100644 --- a/app/src/test/java/org/mozilla/fenix/IntentReceiverActivityTest.kt +++ b/app/src/test/java/org/mozilla/fenix/IntentReceiverActivityTest.kt @@ -31,8 +31,8 @@ import org.junit.Before import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith -import org.mozilla.fenix.components.IntentProcessorType import org.mozilla.fenix.GleanMetrics.Events +import org.mozilla.fenix.components.IntentProcessorType import org.mozilla.fenix.components.IntentProcessors import org.mozilla.fenix.customtabs.ExternalAppBrowserActivity import org.mozilla.fenix.ext.components diff --git a/app/src/test/java/org/mozilla/fenix/browser/BaseBrowserFragmentTest.kt b/app/src/test/java/org/mozilla/fenix/browser/BaseBrowserFragmentTest.kt index 4d57f25cd..5961d1d88 100644 --- a/app/src/test/java/org/mozilla/fenix/browser/BaseBrowserFragmentTest.kt +++ b/app/src/test/java/org/mozilla/fenix/browser/BaseBrowserFragmentTest.kt @@ -18,9 +18,9 @@ import mozilla.components.browser.state.state.SessionState import mozilla.components.browser.state.state.content.DownloadState import mozilla.components.browser.state.state.createTab import mozilla.components.concept.engine.EngineView +import mozilla.components.concept.engine.permission.SitePermissions import mozilla.components.feature.contextmenu.ContextMenuCandidate import mozilla.components.feature.session.behavior.EngineViewBrowserToolbarBehavior -import mozilla.components.concept.engine.permission.SitePermissions import mozilla.components.support.test.robolectric.testContext import mozilla.components.ui.widgets.VerticalSwipeRefreshLayout import org.junit.Before diff --git a/app/src/test/java/org/mozilla/fenix/components/AccountAbnormalitiesTest.kt b/app/src/test/java/org/mozilla/fenix/components/AccountAbnormalitiesTest.kt index 475da436c..c37a44dbb 100644 --- a/app/src/test/java/org/mozilla/fenix/components/AccountAbnormalitiesTest.kt +++ b/app/src/test/java/org/mozilla/fenix/components/AccountAbnormalitiesTest.kt @@ -8,7 +8,6 @@ import io.mockk.Called import io.mockk.every import io.mockk.mockk import io.mockk.verify -import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import kotlinx.coroutines.test.runTest import mozilla.components.lib.crash.CrashReporter import mozilla.components.service.fxa.manager.FxaAccountManager @@ -17,8 +16,9 @@ import org.junit.Assert.assertEquals import org.junit.Assert.fail import org.junit.Test import org.junit.runner.RunWith -import org.mozilla.fenix.perf.StrictModeManager +import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.mozilla.fenix.helpers.perf.TestStrictModeManager +import org.mozilla.fenix.perf.StrictModeManager @RunWith(FenixRobolectricTestRunner::class) class AccountAbnormalitiesTest { diff --git a/app/src/test/java/org/mozilla/fenix/components/InflationAwareFeatureTest.kt b/app/src/test/java/org/mozilla/fenix/components/InflationAwareFeatureTest.kt index 77de3fb72..d7779f20d 100644 --- a/app/src/test/java/org/mozilla/fenix/components/InflationAwareFeatureTest.kt +++ b/app/src/test/java/org/mozilla/fenix/components/InflationAwareFeatureTest.kt @@ -9,8 +9,8 @@ import android.view.ViewStub import io.mockk.mockk import io.mockk.spyk import io.mockk.verify -import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.base.feature.LifecycleAwareFeature +import mozilla.components.support.base.feature.UserInteractionHandler import org.junit.Test import java.lang.ref.WeakReference diff --git a/app/src/test/java/org/mozilla/fenix/components/ReviewPromptControllerTest.kt b/app/src/test/java/org/mozilla/fenix/components/ReviewPromptControllerTest.kt index 9b5fc4205..ed89e094d 100644 --- a/app/src/test/java/org/mozilla/fenix/components/ReviewPromptControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/components/ReviewPromptControllerTest.kt @@ -13,9 +13,9 @@ import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertNull import org.junit.Assert.assertTrue -import org.junit.Test import org.junit.Before import org.junit.Rule +import org.junit.Test import org.junit.runner.RunWith import org.mozilla.fenix.GleanMetrics.ReviewPrompt import org.mozilla.fenix.HomeActivity diff --git a/app/src/test/java/org/mozilla/fenix/components/metrics/MetricControllerTest.kt b/app/src/test/java/org/mozilla/fenix/components/metrics/MetricControllerTest.kt index 8dde542c8..3a109be5d 100644 --- a/app/src/test/java/org/mozilla/fenix/components/metrics/MetricControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/components/metrics/MetricControllerTest.kt @@ -6,10 +6,10 @@ package org.mozilla.fenix.components.metrics import io.mockk.MockKAnnotations import io.mockk.every +import io.mockk.impl.annotations.MockK import io.mockk.mockk import io.mockk.verify import io.mockk.verifyAll -import io.mockk.impl.annotations.MockK import mozilla.components.feature.autofill.facts.AutofillFacts import mozilla.components.feature.awesomebar.facts.AwesomeBarFacts import mozilla.components.feature.awesomebar.provider.BookmarksStorageSuggestionProvider diff --git a/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenterTest.kt b/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenterTest.kt index fd39aed40..75efe6a31 100644 --- a/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenterTest.kt +++ b/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenterTest.kt @@ -26,6 +26,7 @@ import mozilla.components.browser.toolbar.BrowserToolbar import mozilla.components.support.test.ext.joinBlocking import mozilla.components.support.test.robolectric.testContext import mozilla.components.support.test.rule.MainCoroutineRule +import mozilla.telemetry.glean.testing.GleanTestRule import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertNotNull @@ -33,13 +34,12 @@ import org.junit.Assert.assertNull import org.junit.Assert.assertTrue import org.junit.Rule import org.junit.Test -import org.mozilla.fenix.R -import org.mozilla.fenix.compose.cfr.CFRPopup -import org.mozilla.fenix.utils.Settings -import mozilla.telemetry.glean.testing.GleanTestRule import org.junit.runner.RunWith import org.mozilla.fenix.GleanMetrics.TrackingProtection +import org.mozilla.fenix.R +import org.mozilla.fenix.compose.cfr.CFRPopup import org.mozilla.fenix.helpers.FenixRobolectricTestRunner +import org.mozilla.fenix.utils.Settings @RunWith(FenixRobolectricTestRunner::class) class BrowserToolbarCFRPresenterTest { diff --git a/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarViewTest.kt b/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarViewTest.kt index b60b023d5..8ad2f6854 100644 --- a/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarViewTest.kt +++ b/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarViewTest.kt @@ -6,20 +6,19 @@ package org.mozilla.fenix.components.toolbar import androidx.coordinatorlayout.widget.CoordinatorLayout import io.mockk.confirmVerified - import io.mockk.every import io.mockk.mockk import io.mockk.spyk import io.mockk.verify -import mozilla.components.support.test.robolectric.testContext -import org.junit.Test -import org.junit.runner.RunWith import mozilla.components.browser.toolbar.BrowserToolbar import mozilla.components.browser.toolbar.behavior.BrowserToolbarBehavior import mozilla.components.lib.publicsuffixlist.PublicSuffixList +import mozilla.components.support.test.robolectric.testContext import org.junit.Assert.assertNotNull import org.junit.Assert.assertNull import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith import org.mozilla.fenix.ext.components import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.mozilla.fenix.utils.Settings diff --git a/app/src/test/java/org/mozilla/fenix/crashes/CrashReporterControllerTest.kt b/app/src/test/java/org/mozilla/fenix/crashes/CrashReporterControllerTest.kt index b0b0fb5e8..9b250a21b 100644 --- a/app/src/test/java/org/mozilla/fenix/crashes/CrashReporterControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/crashes/CrashReporterControllerTest.kt @@ -18,7 +18,6 @@ import org.mozilla.fenix.components.AppStore import org.mozilla.fenix.components.Components import org.mozilla.fenix.components.appstate.AppAction import org.mozilla.fenix.components.appstate.AppState - import org.mozilla.fenix.utils.Settings class CrashReporterControllerTest { diff --git a/app/src/test/java/org/mozilla/fenix/ext/AtomicIntegerTest.kt b/app/src/test/java/org/mozilla/fenix/ext/AtomicIntegerTest.kt index 042211bcc..fc30d9a51 100644 --- a/app/src/test/java/org/mozilla/fenix/ext/AtomicIntegerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/ext/AtomicIntegerTest.kt @@ -4,10 +4,10 @@ package org.mozilla.fenix.ext -import org.junit.Assert.assertEquals import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.runBlocking +import org.junit.Assert.assertEquals import org.junit.Test import java.util.concurrent.atomic.AtomicInteger diff --git a/app/src/test/java/org/mozilla/fenix/ext/DownloadItemKtTest.kt b/app/src/test/java/org/mozilla/fenix/ext/DownloadItemKtTest.kt index be093006f..5801bcb6e 100644 --- a/app/src/test/java/org/mozilla/fenix/ext/DownloadItemKtTest.kt +++ b/app/src/test/java/org/mozilla/fenix/ext/DownloadItemKtTest.kt @@ -5,9 +5,8 @@ package org.mozilla.fenix.ext import mozilla.components.browser.state.state.content.DownloadState -import org.junit.Test - import org.junit.Assert.assertEquals +import org.junit.Test import org.mozilla.fenix.R import org.mozilla.fenix.library.downloads.DownloadItem diff --git a/app/src/test/java/org/mozilla/fenix/ext/ImageButtonTest.kt b/app/src/test/java/org/mozilla/fenix/ext/ImageButtonTest.kt index 71ee9605e..d29f27f9d 100644 --- a/app/src/test/java/org/mozilla/fenix/ext/ImageButtonTest.kt +++ b/app/src/test/java/org/mozilla/fenix/ext/ImageButtonTest.kt @@ -5,14 +5,14 @@ package org.mozilla.fenix.ext import android.view.View +import android.widget.ImageButton import mozilla.components.support.test.robolectric.testContext -import org.junit.Test +import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse import org.junit.Assert.assertTrue -import org.junit.Assert.assertEquals +import org.junit.Test import org.junit.runner.RunWith import org.mozilla.fenix.helpers.FenixRobolectricTestRunner -import android.widget.ImageButton @RunWith(FenixRobolectricTestRunner::class) class ImageButtonTest { diff --git a/app/src/test/java/org/mozilla/fenix/home/DefaultSessionControlControllerTest.kt b/app/src/test/java/org/mozilla/fenix/home/DefaultSessionControlControllerTest.kt index 7a70c9191..cfd43fd8c 100644 --- a/app/src/test/java/org/mozilla/fenix/home/DefaultSessionControlControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/home/DefaultSessionControlControllerTest.kt @@ -51,8 +51,8 @@ import org.mozilla.fenix.GleanMetrics.Collections import org.mozilla.fenix.GleanMetrics.Events import org.mozilla.fenix.GleanMetrics.HomeScreen import org.mozilla.fenix.GleanMetrics.Pings -import org.mozilla.fenix.GleanMetrics.RecentTabs import org.mozilla.fenix.GleanMetrics.RecentBookmarks +import org.mozilla.fenix.GleanMetrics.RecentTabs import org.mozilla.fenix.GleanMetrics.TopSites import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R diff --git a/app/src/test/java/org/mozilla/fenix/home/PrivateBrowsingButtonViewTest.kt b/app/src/test/java/org/mozilla/fenix/home/PrivateBrowsingButtonViewTest.kt index 431b0c77e..34e0fd0f8 100644 --- a/app/src/test/java/org/mozilla/fenix/home/PrivateBrowsingButtonViewTest.kt +++ b/app/src/test/java/org/mozilla/fenix/home/PrivateBrowsingButtonViewTest.kt @@ -11,9 +11,9 @@ import io.mockk.verify import org.junit.Assert.assertEquals import org.junit.Before import org.junit.Test +import org.mozilla.fenix.R import org.mozilla.fenix.browser.browsingmode.BrowsingMode import org.mozilla.fenix.browser.browsingmode.BrowsingModeManager -import org.mozilla.fenix.R class PrivateBrowsingButtonViewTest { diff --git a/app/src/test/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingToolbarPositionPickerViewHolderTest.kt b/app/src/test/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingToolbarPositionPickerViewHolderTest.kt index 612f6e3be..4613000a1 100644 --- a/app/src/test/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingToolbarPositionPickerViewHolderTest.kt +++ b/app/src/test/java/org/mozilla/fenix/home/sessioncontrol/viewholders/onboarding/OnboardingToolbarPositionPickerViewHolderTest.kt @@ -18,9 +18,9 @@ import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith import org.mozilla.fenix.GleanMetrics.Onboarding -import org.mozilla.fenix.ext.components import org.mozilla.fenix.components.toolbar.ToolbarPosition import org.mozilla.fenix.databinding.OnboardingToolbarPositionPickerBinding +import org.mozilla.fenix.ext.components import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.mozilla.fenix.utils.Settings diff --git a/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapterTest.kt b/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapterTest.kt index 14acf5929..80fd47b1c 100644 --- a/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapterTest.kt +++ b/app/src/test/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapterTest.kt @@ -9,8 +9,8 @@ import io.mockk.spyk import io.mockk.verifyOrder import mozilla.components.concept.storage.BookmarkNode import org.junit.Assert.assertEquals -import org.junit.Assert.assertTrue import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test import org.junit.runner.RunWith diff --git a/app/src/test/java/org/mozilla/fenix/library/history/HistoryInteractorTest.kt b/app/src/test/java/org/mozilla/fenix/library/history/HistoryInteractorTest.kt index 9ee32319f..58790ee73 100644 --- a/app/src/test/java/org/mozilla/fenix/library/history/HistoryInteractorTest.kt +++ b/app/src/test/java/org/mozilla/fenix/library/history/HistoryInteractorTest.kt @@ -15,8 +15,8 @@ import org.junit.Assert.assertTrue import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith -import org.mozilla.fenix.GleanMetrics.History as GleanHistory import org.mozilla.fenix.helpers.FenixRobolectricTestRunner +import org.mozilla.fenix.GleanMetrics.History as GleanHistory @RunWith(FenixRobolectricTestRunner::class) // For GleanTestRule class HistoryInteractorTest { diff --git a/app/src/test/java/org/mozilla/fenix/library/recentlyclosed/DefaultRecentlyClosedControllerTest.kt b/app/src/test/java/org/mozilla/fenix/library/recentlyclosed/DefaultRecentlyClosedControllerTest.kt index 5511fd441..57caa895d 100644 --- a/app/src/test/java/org/mozilla/fenix/library/recentlyclosed/DefaultRecentlyClosedControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/library/recentlyclosed/DefaultRecentlyClosedControllerTest.kt @@ -6,13 +6,13 @@ package org.mozilla.fenix.library.recentlyclosed import androidx.navigation.NavController import androidx.navigation.NavOptions -import io.mockk.mockk -import io.mockk.coEvery -import io.mockk.every -import io.mockk.verify -import io.mockk.coVerify -import io.mockk.just import io.mockk.Runs +import io.mockk.coEvery +import io.mockk.coVerify +import io.mockk.every +import io.mockk.just +import io.mockk.mockk +import io.mockk.verify import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.test.runCurrent diff --git a/app/src/test/java/org/mozilla/fenix/settings/DropDownListPreferenceTest.kt b/app/src/test/java/org/mozilla/fenix/settings/DropDownListPreferenceTest.kt index 4f6ba52fe..44892cd37 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/DropDownListPreferenceTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/DropDownListPreferenceTest.kt @@ -3,11 +3,10 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.mozilla.fenix.settings +import androidx.preference.ListPreference import io.mockk.every import io.mockk.mockk import org.junit.Assert.assertEquals - -import androidx.preference.ListPreference import org.junit.Assert.assertNull import org.junit.Before import org.junit.Test diff --git a/app/src/test/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorViewTest.kt b/app/src/test/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorViewTest.kt index 773278804..6545d11d0 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorViewTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/creditcards/CreditCardEditorViewTest.kt @@ -22,9 +22,9 @@ import mozilla.components.support.test.robolectric.testContext import mozilla.components.support.utils.CreditCardNetworkType import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse -import org.junit.Assert.assertTrue import org.junit.Assert.assertNotNull import org.junit.Assert.assertNull +import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test import org.junit.runner.RunWith diff --git a/app/src/test/java/org/mozilla/fenix/settings/quicksettings/AutoplayValueTest.kt b/app/src/test/java/org/mozilla/fenix/settings/quicksettings/AutoplayValueTest.kt index 47f37643b..e76b72e80 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/quicksettings/AutoplayValueTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/quicksettings/AutoplayValueTest.kt @@ -11,12 +11,12 @@ import io.mockk.mockk import mozilla.components.concept.engine.permission.SitePermissions import mozilla.components.concept.engine.permission.SitePermissions.AutoplayStatus import mozilla.components.feature.sitepermissions.SitePermissionsRules -import mozilla.components.feature.sitepermissions.SitePermissionsRules.AutoplayAction import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action +import mozilla.components.feature.sitepermissions.SitePermissionsRules.AutoplayAction import mozilla.components.support.test.robolectric.testContext -import org.junit.Assert.assertTrue -import org.junit.Assert.assertFalse import org.junit.Assert.assertEquals +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test import org.junit.runner.RunWith diff --git a/app/src/test/java/org/mozilla/fenix/settings/quicksettings/WebsitePermissionViewTest.kt b/app/src/test/java/org/mozilla/fenix/settings/quicksettings/WebsitePermissionViewTest.kt index 50c3c7226..48f5b4a39 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/quicksettings/WebsitePermissionViewTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/quicksettings/WebsitePermissionViewTest.kt @@ -8,15 +8,15 @@ import android.widget.FrameLayout import android.widget.TextView import androidx.appcompat.widget.AppCompatSpinner import androidx.core.view.isVisible -import io.mockk.every -import io.mockk.spyk import io.mockk.MockKAnnotations -import io.mockk.verify +import io.mockk.every import io.mockk.impl.annotations.MockK import io.mockk.mockk +import io.mockk.spyk +import io.mockk.verify +import junit.framework.TestCase.assertEquals import junit.framework.TestCase.assertFalse import junit.framework.TestCase.assertTrue -import junit.framework.TestCase.assertEquals import mozilla.components.support.test.robolectric.testContext import org.junit.Before import org.junit.Test diff --git a/app/src/test/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManageExceptionsPhoneFeatureFragmentTest.kt b/app/src/test/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManageExceptionsPhoneFeatureFragmentTest.kt index b927594de..a87c09e40 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManageExceptionsPhoneFeatureFragmentTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManageExceptionsPhoneFeatureFragmentTest.kt @@ -8,21 +8,21 @@ import android.view.LayoutInflater import android.view.View import android.widget.RadioButton import androidx.core.view.isVisible +import io.mockk.MockKAnnotations import io.mockk.every +import io.mockk.impl.annotations.MockK import io.mockk.mockk import io.mockk.spyk import io.mockk.verify -import io.mockk.MockKAnnotations -import io.mockk.impl.annotations.MockK import mozilla.components.concept.engine.permission.SitePermissions import mozilla.components.concept.engine.permission.SitePermissions.AutoplayStatus import mozilla.components.feature.sitepermissions.SitePermissionsRules -import mozilla.components.feature.sitepermissions.SitePermissionsRules.AutoplayAction import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action +import mozilla.components.feature.sitepermissions.SitePermissionsRules.AutoplayAction import mozilla.components.support.test.robolectric.testContext -import org.junit.Assert.assertTrue -import org.junit.Assert.assertFalse import org.junit.Assert.assertEquals +import org.junit.Assert.assertFalse +import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test import org.junit.runner.RunWith diff --git a/app/src/test/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsWifiIntegrationTest.kt b/app/src/test/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsWifiIntegrationTest.kt index f19ad72cd..976b6caff 100644 --- a/app/src/test/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsWifiIntegrationTest.kt +++ b/app/src/test/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsWifiIntegrationTest.kt @@ -5,8 +5,8 @@ package org.mozilla.fenix.settings.sitepermissions import io.mockk.every -import io.mockk.verify import io.mockk.mockk +import io.mockk.verify import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.ALLOWED import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.BLOCKED import org.junit.Before diff --git a/app/src/test/java/org/mozilla/fenix/share/listadapters/AccountDevicesShareAdapterTest.kt b/app/src/test/java/org/mozilla/fenix/share/listadapters/AccountDevicesShareAdapterTest.kt index a82dfe69e..010192c42 100644 --- a/app/src/test/java/org/mozilla/fenix/share/listadapters/AccountDevicesShareAdapterTest.kt +++ b/app/src/test/java/org/mozilla/fenix/share/listadapters/AccountDevicesShareAdapterTest.kt @@ -15,9 +15,9 @@ import mozilla.components.support.test.robolectric.testContext import org.junit.Assert.assertEquals import org.junit.Test import org.junit.runner.RunWith +import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.mozilla.fenix.share.ShareInteractor import org.mozilla.fenix.share.viewholders.AccountDeviceViewHolder -import org.mozilla.fenix.helpers.FenixRobolectricTestRunner @RunWith(FenixRobolectricTestRunner::class) class AccountDevicesShareAdapterTest { diff --git a/app/src/test/java/org/mozilla/fenix/share/listadapters/AppShareAdapterTest.kt b/app/src/test/java/org/mozilla/fenix/share/listadapters/AppShareAdapterTest.kt index 65c25da4c..be765b1bc 100644 --- a/app/src/test/java/org/mozilla/fenix/share/listadapters/AppShareAdapterTest.kt +++ b/app/src/test/java/org/mozilla/fenix/share/listadapters/AppShareAdapterTest.kt @@ -16,9 +16,9 @@ import mozilla.components.support.test.robolectric.testContext import org.junit.Assert.assertEquals import org.junit.Test import org.junit.runner.RunWith +import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.mozilla.fenix.share.ShareInteractor import org.mozilla.fenix.share.viewholders.AppViewHolder -import org.mozilla.fenix.helpers.FenixRobolectricTestRunner @RunWith(FenixRobolectricTestRunner::class) class AppShareAdapterTest { diff --git a/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt b/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt index d5e0fd48c..4df194611 100644 --- a/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt +++ b/app/src/test/java/org/mozilla/fenix/tabhistory/TabHistoryAdapterTest.kt @@ -9,10 +9,10 @@ import android.widget.FrameLayout import androidx.appcompat.view.ContextThemeWrapper import io.mockk.MockKAnnotations import io.mockk.every -import io.mockk.verify -import io.mockk.spyk -import io.mockk.mockk import io.mockk.impl.annotations.MockK +import io.mockk.mockk +import io.mockk.spyk +import io.mockk.verify import mozilla.components.browser.icons.BrowserIcons import mozilla.components.support.test.robolectric.testContext import org.junit.Assert.assertFalse diff --git a/app/src/test/java/org/mozilla/fenix/tabstray/TabsTrayFragmentTest.kt b/app/src/test/java/org/mozilla/fenix/tabstray/TabsTrayFragmentTest.kt index 2bb0d49e8..eae89f88d 100644 --- a/app/src/test/java/org/mozilla/fenix/tabstray/TabsTrayFragmentTest.kt +++ b/app/src/test/java/org/mozilla/fenix/tabstray/TabsTrayFragmentTest.kt @@ -35,9 +35,9 @@ import mozilla.components.service.glean.testing.GleanTestRule import mozilla.components.support.test.robolectric.testContext import org.junit.Assert.assertEquals import org.junit.Assert.assertFalse -import org.junit.Assert.assertSame import org.junit.Assert.assertNotNull import org.junit.Assert.assertNull +import org.junit.Assert.assertSame import org.junit.Before import org.junit.Rule import org.junit.Test diff --git a/app/src/test/java/org/mozilla/fenix/tabstray/browser/AbstractBrowserTabViewHolderTest.kt b/app/src/test/java/org/mozilla/fenix/tabstray/browser/AbstractBrowserTabViewHolderTest.kt index 8d8cfb46d..7b0739579 100644 --- a/app/src/test/java/org/mozilla/fenix/tabstray/browser/AbstractBrowserTabViewHolderTest.kt +++ b/app/src/test/java/org/mozilla/fenix/tabstray/browser/AbstractBrowserTabViewHolderTest.kt @@ -13,25 +13,25 @@ import io.mockk.verify import mozilla.components.browser.state.state.BrowserState import mozilla.components.browser.state.state.MediaSessionState import mozilla.components.browser.state.state.TabSessionState +import mozilla.components.browser.state.state.createTab import mozilla.components.browser.state.store.BrowserStore import mozilla.components.concept.base.images.ImageLoader -import mozilla.components.support.test.robolectric.testContext -import org.junit.Test -import org.junit.runner.RunWith -import org.mozilla.fenix.R -import org.mozilla.fenix.helpers.FenixRobolectricTestRunner -import org.mozilla.fenix.selection.SelectionHolder -import org.mozilla.fenix.tabstray.TabsTrayStore -import mozilla.components.browser.state.state.createTab import mozilla.components.concept.engine.mediasession.MediaSession import mozilla.components.lib.publicsuffixlist.PublicSuffixList +import mozilla.components.support.test.robolectric.testContext import mozilla.telemetry.glean.testing.GleanTestRule import org.junit.Assert.assertEquals import org.junit.Assert.assertNotNull import org.junit.Assert.assertNull import org.junit.Rule +import org.junit.Test +import org.junit.runner.RunWith import org.mozilla.fenix.GleanMetrics.Tab +import org.mozilla.fenix.R import org.mozilla.fenix.ext.components +import org.mozilla.fenix.helpers.FenixRobolectricTestRunner +import org.mozilla.fenix.selection.SelectionHolder +import org.mozilla.fenix.tabstray.TabsTrayStore @RunWith(FenixRobolectricTestRunner::class) class AbstractBrowserTabViewHolderTest { diff --git a/app/src/test/java/org/mozilla/fenix/tabstray/browser/BrowserTabsAdapterTest.kt b/app/src/test/java/org/mozilla/fenix/tabstray/browser/BrowserTabsAdapterTest.kt index 08828d571..2ae860877 100644 --- a/app/src/test/java/org/mozilla/fenix/tabstray/browser/BrowserTabsAdapterTest.kt +++ b/app/src/test/java/org/mozilla/fenix/tabstray/browser/BrowserTabsAdapterTest.kt @@ -10,18 +10,18 @@ import io.mockk.mockk import io.mockk.spyk import io.mockk.verify import mozilla.components.browser.state.state.TabSessionState +import mozilla.components.browser.state.state.createTab +import mozilla.components.browser.state.store.BrowserStore import mozilla.components.browser.tabstray.TabsAdapter.Companion.PAYLOAD_DONT_HIGHLIGHT_SELECTED_ITEM import mozilla.components.browser.tabstray.TabsAdapter.Companion.PAYLOAD_HIGHLIGHT_SELECTED_ITEM import mozilla.components.support.test.robolectric.testContext import org.junit.Test import org.junit.runner.RunWith import org.mozilla.fenix.databinding.TabTrayItemBinding +import org.mozilla.fenix.ext.components import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.mozilla.fenix.selection.SelectionHolder import org.mozilla.fenix.tabstray.TabsTrayStore -import mozilla.components.browser.state.state.createTab -import mozilla.components.browser.state.store.BrowserStore -import org.mozilla.fenix.ext.components @RunWith(FenixRobolectricTestRunner::class) class BrowserTabsAdapterTest { diff --git a/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackerBucketsTest.kt b/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackerBucketsTest.kt index 95b3eec14..916f84fa7 100644 --- a/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackerBucketsTest.kt +++ b/app/src/test/java/org/mozilla/fenix/trackingprotection/TrackerBucketsTest.kt @@ -4,10 +4,10 @@ package org.mozilla.fenix.trackingprotection -import mozilla.components.concept.engine.EngineSession.TrackingProtectionPolicy.TrackingCategory.SCRIPTS_AND_SUB_RESOURCES import mozilla.components.concept.engine.EngineSession.TrackingProtectionPolicy.TrackingCategory.CRYPTOMINING import mozilla.components.concept.engine.EngineSession.TrackingProtectionPolicy.TrackingCategory.FINGERPRINTING import mozilla.components.concept.engine.EngineSession.TrackingProtectionPolicy.TrackingCategory.MOZILLA_SOCIAL +import mozilla.components.concept.engine.EngineSession.TrackingProtectionPolicy.TrackingCategory.SCRIPTS_AND_SUB_RESOURCES import mozilla.components.concept.engine.content.blocking.TrackerLog import org.junit.Assert.assertEquals import org.junit.Assert.assertTrue diff --git a/app/src/test/java/org/mozilla/fenix/utils/BrowsersCacheTest.kt b/app/src/test/java/org/mozilla/fenix/utils/BrowsersCacheTest.kt index 3c7946c69..2691ac356 100644 --- a/app/src/test/java/org/mozilla/fenix/utils/BrowsersCacheTest.kt +++ b/app/src/test/java/org/mozilla/fenix/utils/BrowsersCacheTest.kt @@ -10,7 +10,6 @@ import android.content.pm.ActivityInfo import android.content.pm.PackageInfo import android.content.pm.ResolveInfo import android.net.Uri -import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import mozilla.components.support.test.robolectric.testContext import mozilla.components.support.utils.Browsers import org.junit.Assert.assertEquals @@ -18,6 +17,7 @@ import org.junit.Assert.assertNotNull import org.junit.Assert.assertNull import org.junit.Test import org.junit.runner.RunWith +import org.mozilla.fenix.helpers.FenixRobolectricTestRunner import org.robolectric.Shadows.shadowOf @RunWith(FenixRobolectricTestRunner::class) diff --git a/app/src/test/java/org/mozilla/fenix/wifi/WifiConnectionMonitorTest.kt b/app/src/test/java/org/mozilla/fenix/wifi/WifiConnectionMonitorTest.kt index 3c67a3e08..7ac567d4b 100644 --- a/app/src/test/java/org/mozilla/fenix/wifi/WifiConnectionMonitorTest.kt +++ b/app/src/test/java/org/mozilla/fenix/wifi/WifiConnectionMonitorTest.kt @@ -10,9 +10,9 @@ import io.mockk.mockk import io.mockk.spyk import io.mockk.verify import mozilla.components.support.test.robolectric.testContext -import org.junit.Assert.assertTrue import org.junit.Assert.assertFalse import org.junit.Assert.assertNull +import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test import org.junit.runner.RunWith diff --git a/buildSrc/src/main/java/org/mozilla/fenix/gradle/tasks/ApkSizeTask.kt b/buildSrc/src/main/java/org/mozilla/fenix/gradle/tasks/ApkSizeTask.kt index 409bdf62f..7086625df 100644 --- a/buildSrc/src/main/java/org/mozilla/fenix/gradle/tasks/ApkSizeTask.kt +++ b/buildSrc/src/main/java/org/mozilla/fenix/gradle/tasks/ApkSizeTask.kt @@ -11,7 +11,6 @@ import org.json.JSONArray import org.json.JSONException import org.json.JSONObject import java.io.File -import java.io.IOException import java.nio.file.Files import java.nio.file.Paths diff --git a/docs/architectureexample/ContactsController.kt b/docs/architectureexample/ContactsController.kt index cfa4d691e..e9274ce73 100644 --- a/docs/architectureexample/ContactsController.kt +++ b/docs/architectureexample/ContactsController.kt @@ -6,7 +6,7 @@ // /docs/architecture-overview.md class ContactsController( private val store: ContactsStore, - private val navController: NavController + private val navController: NavController, ) { fun contactRenamed(contactId: Int, newName: String) { @@ -17,7 +17,7 @@ class ContactsController( // This is how we pass arguments between fragments using Google's navigation library. // See https://developer.android.com/guide/navigation/navigation-getting-started val directions = ContactsFragment.actionContactsFragmentToChatFragment( - contactId = contactId + contactId = contactId, ) navController.nav(R.id.contactFragment, directions) } diff --git a/docs/architectureexample/ContactsInteractor.kt b/docs/architectureexample/ContactsInteractor.kt index 6f1493a55..02bc65c94 100644 --- a/docs/architectureexample/ContactsInteractor.kt +++ b/docs/architectureexample/ContactsInteractor.kt @@ -6,7 +6,7 @@ // /docs/architecture-overview.md class ContactsInteractor( private val contactsController: ContactsController, - private val themeController: ThemeController + private val themeController: ThemeController, ) { fun onThemeSelected(theme: Theme) { diff --git a/docs/architectureexample/ContactsStore.kt b/docs/architectureexample/ContactsStore.kt index 807ab8fca..7231d7b05 100644 --- a/docs/architectureexample/ContactsStore.kt +++ b/docs/architectureexample/ContactsStore.kt @@ -5,7 +5,7 @@ // This is example code for the 'Simplified Example' section of // /docs/architecture-overview.md class ContactsStore( - private val initialState: ContactsState + private val initialState: ContactsState, ) : Store>(initialState, ::reducer) sealed class ContactsAction { @@ -15,13 +15,13 @@ sealed class ContactsAction { data class ContactsState( val contacts: List, - val theme: Theme + val theme: Theme, ) data class Contact( val name: String, val id: Int, - val imageUrl: Uri + val imageUrl: Uri, ) enum class Theme { diff --git a/docs/architectureexample/ContactsView.kt b/docs/architectureexample/ContactsView.kt index a3af84372..a6a7dc872 100644 --- a/docs/architectureexample/ContactsView.kt +++ b/docs/architectureexample/ContactsView.kt @@ -6,7 +6,7 @@ // /docs/architecture-overview.md class ContactsView( private val container: ViewGroup, - private val interactor: ContactsInteractor + private val interactor: ContactsInteractor, ) { val view: View = LayoutInflater.from(container.context) diff --git a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/CustomRulesetProvider.kt b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/CustomRulesetProvider.kt index 261a92591..c2955fb9c 100644 --- a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/CustomRulesetProvider.kt +++ b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/CustomRulesetProvider.kt @@ -8,8 +8,8 @@ import io.gitlab.arturbosch.detekt.api.Config import io.gitlab.arturbosch.detekt.api.RuleSet import io.gitlab.arturbosch.detekt.api.RuleSetProvider import org.mozilla.fenix.detektrules.perf.MozillaBannedPropertyAccess -import org.mozilla.fenix.detektrules.perf.MozillaStrictModeSuppression import org.mozilla.fenix.detektrules.perf.MozillaRunBlockingCheck +import org.mozilla.fenix.detektrules.perf.MozillaStrictModeSuppression import org.mozilla.fenix.detektrules.perf.MozillaUseLazyMonitored class CustomRulesetProvider : RuleSetProvider { @@ -23,6 +23,6 @@ class CustomRulesetProvider : RuleSetProvider { MozillaCorrectUnitTestRunner(config), MozillaRunBlockingCheck(config), MozillaUseLazyMonitored(config), - ) + ), ) } diff --git a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/MozillaCorrectUnitTestRunner.kt b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/MozillaCorrectUnitTestRunner.kt index 25834076b..89735ae87 100644 --- a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/MozillaCorrectUnitTestRunner.kt +++ b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/MozillaCorrectUnitTestRunner.kt @@ -17,7 +17,7 @@ import org.jetbrains.kotlin.psi.KtAnnotationEntry private val BANNED_TEST_RUNNERS = setOf( // When updating this list, also update the violation message. "AndroidJUnit4", - "RobolectricTestRunner" + "RobolectricTestRunner", ) // There is a change to how we output violations in a different PR so the formatting for message @@ -48,13 +48,13 @@ class MozillaCorrectUnitTestRunner(config: Config) : Rule(config) { MozillaCorrectUnitTestRunner::class.simpleName!!, Severity.Defect, "Verifies we're using the correct Robolectric unit test runner", - Debt.FIVE_MINS + Debt.FIVE_MINS, ) override val filters: PathFilters? get() = PathFilters.of( includes = listOf("**/test/**"), // unit tests only. - excludes = emptyList() + excludes = emptyList(), ) override fun visitAnnotationEntry(annotationEntry: KtAnnotationEntry) { diff --git a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaBannedPropertyAccess.kt b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaBannedPropertyAccess.kt index f8b2055e8..dcd467cf4 100644 --- a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaBannedPropertyAccess.kt +++ b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaBannedPropertyAccess.kt @@ -18,7 +18,7 @@ class MozillaBannedPropertyAccess(config: Config = Config.empty) : Rule(config) "MozillaBannedPropertyAccess", Severity.Defect, DESCR, - Debt.FIVE_MINS + Debt.FIVE_MINS, ) private val banned by lazy { @@ -43,7 +43,7 @@ class MozillaBannedPropertyAccess(config: Config = Config.empty) : Rule(config) CodeSmell( issue, Entity.from(expression), - "Using $possiblyBannedPropertyAccess is not allowed because accessing property $it is against Mozilla policy. See 'mozilla-detekt-rules' stanza in 'config/detekt.yml' for more information.\n" + "Using $possiblyBannedPropertyAccess is not allowed because accessing property $it is against Mozilla policy. See 'mozilla-detekt-rules' stanza in 'config/detekt.yml' for more information.\n", ) }.forEach { report(it) } } diff --git a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaRunBlockingCheck.kt b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaRunBlockingCheck.kt index 4b2ffffa9..8ff3f7bb5 100644 --- a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaRunBlockingCheck.kt +++ b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaRunBlockingCheck.kt @@ -8,7 +8,7 @@ import io.gitlab.arturbosch.detekt.api.* import org.jetbrains.kotlin.psi.* private const val VIOLATION_MSG = "Please use `org.mozilla.fenix.perf.runBlockingImplement` instead" + - "because it allows us to monitor the code for performance regressions." + "because it allows us to monitor the code for performance regressions." /** * A check to prevent us from working around mechanisms we implemented in @@ -21,8 +21,8 @@ class MozillaRunBlockingCheck(config: Config) : Rule(config) { "MozillaRunBlockingCheck", Severity.Performance, "Prevents us from working around mechanisms we implemented to count how many " + - "runBlocking are used", - Debt.TWENTY_MINS + "runBlocking are used", + Debt.TWENTY_MINS, ) override fun visitImportDirective(importDirective: KtImportDirective) { diff --git a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaStrictModeSuppression.kt b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaStrictModeSuppression.kt index a10d678c1..cc07bcde7 100644 --- a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaStrictModeSuppression.kt +++ b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaStrictModeSuppression.kt @@ -25,7 +25,7 @@ class MozillaStrictModeSuppression(config: Config) : Rule(config) { "MozillaStrictModeSuppression", Severity.Performance, "Prevents us from working around mechanisms we implemented to prevent suppressing StrictMode", - Debt.TEN_MINS + Debt.TEN_MINS, ) override fun visitImportDirective(importDirective: KtImportDirective) { @@ -55,9 +55,10 @@ class MozillaStrictModeSuppression(config: Config) : Rule(config) { if (receiver == "StrictMode") { val violationMsg = when (calledMethod) { "setThreadPolicy" -> VIOLATION_MSG - "setVmPolicy" -> "NOT YET IMPLEMENTED: please consult the perf team about implementing" + - "`StrictModeManager.resetAfter`: we want to understand the performance implications " + - "of suppressing setVmPolicy before allowing it." + "setVmPolicy" -> + "NOT YET IMPLEMENTED: please consult the perf team about implementing" + + "`StrictModeManager.resetAfter`: we want to understand the performance implications " + + "of suppressing setVmPolicy before allowing it." else -> null } diff --git a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaUseLazyMonitored.kt b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaUseLazyMonitored.kt index e700a6388..9239ac2d2 100644 --- a/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaUseLazyMonitored.kt +++ b/mozilla-detekt-rules/src/main/java/org/mozilla/fenix/detektrules/perf/MozillaUseLazyMonitored.kt @@ -31,12 +31,12 @@ open class MozillaUseLazyMonitored(config: Config) : Rule(config) { this::class.java.simpleName, Severity.Performance, "Prevents use of lazy in component groups files where lazyMonitored should be used instead", - Debt.FIVE_MINS + Debt.FIVE_MINS, ) override val filters = PathFilters.of( includes = COMPONENT_GROUP_FILES.map { "**$it" }, - excludes = emptyList() + excludes = emptyList(), ) override fun visitPropertyDelegate(delegate: KtPropertyDelegate) { @@ -79,7 +79,7 @@ open class MozillaUseLazyMonitored(config: Config) : Rule(config) { "PerformanceComponent", "Push", "Services", - "UseCases" + "UseCases", ).map { "app/src/main/java/org/mozilla/fenix/components/$it.kt" } } } diff --git a/mozilla-detekt-rules/src/test/java/org/mozilla/fenix/detektrules/perf/MozillaBannedPropertyAccessTest.kt b/mozilla-detekt-rules/src/test/java/org/mozilla/fenix/detektrules/perf/MozillaBannedPropertyAccessTest.kt index daa96a8a1..fde95cb59 100644 --- a/mozilla-detekt-rules/src/test/java/org/mozilla/fenix/detektrules/perf/MozillaBannedPropertyAccessTest.kt +++ b/mozilla-detekt-rules/src/test/java/org/mozilla/fenix/detektrules/perf/MozillaBannedPropertyAccessTest.kt @@ -27,14 +27,13 @@ internal class MozillaBannedPropertyAccessTest { @BeforeEach fun setup() { config = yamlConfig("/config.yml") - } @Test internal fun `non compliant property access should warn`() { val findings = MozillaBannedPropertyAccess(config).lint( - NONCOMPLIANT_ACCESS.trimIndent() + NONCOMPLIANT_ACCESS.trimIndent(), ) assertEquals(1, findings.size) assertEquals(DESCR, findings[0].issue.description) @@ -46,7 +45,7 @@ internal class MozillaBannedPropertyAccessTest { internal fun testCompliantWhen(source: String) { val findings = MozillaBannedPropertyAccess(config).lint( - source + source, ) assertTrue(findings.isEmpty()) } @@ -55,7 +54,7 @@ internal class MozillaBannedPropertyAccessTest { @JvmStatic fun compliantProvider(): Stream = Stream.of( - arguments(COMPLIANT_ACCESS, "Safe property access") + arguments(COMPLIANT_ACCESS, "Safe property access"), ) } } diff --git a/mozilla-detekt-rules/src/test/java/org/mozilla/fenix/detektrules/perf/MozillaUseLazyMonitoredTest.kt b/mozilla-detekt-rules/src/test/java/org/mozilla/fenix/detektrules/perf/MozillaUseLazyMonitoredTest.kt index 8027403d3..2ed6fb68a 100644 --- a/mozilla-detekt-rules/src/test/java/org/mozilla/fenix/detektrules/perf/MozillaUseLazyMonitoredTest.kt +++ b/mozilla-detekt-rules/src/test/java/org/mozilla/fenix/detektrules/perf/MozillaUseLazyMonitoredTest.kt @@ -57,21 +57,27 @@ internal class MozillaUseLazyMonitoredTest { assertNoFindings(text) } - @ParameterizedTest @ValueSource(strings = [ - "val example by lazy { 4 }", - "val example by lazy { 4 }", - "val example\nby\nlazy\n{\n4\n}" - ]) + @ParameterizedTest + @ValueSource( + strings = [ + "val example by lazy { 4 }", + "val example by lazy { 4 }", + "val example\nby\nlazy\n{\n4\n}", + ], + ) fun `GIVEN a snippet with by lazy THEN there is a finding`(innerText: String) { val text = getCodeInClass(innerText) assertOneFinding(text) } - @ParameterizedTest @ValueSource(strings = [ - "val example = lazy(::exampleFun)", - "val example = lazy ( ::exampleFun)", - "val example\n=\nlazy\n(\n::exampleFun\n)" - ]) + @ParameterizedTest + @ValueSource( + strings = [ + "val example = lazy(::exampleFun)", + "val example = lazy ( ::exampleFun)", + "val example\n=\nlazy\n(\n::exampleFun\n)", + ], + ) fun `GIVEN a snippet with = lazy THEN there is a finding`(innerText: String) { val text = getCodeInClass(innerText) assertOneFinding(text) diff --git a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/AndroidSrcXmlDetector.kt b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/AndroidSrcXmlDetector.kt index 9b9b8eb39..3becda845 100644 --- a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/AndroidSrcXmlDetector.kt +++ b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/AndroidSrcXmlDetector.kt @@ -42,8 +42,8 @@ class AndroidSrcXmlDetector : ResourceXmlDetector() { severity = Severity.ERROR, implementation = Implementation( AndroidSrcXmlDetector::class.java, - Scope.RESOURCE_FILE_SCOPE - ) + Scope.RESOURCE_FILE_SCOPE, + ), ) } @@ -62,7 +62,7 @@ class AndroidSrcXmlDetector : ResourceXmlDetector() { FULLY_QUALIFIED_APP_COMPAT_IMAGE_BUTTON, FULLY_QUALIFIED_APP_COMPAT_VIEW_CLASS, APP_COMPAT_IMAGE_BUTTON, - APP_COMPAT_IMAGE_VIEW + APP_COMPAT_IMAGE_VIEW, ) } @@ -74,7 +74,7 @@ class AndroidSrcXmlDetector : ResourceXmlDetector() { issue = ISSUE_XML_SRC_USAGE, scope = node, location = context.getLocation(node), - message = ERROR_MESSAGE + message = ERROR_MESSAGE, ) } } diff --git a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ButtonStyleXmlDetector.kt b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ButtonStyleXmlDetector.kt index 7c05b8bfd..3a1a2006d 100644 --- a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ButtonStyleXmlDetector.kt +++ b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ButtonStyleXmlDetector.kt @@ -32,8 +32,8 @@ class ButtonStyleXmlDetector : ResourceXmlDetector() { severity = Severity.ERROR, implementation = Implementation( ButtonStyleXmlDetector::class.java, - Scope.RESOURCE_FILE_SCOPE - ) + Scope.RESOURCE_FILE_SCOPE, + ), ) } @@ -47,7 +47,7 @@ class ButtonStyleXmlDetector : ResourceXmlDetector() { return setOf( SdkConstants.FQCN_BUTTON, SdkConstants.MATERIAL_BUTTON, - SdkConstants.BUTTON + SdkConstants.BUTTON, ) } @@ -58,7 +58,7 @@ class ButtonStyleXmlDetector : ResourceXmlDetector() { issue = ISSUE_XML_STYLE, scope = element, location = context.getElementLocation(element), - message = ERROR_MESSAGE + message = ERROR_MESSAGE, ) } } diff --git a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ContextCompatDetector.kt b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ContextCompatDetector.kt index 481276c0d..6ffdac6d5 100644 --- a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ContextCompatDetector.kt +++ b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ContextCompatDetector.kt @@ -16,7 +16,7 @@ class ContextCompatDetector : Detector(), SourceCodeScanner { private val Implementation = Implementation( ContextCompatDetector::class.java, - Scope.JAVA_FILE_SCOPE + Scope.JAVA_FILE_SCOPE, ) val ISSUE_GET_DRAWABLE_CALL = Issue.create( @@ -25,7 +25,7 @@ class ContextCompatDetector : Detector(), SourceCodeScanner { explanation = "Using this method can lead to crashes in older Android versions as newer features might not be available", category = Category.CORRECTNESS, severity = Severity.ERROR, - implementation = Implementation + implementation = Implementation, ) val ISSUE_GET_COLOR_STATE_LIST_CALL = Issue.create( @@ -34,18 +34,18 @@ class ContextCompatDetector : Detector(), SourceCodeScanner { explanation = "Using this method can lead to crashes in older Android versions as newer features might not be available", category = Category.CORRECTNESS, severity = Severity.ERROR, - implementation = Implementation + implementation = Implementation, ) val ISSUES = listOf( ISSUE_GET_DRAWABLE_CALL, - ISSUE_GET_COLOR_STATE_LIST_CALL + ISSUE_GET_COLOR_STATE_LIST_CALL, ) } override fun getApplicableMethodNames(): List? = listOf( "getDrawable", - "getColorStateList" + "getColorStateList", ) override fun visitMethodCall(context: JavaContext, node: UCallExpression, method: PsiMethod) { @@ -65,7 +65,7 @@ class ContextCompatDetector : Detector(), SourceCodeScanner { ISSUE_GET_DRAWABLE_CALL, context.getLocation(node), "This call can lead to crashes, replace with AppCompatResources.getDrawable", - replaceUnsafeGetDrawableQuickFix(node) + replaceUnsafeGetDrawableQuickFix(node), ) private fun reportGetColorStateListCall(context: JavaContext, node: UCallExpression) = @@ -73,7 +73,7 @@ class ContextCompatDetector : Detector(), SourceCodeScanner { ISSUE_GET_COLOR_STATE_LIST_CALL, context.getLocation(node), "This call can lead to crashes, replace with AppCompatResources.getColorStateList", - replaceUnsafeGetColorStateListCallQuickFix(node) + replaceUnsafeGetColorStateListCallQuickFix(node), ) private fun replaceUnsafeGetDrawableQuickFix(node: UCallExpression): LintFix { @@ -99,5 +99,4 @@ class ContextCompatDetector : Detector(), SourceCodeScanner { .with(newText) .build() } - -} \ No newline at end of file +} diff --git a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ImageViewAndroidTintXmlDetector.kt b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ImageViewAndroidTintXmlDetector.kt index 6f4e74536..4fdf0ec2f 100644 --- a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ImageViewAndroidTintXmlDetector.kt +++ b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ImageViewAndroidTintXmlDetector.kt @@ -43,8 +43,8 @@ class ImageViewAndroidTintXmlDetector : ResourceXmlDetector() { severity = Severity.ERROR, implementation = Implementation( ImageViewAndroidTintXmlDetector::class.java, - Scope.RESOURCE_FILE_SCOPE - ) + Scope.RESOURCE_FILE_SCOPE, + ), ) } @@ -63,7 +63,7 @@ class ImageViewAndroidTintXmlDetector : ResourceXmlDetector() { FULLY_QUALIFIED_APP_COMPAT_IMAGE_BUTTON, FULLY_QUALIFIED_APP_COMPAT_VIEW_CLASS, APP_COMPAT_IMAGE_BUTTON, - APP_COMPAT_IMAGE_VIEW + APP_COMPAT_IMAGE_VIEW, ) } @@ -75,7 +75,7 @@ class ImageViewAndroidTintXmlDetector : ResourceXmlDetector() { issue = ISSUE_XML_SRC_USAGE, scope = node, location = context.getLocation(node), - message = ERROR_MESSAGE + message = ERROR_MESSAGE, ) } } diff --git a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LicenseCommentChecker.kt b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LicenseCommentChecker.kt index b3511396b..efc4b938d 100644 --- a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LicenseCommentChecker.kt +++ b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LicenseCommentChecker.kt @@ -42,21 +42,21 @@ class LicenseCommentChecker(private val context: JavaContext) : UElementHandler( LicenseDetector.ISSUE_MISSING_LICENSE, context.getLocation(node.sourcePsi.firstChild), "The file must start with a comment containing the license", - addLicenseQuickFix() + addLicenseQuickFix(), ) private fun reportInvalidLicenseFormat(comment: UComment) = context.report( LicenseDetector.ISSUE_INVALID_LICENSE_FORMAT, context.getLocation(comment), "The license comment doesn't have the appropriate format", - replaceCommentWithValidLicenseFix(comment) + replaceCommentWithValidLicenseFix(comment), ) private fun reportMissingLeadingNewLineCharacter(licenseComment: UComment) = context.report( LicenseDetector.ISSUE_INVALID_LICENSE_FORMAT, context.getRangeLocation(licenseComment, licenseComment.text.lastIndex, 1), "The license comment must be followed by a newline character", - addLeadingNewLineQuickFix(licenseComment) + addLeadingNewLineQuickFix(licenseComment), ) private fun addLicenseQuickFix() = LintFix.create() @@ -81,4 +81,4 @@ class LicenseCommentChecker(private val context: JavaContext) : UElementHandler( .with(ValidLicenseForKotlinFiles + "\n") .autoFix() .build() -} \ No newline at end of file +} diff --git a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LicenseDetector.kt b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LicenseDetector.kt index 1b6a7cfe3..81c6b6552 100644 --- a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LicenseDetector.kt +++ b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LicenseDetector.kt @@ -15,17 +15,17 @@ class LicenseDetector : Detector(), SourceCodeScanner { private val Implementation = Implementation( LicenseDetector::class.java, - Scope.JAVA_FILE_SCOPE + Scope.JAVA_FILE_SCOPE, ) val ISSUE_MISSING_LICENSE = Issue.create( id = "MissingLicense", briefDescription = "File doesn't start with the license comment", explanation = "Every file must start with the license comment:\n" + - LicenseCommentChecker.ValidLicenseForKotlinFiles, + LicenseCommentChecker.ValidLicenseForKotlinFiles, category = Category.CORRECTNESS, severity = Severity.WARNING, - implementation = Implementation + implementation = Implementation, ) val ISSUE_INVALID_LICENSE_FORMAT = Issue.create( @@ -34,7 +34,7 @@ class LicenseDetector : Detector(), SourceCodeScanner { explanation = "The license must be:\n${LicenseCommentChecker.ValidLicenseForKotlinFiles}", category = Category.CORRECTNESS, severity = Severity.WARNING, - implementation = Implementation + implementation = Implementation, ) } @@ -42,5 +42,4 @@ class LicenseDetector : Detector(), SourceCodeScanner { override fun createUastHandler(context: JavaContext): UElementHandler? = LicenseCommentChecker(context) - } diff --git a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LintIssueRegistry.kt b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LintIssueRegistry.kt index a659a8fd0..7fab85371 100644 --- a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LintIssueRegistry.kt +++ b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/LintIssueRegistry.kt @@ -21,10 +21,10 @@ class LintIssueRegistry : IssueRegistry() { TextViewAndroidSrcXmlDetector.ISSUE_XML_SRC_USAGE, ImageViewAndroidTintXmlDetector.ISSUE_XML_SRC_USAGE, LicenseDetector.ISSUE_MISSING_LICENSE, - LicenseDetector.ISSUE_INVALID_LICENSE_FORMAT + LicenseDetector.ISSUE_INVALID_LICENSE_FORMAT, ) + ConstraintLayoutPerfDetector.ISSUES + ContextCompatDetector.ISSUES override val vendor: Vendor = Vendor( vendorName = "Mozilla", - identifier = "mozilla-fenix" + identifier = "mozilla-fenix", ) } diff --git a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/TextViewAndroidSrcXmlDetector.kt b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/TextViewAndroidSrcXmlDetector.kt index f6411fe2b..0ec8d690c 100644 --- a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/TextViewAndroidSrcXmlDetector.kt +++ b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/TextViewAndroidSrcXmlDetector.kt @@ -40,8 +40,8 @@ class TextViewAndroidSrcXmlDetector : ResourceXmlDetector() { severity = Severity.ERROR, implementation = Implementation( TextViewAndroidSrcXmlDetector::class.java, - Scope.RESOURCE_FILE_SCOPE - ) + Scope.RESOURCE_FILE_SCOPE, + ), ) } @@ -54,7 +54,7 @@ class TextViewAndroidSrcXmlDetector : ResourceXmlDetector() { override fun getApplicableElements(): Collection? { return setOf( FQCN_TEXT_VIEW, - TEXT_VIEW + TEXT_VIEW, ) } @@ -62,27 +62,27 @@ class TextViewAndroidSrcXmlDetector : ResourceXmlDetector() { val node = when { element.hasAttributeNS(SCHEMA, ATTR_DRAWABLE_BOTTOM) -> element.getAttributeNodeNS( SCHEMA, - ATTR_DRAWABLE_BOTTOM + ATTR_DRAWABLE_BOTTOM, ) element.hasAttributeNS(SCHEMA, ATTR_DRAWABLE_END) -> element.getAttributeNodeNS( SCHEMA, - ATTR_DRAWABLE_END + ATTR_DRAWABLE_END, ) element.hasAttributeNS(SCHEMA, ATTR_DRAWABLE_LEFT) -> element.getAttributeNodeNS( SCHEMA, - ATTR_DRAWABLE_LEFT + ATTR_DRAWABLE_LEFT, ) element.hasAttributeNS( SCHEMA, - ATTR_DRAWABLE_RIGHT + ATTR_DRAWABLE_RIGHT, ) -> element.getAttributeNodeNS(SCHEMA, ATTR_DRAWABLE_RIGHT) element.hasAttributeNS( SCHEMA, - ATTR_DRAWABLE_START + ATTR_DRAWABLE_START, ) -> element.getAttributeNodeNS(SCHEMA, ATTR_DRAWABLE_START) element.hasAttributeNS(SCHEMA, ATTR_DRAWABLE_TOP) -> element.getAttributeNodeNS( SCHEMA, - ATTR_DRAWABLE_TOP + ATTR_DRAWABLE_TOP, ) else -> null } ?: return @@ -91,7 +91,7 @@ class TextViewAndroidSrcXmlDetector : ResourceXmlDetector() { issue = ISSUE_XML_SRC_USAGE, scope = node, location = context.getLocation(node), - message = ERROR_MESSAGE + message = ERROR_MESSAGE, ) } } diff --git a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/perf/ConstraintLayoutPerfDetector.kt b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/perf/ConstraintLayoutPerfDetector.kt index 00cdcc5a1..d7e08b57a 100644 --- a/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/perf/ConstraintLayoutPerfDetector.kt +++ b/mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/perf/ConstraintLayoutPerfDetector.kt @@ -19,7 +19,7 @@ private val FRAMEWORK_ELEMENTS = setOf( "androidx.constraintlayout.widget.ConstraintLayout", // Android framework views that extend ConstraintLayout - "androidx.constraintlayout.motion.widget.MotionLayout" + "androidx.constraintlayout.motion.widget.MotionLayout", ) private val FRAMEWORK_ELEMENTS_BULLETED_LIST = FRAMEWORK_ELEMENTS.map { "- `$it`" }.joinToString("\n") @@ -43,7 +43,7 @@ private val CUSTOM_VIEW_ELEMENTS = setOf( "$AC_PREFIX.feature.findinpage.view.FindInPageBar", "$AC_PREFIX.feature.prompts.login.LoginSelectBar", "$AC_PREFIX.ui.widgets.WidgetSiteItemView", - "$AC_PREFIX.browser.toolbar.display.DisplayToolbarView" + "$AC_PREFIX.browser.toolbar.display.DisplayToolbarView", ) private val CUSTOM_VIEW_ELEMENTS_BULLETED_LIST = CUSTOM_VIEW_ELEMENTS.map { "- `$it`" }.joinToString("\n") @@ -116,8 +116,8 @@ private val FRAMEWORK_ISSUE = Issue.create( severity = Severity.ERROR, implementation = Implementation( ConstraintLayoutPerfDetector::class.java, - Scope.RESOURCE_FILE_SCOPE - ) + Scope.RESOURCE_FILE_SCOPE, + ), ) /** @@ -133,8 +133,8 @@ private val CUSTOM_VIEW_ISSUE = Issue.create( severity = Severity.WARNING, implementation = Implementation( ConstraintLayoutPerfDetector::class.java, - Scope.RESOURCE_FILE_SCOPE - ) + Scope.RESOURCE_FILE_SCOPE, + ), ) /** @@ -152,7 +152,7 @@ class ConstraintLayoutPerfDetector : ResourceXmlDetector() { companion object { val ISSUES = listOf( FRAMEWORK_ISSUE, - CUSTOM_VIEW_ISSUE + CUSTOM_VIEW_ISSUE, ) }