From 61d6b333de0613938240c1bf573684946f00c23f Mon Sep 17 00:00:00 2001 From: Tiger Oakes Date: Mon, 27 Jul 2020 09:48:41 -0700 Subject: [PATCH] Update LongParameterList baseline --- .../mozilla/fenix/collections/TabDiffUtil.kt | 1 - .../fenix/components/BackgroundServices.kt | 1 + .../fenix/components/IntentProcessors.kt | 1 + .../org/mozilla/fenix/components/UseCases.kt | 1 + .../components/toolbar/DefaultToolbarMenu.kt | 2 +- .../components/toolbar/ToolbarIntegration.kt | 1 - .../fenix/downloads/DynamicDownloadDialog.kt | 4 ++-- .../SessionControlController.kt | 4 ++-- .../home/sessioncontrol/SessionControlView.kt | 2 +- .../library/bookmarks/BookmarkController.kt | 4 ++-- .../fenix/tabtray/TabTrayController.kt | 2 +- build.gradle | 1 - config/detekt-baseline.xml | 23 ------------------- config/detekt.yml | 7 ++++-- 14 files changed, 17 insertions(+), 37 deletions(-) delete mode 100644 config/detekt-baseline.xml diff --git a/app/src/main/java/org/mozilla/fenix/collections/TabDiffUtil.kt b/app/src/main/java/org/mozilla/fenix/collections/TabDiffUtil.kt index 35c87c9b6..a555dd8f0 100644 --- a/app/src/main/java/org/mozilla/fenix/collections/TabDiffUtil.kt +++ b/app/src/main/java/org/mozilla/fenix/collections/TabDiffUtil.kt @@ -10,7 +10,6 @@ import org.mozilla.fenix.home.Tab /** * Diff callback for comparing tab lists with selected state. */ -@Suppress("LongParameterList") internal class TabDiffUtil( private val old: List, private val new: List, diff --git a/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt b/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt index 4ac0145d9..f4b5a7710 100644 --- a/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt +++ b/app/src/main/java/org/mozilla/fenix/components/BackgroundServices.kt @@ -47,6 +47,7 @@ import org.mozilla.fenix.utils.Settings * background worker. */ @Mockable +@Suppress("LongParameterList") class BackgroundServices( private val context: Context, private val push: Push, diff --git a/app/src/main/java/org/mozilla/fenix/components/IntentProcessors.kt b/app/src/main/java/org/mozilla/fenix/components/IntentProcessors.kt index 793de49da..21fd6be42 100644 --- a/app/src/main/java/org/mozilla/fenix/components/IntentProcessors.kt +++ b/app/src/main/java/org/mozilla/fenix/components/IntentProcessors.kt @@ -25,6 +25,7 @@ import org.mozilla.fenix.utils.Mockable * Component group for miscellaneous components. */ @Mockable +@Suppress("LongParameterList") class IntentProcessors( private val context: Context, private val sessionManager: SessionManager, diff --git a/app/src/main/java/org/mozilla/fenix/components/UseCases.kt b/app/src/main/java/org/mozilla/fenix/components/UseCases.kt index fba92eaaa..2cec0c741 100644 --- a/app/src/main/java/org/mozilla/fenix/components/UseCases.kt +++ b/app/src/main/java/org/mozilla/fenix/components/UseCases.kt @@ -27,6 +27,7 @@ import org.mozilla.fenix.utils.Mockable * modules and can be triggered by UI interactions. */ @Mockable +@Suppress("LongParameterList") class UseCases( private val context: Context, private val engine: Engine, diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt index caf922208..49251ba2e 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt @@ -42,7 +42,7 @@ import org.mozilla.fenix.theme.ThemeManager * @param lifecycleOwner View lifecycle owner used to determine when to cancel UI jobs. * @param bookmarksStorage Used to check if a page is bookmarked. */ -@Suppress("LargeClass") +@Suppress("LargeClass", "LongParameterList") class DefaultToolbarMenu( private val context: Context, private val sessionManager: SessionManager, diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt index 88dc6fc11..ceb2c21a0 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/ToolbarIntegration.kt @@ -68,7 +68,6 @@ abstract class ToolbarIntegration( } } -@Suppress("LongParameterList") class DefaultToolbarIntegration( context: Context, toolbar: BrowserToolbar, diff --git a/app/src/main/java/org/mozilla/fenix/downloads/DynamicDownloadDialog.kt b/app/src/main/java/org/mozilla/fenix/downloads/DynamicDownloadDialog.kt index 23f11f3e6..cbf6b949c 100644 --- a/app/src/main/java/org/mozilla/fenix/downloads/DynamicDownloadDialog.kt +++ b/app/src/main/java/org/mozilla/fenix/downloads/DynamicDownloadDialog.kt @@ -21,8 +21,8 @@ import org.mozilla.fenix.ext.settings * [DynamicDownloadDialog] is used to show a view in the current tab to the user, triggered when * downloadFeature.onDownloadStopped gets invoked. It uses [DynamicDownloadDialogBehavior] to * hide when the users scrolls through a website as to not impede his activities. - * */ - + */ +@Suppress("LongParameterList") class DynamicDownloadDialog( private val container: ViewGroup, private val downloadState: DownloadState?, diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlController.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlController.kt index 20ae6e3c9..85c267842 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlController.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlController.kt @@ -43,7 +43,7 @@ import mozilla.components.feature.tab.collections.Tab as ComponentTab * [HomeFragment] controller. An interface that handles the view manipulation of the Tabs triggered * by the Interactor. */ -@SuppressWarnings("TooManyFunctions") +@Suppress("TooManyFunctions") interface SessionControlController { /** * @see [CollectionInteractor.onCollectionAddTabTapped] @@ -146,7 +146,7 @@ interface SessionControlController { fun handleCreateCollection() } -@SuppressWarnings("TooManyFunctions", "LargeClass", "LongParameterList") +@Suppress("TooManyFunctions", "LargeClass") class DefaultSessionControlController( private val activity: HomeActivity, private val engine: Engine, diff --git a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt index 7f1a1450d..c2f363140 100644 --- a/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt +++ b/app/src/main/java/org/mozilla/fenix/home/sessioncontrol/SessionControlView.kt @@ -20,7 +20,7 @@ import org.mozilla.fenix.home.OnboardingState // This method got a little complex with the addition of the tab tray feature flag // When we remove the tabs from the home screen this will get much simpler again. -@SuppressWarnings("LongParameterList", "ComplexMethod") +@Suppress("ComplexMethod") private fun normalModeAdapterItems( topSites: List, collections: List, diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkController.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkController.kt index f8503653e..add69b004 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkController.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkController.kt @@ -28,7 +28,7 @@ import org.mozilla.fenix.ext.nav * [BookmarkFragment] controller. * Delegated by View Interactors, handles container business logic and operates changes on it. */ -@SuppressWarnings("TooManyFunctions") +@Suppress("TooManyFunctions") interface BookmarkController { fun handleBookmarkChanged(item: BookmarkNode) fun handleBookmarkTapped(item: BookmarkNode) @@ -47,7 +47,7 @@ interface BookmarkController { fun handleBackPressed() } -@SuppressWarnings("TooManyFunctions", "LongParameterList") +@Suppress("TooManyFunctions") class DefaultBookmarkController( private val activity: HomeActivity, private val navController: NavController, diff --git a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayController.kt b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayController.kt index 2261e8190..6a8958573 100644 --- a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayController.kt +++ b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayController.kt @@ -53,7 +53,7 @@ interface TabTrayController { * @param showChooseCollectionDialog callback allowing saving a list of sessions to an existing collection. * @param showAddNewCollectionDialog callback allowing for saving a list of sessions to a new collection. */ -@Suppress("TooManyFunctions", "LongParameterList") +@Suppress("TooManyFunctions") class DefaultTabTrayController( private val activity: HomeActivity, private val navController: NavController, diff --git a/build.gradle b/build.gradle index 7b9f7dc3c..9f00fff0f 100644 --- a/build.gradle +++ b/build.gradle @@ -147,7 +147,6 @@ detekt { version = "1.9.1" input = files("$projectDir/app/src") config = files("$projectDir/config/detekt.yml") - baseline = file("$projectDir/config/detekt-baseline.xml") reports { html { diff --git a/config/detekt-baseline.xml b/config/detekt-baseline.xml deleted file mode 100644 index bd047211f..000000000 --- a/config/detekt-baseline.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - LongParameterList:BackgroundServices.kt$BackgroundServices$( private val context: Context, private val push: Push, crashReporter: CrashReporter, historyStorage: Lazy<PlacesHistoryStorage>, bookmarkStorage: Lazy<PlacesBookmarksStorage>, passwordsStorage: Lazy<SyncableLoginsStorage>, remoteTabsStorage: Lazy<RemoteTabsStorage> ) - LongParameterList:BookmarkController.kt$DefaultBookmarkController$( private val activity: HomeActivity, private val navController: NavController, private val clipboardManager: ClipboardManager?, private val scope: CoroutineScope, private val store: BookmarkFragmentStore, private val sharedViewModel: BookmarksSharedViewModel, private val loadBookmarkNode: suspend (String) -> BookmarkNode?, private val showSnackbar: (String) -> Unit, private val deleteBookmarkNodes: (Set<BookmarkNode>, Event) -> Unit, private val deleteBookmarkFolder: (BookmarkNode) -> Unit, private val invokePendingDeletion: () -> Unit ) - LongParameterList:BrowserToolbarController.kt$DefaultBrowserToolbarController$( private val activity: HomeActivity, private val navController: NavController, private val readerModeController: ReaderModeController, private val sessionFeature: ViewBoundFeatureWrapper<SessionFeature>, private val sessionManager: SessionManager, private val findInPageLauncher: () -> Unit, private val engineView: EngineView, private val browserAnimator: BrowserAnimator, private val swipeRefresh: SwipeRefreshLayout, private val customTabSession: Session?, private val openInFenixIntent: Intent, private val bookmarkTapped: (Session) -> Unit, private val scope: CoroutineScope, private val tabCollectionStorage: TabCollectionStorage, private val topSiteStorage: TopSiteStorage, private val onTabCounterClicked: () -> Unit, private val onCloseTab: (Session) -> Unit ) - LongParameterList:CollectionCreationController.kt$DefaultCollectionCreationController$( private val store: CollectionCreationStore, private val dismiss: () -> Unit, private val metrics: MetricController, private val tabCollectionStorage: TabCollectionStorage, private val sessionManager: SessionManager, private val ioScope: CoroutineScope ) - LongParameterList:CollectionCreationTabListAdapter.kt$TabDiffUtil$( val old: List<Tab>, val new: List<Tab>, val oldSelected: Set<Tab>, val newSelected: Set<Tab>, val oldHideCheckboxes: Boolean, val newHideCheckboxes: Boolean ) - LongParameterList:CustomTabsIntegration.kt$CustomTabsIntegration$( sessionManager: SessionManager, toolbar: BrowserToolbar, sessionId: String, activity: Activity, onItemTapped: (ToolbarMenu.Item) -> Unit = {}, shouldReverseItems: Boolean, isPrivate: Boolean ) - LongParameterList:DefaultToolbarMenu.kt$DefaultToolbarMenu$( private val context: Context, private val sessionManager: SessionManager, private val store: BrowserStore, hasAccountProblem: Boolean = false, shouldReverseItems: Boolean, private val onItemTapped: (ToolbarMenu.Item) -> Unit = {}, private val lifecycleOwner: LifecycleOwner, private val bookmarksStorage: BookmarksStorage ) - LongParameterList:DynamicDownloadDialog.kt$DynamicDownloadDialog$( private val container: ViewGroup, private val downloadState: DownloadState?, private val didFail: Boolean, private val tryAgain: (Long) -> Unit, private val onCannotOpenFile: () -> Unit, private val view: View, private val toolbarHeight: Int, private val onDismiss: () -> Unit ) - LongParameterList:HistoryController.kt$DefaultHistoryController$( private val store: HistoryFragmentStore, private val navController: NavController, private val resources: Resources, private val snackbar: FenixSnackbar, private val clipboardManager: ClipboardManager, private val scope: CoroutineScope, private val openToBrowser: (item: HistoryItem, mode: BrowsingMode?) -> Unit, private val displayDeleteAll: () -> Unit, private val invalidateOptionsMenu: () -> Unit, private val deleteHistoryItems: (Set<HistoryItem>) -> Unit, private val syncHistory: suspend () -> Unit ) - LongParameterList:IntentProcessors.kt$IntentProcessors$( private val context: Context, private val sessionManager: SessionManager, private val sessionUseCases: SessionUseCases, private val searchUseCases: SearchUseCases, private val relationChecker: RelationChecker, private val customTabsStore: CustomTabsServiceStore, private val migrationStore: MigrationStore, private val manifestStorage: ManifestStorage ) - LongParameterList:QuickSettingsController.kt$DefaultQuickSettingsController$( private val context: Context, private val quickSettingsStore: QuickSettingsFragmentStore, private val ioScope: CoroutineScope, private val navController: NavController, private val session: Session?, private var sitePermissions: SitePermissions?, private val settings: Settings, private val permissionStorage: PermissionStorage, private val reload: ReloadUrlUseCase, private val addNewTab: AddNewTabUseCase, private val requestRuntimePermissions: OnNeedToRequestPermissions = { }, private val displayPermissions: () -> Unit, private val dismiss: () -> Unit ) - LongParameterList:SessionControlController.kt$DefaultSessionControlController$( private val activity: HomeActivity, private val fragmentStore: HomeFragmentStore, private val navController: NavController, private val viewLifecycleScope: CoroutineScope, private val getListOfTabs: () -> List<Tab>, private val hideOnboarding: () -> Unit, private val registerCollectionStorageObserver: () -> Unit, private val showDeleteCollectionPrompt: (tabCollection: TabCollection, title: String?, message: String) -> Unit, private val openSettingsScreen: () -> Unit, private val openWhatsNewLink: () -> Unit, private val openPrivacyNotice: () -> Unit, private val showTabTray: () -> Unit ) - LongParameterList:ShareController.kt$DefaultShareController$( private val context: Context, private val shareData: List<ShareData>, private val sendTabUseCases: SendTabUseCases, private val snackbar: FenixSnackbar, private val navController: NavController, private val recentAppsStorage: RecentAppsStorage, private val viewLifecycleScope: CoroutineScope, private val dismiss: (ShareController.Result) -> Unit ) - LongParameterList:ToolbarIntegration.kt$DefaultToolbarIntegration$( context: Context, toolbar: BrowserToolbar, toolbarMenu: ToolbarMenu, domainAutocompleteProvider: DomainAutocompleteProvider, historyStorage: HistoryStorage, sessionManager: SessionManager, sessionId: String? = null, isPrivate: Boolean, interactor: BrowserToolbarViewInteractor, engine: Engine ) - LongParameterList:ToolbarIntegration.kt$ToolbarIntegration$( context: Context, toolbar: BrowserToolbar, toolbarMenu: ToolbarMenu, sessionId: String?, isPrivate: Boolean, renderStyle: ToolbarFeature.RenderStyle ) - LongParameterList:ToolbarView.kt$ToolbarView$( private val context: Context, private val interactor: ToolbarInteractor, private val historyStorage: HistoryStorage?, private val isPrivate: Boolean, val view: BrowserToolbar, engine: Engine ) - LongParameterList:UseCases.kt$UseCases$( private val context: Context, private val engine: Engine, private val sessionManager: SessionManager, private val store: BrowserStore, private val searchEngineManager: SearchEngineManager, private val shortcutManager: WebAppShortcutManager ) - - diff --git a/config/detekt.yml b/config/detekt.yml index c8a649a28..56b6041c2 100644 --- a/config/detekt.yml +++ b/config/detekt.yml @@ -76,9 +76,12 @@ complexity: # https://github.com/mozilla-mobile/fenix/issues/4861 threshold: 75 LongParameterList: - active: true - threshold: 6 + active: trued + excludes: "**/*Controller.kt, **/*Integration.kt" + functionThreshold: 6 + constructorThreshold: 7 ignoreDefaultParameters: false + ignoreDataClasses: true MethodOverloading: active: false threshold: 6