Bug 1862658 - Fix OutdatedDocumentation errors

Behavior change from https://github.com/detekt/detekt/pull/6372.
fenix/121.0
Ryan VanderMeulen 7 months ago committed by mergify[bot]
parent 298aa9a1b1
commit 71c3287f1c

@ -11,8 +11,8 @@ import mozilla.components.support.base.log.sink.LogSink
/**
* Fenix [LogSink] implementation that writes to Android's log, depending on settings.
*
* @property logsDebug If set to false, removes logging of debug logs.
* @property androidLogSink an [AndroidLogSink] that writes to Android's log.
* @param logsDebug If set to false, removes logging of debug logs.
* @param androidLogSink an [AndroidLogSink] that writes to Android's log.
*/
class FenixLogSink(
private val logsDebug: Boolean = true,

@ -18,7 +18,7 @@ import org.mozilla.fenix.ext.components
*
* Will automatically register callbacks for service workers requests and cleanup when [homeActivity] is destroyed.
*
* @property homeActivity [HomeActivity] used for navigating to browser or accessing various app components.
* @param homeActivity [HomeActivity] used for navigating to browser or accessing various app components.
*/
class ServiceWorkerSupportFeature(
private val homeActivity: HomeActivity,

@ -12,7 +12,7 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout
* [InfoBanner] that will automatically scroll with the top [BrowserToolbar].
* Only to be used with [BrowserToolbar]s placed at the top of the screen.
*
* @property context A [Context] for accessing system resources.
* @param context A [Context] for accessing system resources.
* @param container The layout where the banner will be shown.
* @property shouldScrollWithTopToolbar whether to follow the Y translation of the top toolbar or not.
* @param message The message displayed in the banner.

@ -17,14 +17,14 @@ import org.mozilla.fenix.ext.settings
* Displays an Info Banner in the specified container with a message and an optional action.
* The container can be a placeholder layout inserted in the original screen, or an existing layout.
*
* @property context A [Context] for accessing system resources.
* @property container The layout where the banner will be shown.
* @property message The message displayed in the banner.
* @property dismissText The text on the dismiss button.
* @property actionText The text on the action to perform button.
* @property dismissByHiding Whether or not to hide the banner when dismissed.
* @param context A [Context] for accessing system resources.
* @param container The layout where the banner will be shown.
* @param message The message displayed in the banner.
* @param dismissText The text on the dismiss button.
* @param actionText The text on the action to perform button.
* @param dismissByHiding Whether or not to hide the banner when dismissed.
* @property dismissAction Optional callback invoked when the user dismisses the banner.
* @property actionToPerform The action to be performed on action button press.
* @param actionToPerform The action to be performed on action button press.
*/
@SuppressWarnings("LongParameterList")
open class InfoBanner(

@ -64,11 +64,11 @@ fun List<Tab>.toTabSessionStateList(store: BrowserStore): List<TabSessionState>
}
/**
* @property store Store used to hold in-memory collection state.
* @property browserStore The global `BrowserStore` instance.
* @property dismiss Callback to dismiss the collection creation dialog.
* @property tabCollectionStorage Storage used to save tab collections to disk.
* @property scope Coroutine scope to launch coroutines.
* @param store Store used to hold in-memory collection state.
* @param browserStore The global `BrowserStore` instance.
* @param dismiss Callback to dismiss the collection creation dialog.
* @param tabCollectionStorage Storage used to save tab collections to disk.
* @param scope Coroutine scope to launch coroutines.
*/
class DefaultCollectionCreationController(
private val store: CollectionCreationStore,

@ -49,7 +49,7 @@ internal abstract class AbnormalFxaEvent : Exception() {
* See [AbnormalFxaEvent] for types of abnormal events this class detects.
*
* @param context An Android [Context].
* @property crashReporter An instance of [CrashReporter] used for reporting detected abnormalities.
* @param crashReporter An instance of [CrashReporter] used for reporting detected abnormalities.
* @param strictMode An instance of [StrictModeManager] used to manage strict mode settings for the
* application.
*/

@ -22,12 +22,12 @@ import org.mozilla.fenix.components.FindInPageIntegration.ToolbarInfo
/**
* BrowserFragment delegate to handle all layout updates needed to show or hide the find in page bar.
*
* @property store The [BrowserStore] used to look up the current selected tab.
* @property sessionId ID of the [store] session in which the query will be performed.
* @property view The [FindInPageBar] view to display.
* @property engineView the browser in which the queries will be made and which needs to be better positioned
* @param store The [BrowserStore] used to look up the current selected tab.
* @param sessionId ID of the [store] session in which the query will be performed.
* @param view The [FindInPageBar] view to display.
* @param engineView the browser in which the queries will be made and which needs to be better positioned
* to suit the find in page bar.
* @property toolbarInfo [ToolbarInfo] used to configure the [BrowserToolbar] while the find in page bar is shown.
* @param toolbarInfo [ToolbarInfo] used to configure the [BrowserToolbar] while the find in page bar is shown.
*/
class FindInPageIntegration(
private val store: BrowserStore,

@ -33,7 +33,7 @@ class StoreProvider<T : Store<*, *>>(
/**
* ViewModel factory to create [StoreProvider] instances.
*
* @property createStore Callback to create a new [Store], used when the [ViewModel] is first created.
* @param createStore Callback to create a new [Store], used when the [ViewModel] is first created.
*/
@VisibleForTesting
class StoreProviderFactory<T : Store<*, *>>(

@ -51,8 +51,8 @@ class BookmarksUseCase(
/**
* Uses for retrieving recently added bookmarks.
*
* @property bookmarksStorage [BookmarksStorage] to retrieve the bookmark data.
* @property historyStorage Optional [HistoryStorage] to retrieve the preview image of a visited
* @param bookmarksStorage [BookmarksStorage] to retrieve the bookmark data.
* @param historyStorage Optional [HistoryStorage] to retrieve the preview image of a visited
* page associated with a bookmark.
*/
class RetrieveRecentBookmarksUseCase internal constructor(

@ -81,7 +81,7 @@ interface PagedHistoryProvider {
}
/**
* @property historyStorage An instance [PlacesHistoryStorage] that provides read/write methods for
* @param historyStorage An instance [PlacesHistoryStorage] that provides read/write methods for
* history data.
*/
class DefaultPagedHistoryProvider(

@ -20,7 +20,7 @@ import org.mozilla.fenix.ext.components
* A menu item for displaying account information. The item computes the label on every bind call,
* to provide each menu with the latest account manager state.
*
* @property textColorResource ID of color resource to tint the text.
* @param textColorResource ID of color resource to tint the text.
* @param imageResource ID of a drawable resource to be shown as icon.
* @param listener Callback to be invoked when this menu item is clicked.
*/

@ -62,15 +62,15 @@ internal var CFR_MINIMUM_NUMBER_OPENED_TABS = 5
/**
* Delegate for handling all the business logic for showing CFRs in the toolbar.
*
* @property context used for various Android interactions.
* @property browserStore will be observed for tabs updates
* @property settings used to read and write persistent user settings
* @property toolbar will serve as anchor for the CFRs
* @property isPrivate Whether or not the session is private.
* @property sessionId optional custom tab id used to identify the custom tab in which to show a CFR.
* @property onShoppingCfrActionClicked Triggered when the user taps on the shopping CFR action.
* @property onShoppingCfrDismiss Triggered when the user closes the shopping CFR using the "X" button.
* @property shoppingExperienceFeature Used to determine if [ShoppingExperienceFeature] is enabled.
* @param context used for various Android interactions.
* @param browserStore will be observed for tabs updates
* @param settings used to read and write persistent user settings
* @param toolbar will serve as anchor for the CFRs
* @param isPrivate Whether or not the session is private.
* @param sessionId optional custom tab id used to identify the custom tab in which to show a CFR.
* @param onShoppingCfrActionClicked Triggered when the user taps on the shopping CFR action.
* @param onShoppingCfrDismiss Triggered when the user closes the shopping CFR using the "X" button.
* @param shoppingExperienceFeature Used to determine if [ShoppingExperienceFeature] is enabled.
*/
@Suppress("LongParameterList")
class BrowserToolbarCFRPresenter(

@ -44,13 +44,13 @@ import org.mozilla.fenix.theme.ThemeManager
/**
* Builds the toolbar object used with the 3-dot menu in the browser fragment.
* @property context a [Context] for accessing system resources.
* @property store reference to the application's [BrowserStore].
* @param context a [Context] for accessing system resources.
* @param store reference to the application's [BrowserStore].
* @param hasAccountProblem If true, there was a problem signing into the Firefox account.
* @property onItemTapped Called when a menu item is tapped.
* @property lifecycleOwner View lifecycle owner used to determine when to cancel UI jobs.
* @property bookmarksStorage Used to check if a page is bookmarked.
* @property pinnedSiteStorage Used to check if the current url is a pinned site.
* @param onItemTapped Called when a menu item is tapped.
* @param lifecycleOwner View lifecycle owner used to determine when to cancel UI jobs.
* @param bookmarksStorage Used to check if a page is bookmarked.
* @param pinnedSiteStorage Used to check if the current url is a pinned site.
* @property isPinningSupported true if the launcher supports adding shortcuts.
*/
@Suppress("LargeClass", "LongParameterList", "TooManyFunctions")

@ -53,9 +53,9 @@ interface BrowserToolbarInteractor {
/**
* The default implementation of [BrowserToolbarInteractor].
*
* @property browserToolbarController [BrowserToolbarController] to which user actions can be
* @param browserToolbarController [BrowserToolbarController] to which user actions can be
* delegated for all interactions on the browser toolbar.
* @property menuController [BrowserToolbarMenuController] to which user actions can be delegated
* @param menuController [BrowserToolbarMenuController] to which user actions can be delegated
* for all interactions on the the browser toolbar menu.
*/
class DefaultBrowserToolbarInteractor(

@ -24,17 +24,17 @@ import org.mozilla.fenix.utils.Settings
/**
* Helper for observing [BrowserStore] and show an in-app crash reporter for tabs with content crashes.
*
* @property browserStore [BrowserStore] observed for any changes related to [EngineState.crashed].
* @property appStore [AppStore] that tracks all content crashes in the current app session until the user
* @param browserStore [BrowserStore] observed for any changes related to [EngineState.crashed].
* @param appStore [AppStore] that tracks all content crashes in the current app session until the user
* decides to either send or dismiss all crash reports.
* @property toolbar [BrowserToolbar] that will be expanded when showing the in-app crash reporter.
* @property isToolbarPlacedAtTop [Boolean] based allowing the in-app crash reporter to be shown as
* @param toolbar [BrowserToolbar] that will be expanded when showing the in-app crash reporter.
* @param isToolbarPlacedAtTop [Boolean] based allowing the in-app crash reporter to be shown as
* immediately below or above the toolbar.
* @property crashReporterView [CrashContentView] which will be shown if the current tab is marked as crashed.
* @property components [Components] allowing interactions with other app features.
* @property settings [Settings] allowing to check whether crash reporting is enabled or not.
* @property navController [NavController] used to navigate to other parts of the app.
* @property sessionId [String] Id of the tab or custom tab which should be observed for [EngineState.crashed]
* @param crashReporterView [CrashContentView] which will be shown if the current tab is marked as crashed.
* @param components [Components] allowing interactions with other app features.
* @param settings [Settings] allowing to check whether crash reporting is enabled or not.
* @param navController [NavController] used to navigate to other parts of the app.
* @param sessionId [String] Id of the tab or custom tab which should be observed for [EngineState.crashed]
* depending on which [crashReporterView] will be shown or hidden.
*/

@ -32,12 +32,12 @@ import java.util.Locale
/**
* Builds the toolbar object used with the 3-dot menu in the custom tab browser fragment.
*
* @property context An Android [Context].
* @property store reference to the application's [BrowserStore].
* @property sessionId ID of the open custom tab session.
* @property shouldReverseItems If true, reverse the menu items.
* @property isSandboxCustomTab If true, menu should not show the "Open in Firefox" and "POWERED BY FIREFOX" items.
* @property onItemTapped Called when a menu item is tapped.
* @param context An Android [Context].
* @param store reference to the application's [BrowserStore].
* @param sessionId ID of the open custom tab session.
* @param shouldReverseItems If true, reverse the menu items.
* @param isSandboxCustomTab If true, menu should not show the "Open in Firefox" and "POWERED BY FIREFOX" items.
* @param onItemTapped Called when a menu item is tapped.
*/
class CustomTabToolbarMenu(
private val context: Context,

@ -34,7 +34,7 @@ import org.mozilla.fenix.ext.settings
/**
* Parent of all download views that can mimic a modal [Dialog].
*
* @property activity The [Activity] in which the dialog will be shown.
* @param activity The [Activity] in which the dialog will be shown.
* Used to update the activity [Window] to best mimic a modal dialog.
*/
abstract class StartDownloadDialog(
@ -153,13 +153,13 @@ abstract class StartDownloadDialog(
/**
* A download view mimicking a modal dialog that allows the user to download a file with the current application.
*
* @property activity The [Activity] in which the dialog will be shown.
* @param activity The [Activity] in which the dialog will be shown.
* Used to update the activity [Window] to best mimic a modal dialog.
* @property filename Name of the file to be downloaded. It wil be shown without any modification.
* @property contentSize Size of the file to be downloaded expressed as a number of bytes.
* @param filename Name of the file to be downloaded. It wil be shown without any modification.
* @param contentSize Size of the file to be downloaded expressed as a number of bytes.
* It will automatically be parsed to the appropriate kilobyte or megabyte value before being shown.
* @property positiveButtonAction Callback for when the user interacts with the dialog to start the download.
* @property negativeButtonAction Callback for when the user interacts with the dialog to dismiss it.
* @param positiveButtonAction Callback for when the user interacts with the dialog to start the download.
* @param negativeButtonAction Callback for when the user interacts with the dialog to dismiss it.
*/
class FirstPartyDownloadDialog(
private val activity: Activity,
@ -212,11 +212,11 @@ class FirstPartyDownloadDialog(
* A download view mimicking a modal dialog that presents the user with a list of all apps
* that can handle the download request.
*
* @property activity The [Activity] in which the dialog will be shown.
* @param activity The [Activity] in which the dialog will be shown.
* Used to update the activity [Window] to best mimic a modal dialog.
* @property downloaderApps List of all applications that can handle the download request.
* @property onAppSelected Callback for when the user chooses a specific application to handle the download request.
* @property negativeButtonAction Callback for when the user interacts with the dialog to dismiss it.
* @param downloaderApps List of all applications that can handle the download request.
* @param onAppSelected Callback for when the user chooses a specific application to handle the download request.
* @param negativeButtonAction Callback for when the user interacts with the dialog to dismiss it.
*/
class ThirdPartyDownloadDialog(
private val activity: Activity,

@ -36,14 +36,14 @@ import org.mozilla.fenix.GleanMetrics.HomeMenu as HomeMenuMetrics
/**
* Helper class for building the [HomeMenu].
*
* @property view The [View] to attach the snackbar to.
* @property context An Android [Context].
* @property lifecycleOwner [LifecycleOwner] for the view.
* @property homeActivity [HomeActivity] used to open URLs in a new tab.
* @property navController [NavController] used for navigation.
* @property menuButton The [MenuButton] that will be used to create a menu when the button is
* @param view The [View] to attach the snackbar to.
* @param context An Android [Context].
* @param lifecycleOwner [LifecycleOwner] for the view.
* @param homeActivity [HomeActivity] used to open URLs in a new tab.
* @param navController [NavController] used for navigation.
* @param menuButton The [MenuButton] that will be used to create a menu when the button is
* clicked.
* @property fxaEntrypoint The source entry point to FxA.
* @param fxaEntrypoint The source entry point to FxA.
*/
@Suppress("LongParameterList")
class HomeMenuView(

@ -29,10 +29,10 @@ import org.mozilla.fenix.home.pocket.PocketRecommendedStoriesSelectedCategory
/**
* [AppStore] middleware reacting in response to Pocket related [Action]s.
*
* @property pocketStoriesService [PocketStoriesService] used for updating details about the Pocket recommended stories.
* @property selectedPocketCategoriesDataStore [DataStore] used for reading or persisting details about the
* @param pocketStoriesService [PocketStoriesService] used for updating details about the Pocket recommended stories.
* @param selectedPocketCategoriesDataStore [DataStore] used for reading or persisting details about the
* currently selected Pocket recommended stories categories.
* @property coroutineScope [CoroutineScope] used for long running operations like disk IO.
* @param coroutineScope [CoroutineScope] used for long running operations like disk IO.
*/
class PocketUpdatesMiddleware(
private val pocketStoriesService: PocketStoriesService,

@ -26,10 +26,10 @@ import org.mozilla.fenix.tabstray.Page
/**
* Helper class for building the [FenixTabCounterMenu].
*
* @property context An Android [Context].
* @property browsingModeManager [BrowsingModeManager] used for fetching the current browsing mode.
* @property navController [NavController] used for navigation.
* @property tabCounter The [TabCounter] that will be setup with event handlers.
* @param context An Android [Context].
* @param browsingModeManager [BrowsingModeManager] used for fetching the current browsing mode.
* @param navController [NavController] used for navigation.
* @param tabCounter The [TabCounter] that will be setup with event handlers.
*/
class TabCounterView(
private val context: Context,

@ -14,7 +14,7 @@ import org.mozilla.fenix.home.recenttabs.RecentTab
* This [Middleware] reacts to item removals from the home screen, adding them to a blocklist.
* Additionally, it reacts to state changes in order to filter them by the blocklist.
*
* @property blocklistHandler An instance of [BlocklistHandler] for interacting with the blocklist
* @param blocklistHandler An instance of [BlocklistHandler] for interacting with the blocklist
* stored in shared preferences.
*/
class BlocklistMiddleware(

@ -36,7 +36,7 @@ import org.mozilla.fenix.theme.FirefoxTheme
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property interactor [CollectionInteractor] callback for user interactions.
* @param interactor [CollectionInteractor] callback for user interactions.
*/
class CollectionViewHolder(
composeView: ComposeView,

@ -25,7 +25,7 @@ import org.mozilla.fenix.home.sessioncontrol.CollectionInteractor
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property interactor [CollectionInteractor] callback for user interactions.
* @param interactor [CollectionInteractor] callback for user interactions.
*/
class TabInCollectionViewHolder(
composeView: ComposeView,

@ -35,7 +35,7 @@ internal const val POCKET_CATEGORIES_SELECTED_AT_A_TIME_COUNT = 8
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property interactor [PocketStoriesInteractor] callback for user interaction.
* @param interactor [PocketStoriesInteractor] callback for user interaction.
*/
class PocketCategoriesViewHolder(
composeView: ComposeView,

@ -32,7 +32,7 @@ import org.mozilla.fenix.theme.FirefoxTheme
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property interactor [PocketStoriesInteractor] callback for user interaction.
* @param interactor [PocketStoriesInteractor] callback for user interaction.
*/
class PocketRecommendationsHeaderViewHolder(
composeView: ComposeView,

@ -68,8 +68,8 @@ interface PocketStoriesController {
/**
* Default behavior for handling all user interactions with the Pocket recommended stories feature.
*
* @property homeActivity [HomeActivity] used to open URLs in a new tab.
* @property appStore [AppStore] from which to read the current Pocket recommendations and dispatch new actions on.
* @param homeActivity [HomeActivity] used to open URLs in a new tab.
* @param appStore [AppStore] from which to read the current Pocket recommendations and dispatch new actions on.
*/
internal class DefaultPocketStoriesController(
private val homeActivity: HomeActivity,

@ -34,7 +34,7 @@ import org.mozilla.fenix.wallpapers.WallpaperState
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property interactor [PocketStoriesInteractor] callback for user interaction.
* @param interactor [PocketStoriesInteractor] callback for user interaction.
*/
class PocketStoriesViewHolder(
composeView: ComposeView,

@ -20,11 +20,11 @@ import org.mozilla.fenix.home.HomeFragment
* View-bound feature that retrieves a list of recently added [BookmarkNode]s and dispatches
* updates to the [AppStore].
*
* @property appStore the [AppStore] that holds the state of the [HomeFragment].
* @property bookmarksUseCase the [BookmarksUseCase] for retrieving the list of recently saved
* @param appStore the [AppStore] that holds the state of the [HomeFragment].
* @param bookmarksUseCase the [BookmarksUseCase] for retrieving the list of recently saved
* bookmarks from storage.
* @property scope the [CoroutineScope] used to fetch the bookmarks list
* @property ioDispatcher the [CoroutineDispatcher] for performing read/write operations.
* @param scope the [CoroutineScope] used to fetch the bookmarks list
* @param ioDispatcher the [CoroutineDispatcher] for performing read/write operations.
*/
class RecentBookmarksFeature(
private val appStore: AppStore,

@ -24,7 +24,7 @@ import org.mozilla.fenix.home.recentbookmarks.interactor.RecentBookmarksInteract
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] life cycle owner for the view.
* @property interactor [RecentBookmarksInteractor] which will have delegated to all user interactions.
* @param interactor [RecentBookmarksInteractor] which will have delegated to all user interactions.
*/
class RecentBookmarksHeaderViewHolder(
composeView: ComposeView,

@ -33,13 +33,13 @@ import java.util.concurrent.TimeUnit
/**
* Delegate to handle layout updates and dispatch actions related to the recent synced tab.
*
* @property context An Android [Context].
* @property appStore Store to dispatch actions to when synced tabs are updated or errors encountered.
* @property syncStore Store to observe for changes to Sync and account status.
* @property storage Storage layer for synced tabs.
* @property accountManager Account manager to initiate Syncs and refresh devices.
* @property historyStorage Storage for searching history for preview image URLs matching synced tab.
* @property coroutineScope The scope to collect Sync state Flow updates in.
* @param context An Android [Context].
* @param appStore Store to dispatch actions to when synced tabs are updated or errors encountered.
* @param syncStore Store to observe for changes to Sync and account status.
* @param storage Storage layer for synced tabs.
* @param accountManager Account manager to initiate Syncs and refresh devices.
* @param historyStorage Storage for searching history for preview image URLs matching synced tab.
* @param coroutineScope The scope to collect Sync state Flow updates in.
*/
@Suppress("LongParameterList")
class RecentSyncedTabFeature(

@ -42,10 +42,10 @@ interface RecentSyncedTabController {
/**
* The default implementation of [RecentSyncedTabController].
*
* @property tabsUseCase Use cases to open the synced tab when clicked.
* @property navController [NavController] to navigate to synced tabs tray.
* @property accessPoint The action or screen that was used to navigate to the tabs tray.
* @property appStore The [AppStore] that holds the state of the [HomeFragment].
* @param tabsUseCase Use cases to open the synced tab when clicked.
* @param navController [NavController] to navigate to synced tabs tray.
* @param accessPoint The action or screen that was used to navigate to the tabs tray.
* @param appStore The [AppStore] that holds the state of the [HomeFragment].
*/
class DefaultRecentSyncedTabController(
private val tabsUseCase: TabsUseCases,

@ -24,7 +24,7 @@ import org.mozilla.fenix.wallpapers.WallpaperState
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property recentSyncedTabInteractor [RecentSyncedTabInteractor] which will have delegated to all
* @param recentSyncedTabInteractor [RecentSyncedTabInteractor] which will have delegated to all
* recent synced tab user interactions.
*/
class RecentSyncedTabViewHolder(

@ -40,9 +40,9 @@ interface RecentTabController {
/**
* The default implementation of [RecentTabController].
*
* @property selectTabUseCase [SelectTabUseCase] used selecting a tab.
* @property navController [NavController] used for navigation.
* @property appStore The [AppStore] that holds the state of the [HomeFragment].
* @param selectTabUseCase [SelectTabUseCase] used selecting a tab.
* @param navController [NavController] used for navigation.
* @param appStore The [AppStore] that holds the state of the [HomeFragment].
*/
class DefaultRecentTabsController(
private val selectTabUseCase: SelectTabUseCase,

@ -21,7 +21,7 @@ import org.mozilla.fenix.wallpapers.WallpaperState
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property recentTabInteractor [RecentTabInteractor] which will have delegated to all user recent
* @param recentTabInteractor [RecentTabInteractor] which will have delegated to all user recent
* tab interactions.
*/
class RecentTabViewHolder(

@ -24,7 +24,7 @@ import org.mozilla.fenix.home.recenttabs.interactor.RecentTabInteractor
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property interactor [RecentTabInteractor] which will have delegated to all user interactions.
* @param interactor [RecentTabInteractor] which will have delegated to all user interactions.
*/
class RecentTabsHeaderViewHolder(
composeView: ComposeView,

@ -38,12 +38,12 @@ import kotlin.math.max
* which will be mapped to [RecentlyVisitedItem]s and then dispatched to [AppStore]
* to be displayed on the home screen.
*
* @property appStore The [AppStore] that holds the state of the [HomeFragment].
* @property historyMetadataStorage The storage that manages [HistoryMetadata].
* @property historyHighlightsStorage The storage that manages [PlacesHistoryStorage].
* @property scope The [CoroutineScope] used for IO operations related to querying history
* @param appStore The [AppStore] that holds the state of the [HomeFragment].
* @param historyMetadataStorage The storage that manages [HistoryMetadata].
* @param historyHighlightsStorage The storage that manages [PlacesHistoryStorage].
* @param scope The [CoroutineScope] used for IO operations related to querying history
* and then for dispatching updates.
* @property ioDispatcher The [CoroutineDispatcher] for performing read/write operations.
* @param ioDispatcher The [CoroutineDispatcher] for performing read/write operations.
*/
class RecentVisitsFeature(
private val appStore: AppStore,

@ -24,7 +24,7 @@ import org.mozilla.fenix.home.recentvisits.interactor.RecentVisitsInteractor
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property interactor [RecentVisitsInteractor] which will have delegated to all user
* @param interactor [RecentVisitsInteractor] which will have delegated to all user
* interactions.
*/
class RecentVisitsHeaderViewHolder(

@ -27,7 +27,7 @@ import org.mozilla.fenix.wallpapers.WallpaperState
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property interactor [RecentVisitsInteractor] which will have delegated to all user interactions.
* @param interactor [RecentVisitsInteractor] which will have delegated to all user interactions.
*/
class RecentlyVisitedViewHolder(
composeView: ComposeView,

@ -158,7 +158,7 @@ private fun collectionTabItems(collection: TabCollection) =
*
* @param containerView The [View] that is used to initialize the Home recycler view.
* @param viewLifecycleOwner [LifecycleOwner] for the view.
* @property interactor [SessionControlInteractor] which will have delegated to all user
* @param interactor [SessionControlInteractor] which will have delegated to all user
* interactions.
*/
class SessionControlView(

@ -29,7 +29,7 @@ import org.mozilla.fenix.wallpapers.WallpaperState
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property interactor [SessionControlInteractor] which will have delegated to all user
* @param interactor [SessionControlInteractor] which will have delegated to all user
* interactions.
*/
class MessageCardViewHolder(

@ -13,9 +13,9 @@ import org.mozilla.fenix.R
/**
* Helper class for building a context menu for a top site item.
*
* @property context An Android context.
* @property topSite The [TopSite] to show the context menu for.
* @property onItemTapped Callback invoked when the user taps on a menu item.
* @param context An Android context.
* @param topSite The [TopSite] to show the context menu for.
* @param onItemTapped Callback invoked when the user taps on a menu item.
*/
class TopSiteItemMenu(
private val context: Context,

@ -21,7 +21,7 @@ import org.mozilla.fenix.wallpapers.WallpaperState
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param viewLifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property interactor [TopSiteInteractor] which will have delegated to all user top sites
* @param interactor [TopSiteInteractor] which will have delegated to all user top sites
* interactions.
*/
class TopSitesViewHolder(

@ -15,7 +15,7 @@ import org.mozilla.fenix.components.metrics.MetricsUtils
* Interactor for the Bookmarks screen.
* Provides implementations for the BookmarkViewInteractor.
*
* @property bookmarksController view controller
* @param bookmarksController view controller
*/
@SuppressWarnings("TooManyFunctions")
class BookmarkFragmentInteractor(

@ -23,10 +23,10 @@ import org.mozilla.fenix.library.history.HistoryFragmentStore
* A [Middleware] for initiating navigation events based on [HistoryFragmentAction]s that are
* dispatched to the [HistoryFragmentStore].
*
* @property navController [NavController] for handling navigation events
* @property openToBrowser Callback to open history items in a browser window.
* @property onBackPressed Callback to handle back press actions.
* @property scope [CoroutineScope] used to launch coroutines.
* @param navController [NavController] for handling navigation events
* @param openToBrowser Callback to open history items in a browser window.
* @param onBackPressed Callback to handle back press actions.
* @param scope [CoroutineScope] used to launch coroutines.
*/
class HistoryNavigationMiddleware(
private val navController: NavController,

@ -28,14 +28,14 @@ import org.mozilla.fenix.library.history.toPendingDeletionHistory
* A [Middleware] for initiating storage side-effects based on [HistoryFragmentAction]s that are
* dispatched to the [HistoryFragmentStore].
*
* @property appStore To dispatch Actions to update global state.
* @property browserStore To dispatch Actions to update global state.
* @property historyProvider To update storage as a result of some Actions.
* @property historyStorage To update storage as a result of some Actions.
* @property undoDeleteSnackbar Called when items are deleted to offer opportunity of undoing before
* @param appStore To dispatch Actions to update global state.
* @param browserStore To dispatch Actions to update global state.
* @param historyProvider To update storage as a result of some Actions.
* @param historyStorage To update storage as a result of some Actions.
* @param undoDeleteSnackbar Called when items are deleted to offer opportunity of undoing before
* deletion is fully completed.
* @property onTimeFrameDeleted Called when a time range of items is successfully deleted.
* @property scope CoroutineScope to launch storage operations into.
* @param onTimeFrameDeleted Called when a time range of items is successfully deleted.
* @param scope CoroutineScope to launch storage operations into.
*/
class HistoryStorageMiddleware(
private val appStore: AppStore,

@ -18,9 +18,9 @@ import org.mozilla.fenix.library.history.HistoryFragmentState
* A [Middleware] for handling Sync side-effects based on [HistoryFragmentAction]s that are dispatched
* to the [HistoryFragmentStore].
*
* @property accountManager The [FxaAccountManager] for handling Sync operations.
* @property refreshView Callback to refresh the view once a Sync is completed.
* @property scope Coroutine scope to launch Sync operations into.
* @param accountManager The [FxaAccountManager] for handling Sync operations.
* @param refreshView Callback to refresh the view once a Sync is completed.
* @param scope Coroutine scope to launch Sync operations into.
*/
class HistorySyncMiddleware(
private val accountManager: FxaAccountManager,

@ -18,7 +18,7 @@ import org.mozilla.fenix.GleanMetrics.History as GleanHistory
* A [Middleware] for recording telemetry based on [HistoryFragmentAction]s that are dispatched to
* the [HistoryFragmentStore].
*
* @property isInPrivateMode Whether the app is currently in private browsing mode.
* @param isInPrivateMode Whether the app is currently in private browsing mode.
*/
class HistoryTelemetryMiddleware(
private val isInPrivateMode: Boolean,

@ -24,12 +24,12 @@ import org.mozilla.fenix.nimbus.NimbusBranchesStore
* [NimbusBranchesFragment] controller. This implements [NimbusBranchesAdapterDelegate] to handle
* interactions with a Nimbus branch.
*
* @property context An Android [Context].
* @property navController [NavController] used for navigation.
* @property nimbusBranchesStore An instance of [NimbusBranchesStore] for dispatching
* @param context An Android [Context].
* @param navController [NavController] used for navigation.
* @param nimbusBranchesStore An instance of [NimbusBranchesStore] for dispatching
* [NimbusBranchesAction]s.
* @property experiments An instance of [NimbusApi] for interacting with the Nimbus experiments.
* @property experimentId The string experiment-id or "slug" for a Nimbus experiment.
* @param experiments An instance of [NimbusApi] for interacting with the Nimbus experiments.
* @param experimentId The string experiment-id or "slug" for a Nimbus experiment.
*/
class NimbusBranchesController(
private val context: Context,

@ -34,8 +34,8 @@ private const val CFR_TO_ANCHOR_VERTICAL_PADDING = -16
/**
* Delegate for handling the Home Onboarding CFR.
*
* @property context [Context] used for various Android interactions.
* @property recyclerView [RecyclerView] will serve as anchor for the CFR.
* @param context [Context] used for various Android interactions.
* @param recyclerView [RecyclerView] will serve as anchor for the CFR.
*/
class HomeCFRPresenter(
private val context: Context,

@ -23,8 +23,8 @@ typealias MozSearchEngine = SearchEngine
/**
* A popup menu composed of [SearchSelectorMenu.Item] objects.
*
* @property context [Context] used for various Android interactions.
* @property interactor [ToolbarInteractor] for handling menu item interactions.
* @param context [Context] used for various Android interactions.
* @param interactor [ToolbarInteractor] for handling menu item interactions.
*/
class SearchSelectorMenu(
private val context: Context,

@ -31,9 +31,9 @@ import org.mozilla.fenix.search.SearchDialogFragmentStore
/**
* A [Toolbar.Action] implementation that shows a [SearchSelector].
*
* @property store [SearchDialogFragmentStore] containing the complete state of the search dialog.
* @property defaultSearchEngine The user selected or default [SearchEngine].
* @property menu An instance of [SearchSelectorMenu] to display a popup menu for the search
* @param store [SearchDialogFragmentStore] containing the complete state of the search dialog.
* @param defaultSearchEngine The user selected or default [SearchEngine].
* @param menu An instance of [SearchSelectorMenu] to display a popup menu for the search
* selections.
*/
class SearchSelectorToolbarAction(

@ -20,14 +20,14 @@ import mozilla.components.service.fxa.manager.SyncEnginesStorage
* that manages the sync account authentication. A toggle will be also added
* depending on the sync account status.
*
* @property syncPreference The sync [SyncPreference] to update and handle navigation.
* @param syncPreference The sync [SyncPreference] to update and handle navigation.
* @param lifecycleOwner View lifecycle owner used to determine when to cancel UI jobs.
* @param accountManager An instance of [FxaAccountManager].
* @property syncEngine The sync engine that will be used for the sync status lookup.
* @property loggedOffTitle Text label for the setting when user is not logged in.
* @property loggedInTitle Text label for the setting when user is logged in.
* @property onSyncSignInClicked A callback executed when the sync sign in [syncPreference] is clicked.
* @property onReconnectClicked A callback executed when the [syncPreference] is clicked with a
* @param syncEngine The sync engine that will be used for the sync status lookup.
* @param loggedOffTitle Text label for the setting when user is not logged in.
* @param loggedInTitle Text label for the setting when user is logged in.
* @param onSyncSignInClicked A callback executed when the sync sign in [syncPreference] is clicked.
* @param onReconnectClicked A callback executed when the [syncPreference] is clicked with a
* preference status of "Reconnect".
*/
@Suppress("LongParameterList")

@ -11,7 +11,7 @@ interface SyncInteractor {
/**
* Interactor for [TurnOnSyncFragment].
*
* @property syncController Handles the interactions
* @param syncController Handles the interactions
*/
class DefaultSyncInteractor(private val syncController: DefaultSyncController) : SyncInteractor {
override fun onCameraPermissionsNeeded() {

@ -43,10 +43,10 @@ interface AddressEditorController {
/**
* The default implementation of [AddressEditorController].
*
* @property storage An instance of the [AutofillCreditCardsAddressesStorage] for adding and retrieving
* @param storage An instance of the [AutofillCreditCardsAddressesStorage] for adding and retrieving
* addresses.
* @property lifecycleScope [CoroutineScope] scope to launch coroutines.
* @property navController [NavController] used for navigation.
* @param lifecycleScope [CoroutineScope] scope to launch coroutines.
* @param navController [NavController] used for navigation.
*/
class DefaultAddressEditorController(
private val storage: AutofillCreditCardsAddressesStorage,

@ -30,7 +30,7 @@ interface AddressManagementController {
/**
* The default implementation of [AddressManagementController].
*
* @property navController [NavController] used for navigation.
* @param navController [NavController] used for navigation.
*/
class DefaultAddressManagementController(
private val navController: NavController,

@ -48,7 +48,7 @@ interface AddressEditorInteractor {
/**
* The default implementation of [AddressEditorInteractor].
*
* @property controller An instance of [AddressEditorController] which will be delegated for all
* @param controller An instance of [AddressEditorController] which will be delegated for all
* user interactions.
*/
class DefaultAddressEditorInteractor(

@ -30,7 +30,7 @@ interface AddressManagementInteractor {
/**
* The default implementation of [AddressManagementInteractor].
*
* @property controller An instance of [AddressManagementController] which will be delegated for
* @param controller An instance of [AddressManagementController] which will be delegated for
* all user interactions.
*/
class DefaultAddressManagementInteractor(

@ -31,10 +31,10 @@ import org.mozilla.fenix.settings.address.toCountryCode
/**
* An address editor for adding or updating an address.
*
* @property binding The binding used to display the view.
* @property interactor [AddressEditorInteractor] used to respond to any user interactions.
* @property region If the [RegionState] is available, it will be used to set the country when adding a new address.
* @property address An [Address] to edit.
* @param binding The binding used to display the view.
* @param interactor [AddressEditorInteractor] used to respond to any user interactions.
* @param region If the [RegionState] is available, it will be used to set the country when adding a new address.
* @param address An [Address] to edit.
*/
class AddressEditorView(
private val binding: FragmentAddressEditorBinding,

@ -22,10 +22,10 @@ import org.mozilla.fenix.settings.biometric.ext.isHardwareAvailable
/**
* A [LifecycleAwareFeature] for the Android Biometric API to prompt for user authentication.
*
* @property context Android context.
* @property fragment The fragment on which this feature will live.
* @property onAuthFailure A failure callback if authentication failed.
* @property onAuthSuccess A success callback.
* @param context Android context.
* @param fragment The fragment on which this feature will live.
* @param onAuthFailure A failure callback if authentication failed.
* @param onAuthSuccess A success callback.
*/
class BiometricPromptFeature(
private val context: Context,

@ -48,12 +48,12 @@ interface CreditCardEditorController {
/**
* The default implementation of [CreditCardEditorController].
*
* @property storage An instance of the [AutofillCreditCardsAddressesStorage] for adding and retrieving
* @param storage An instance of the [AutofillCreditCardsAddressesStorage] for adding and retrieving
* credit cards.
* @property lifecycleScope [CoroutineScope] scope to launch coroutines.
* @property navController [NavController] used for navigation.
* @property ioDispatcher [CoroutineDispatcher] used for executing async tasks. Defaults to [Dispatchers.IO].
* @property showDeleteDialog [DialogInterface.OnClickListener] used to display a confirmation dialog
* @param lifecycleScope [CoroutineScope] scope to launch coroutines.
* @param navController [NavController] used for navigation.
* @param ioDispatcher [CoroutineDispatcher] used for executing async tasks. Defaults to [Dispatchers.IO].
* @param showDeleteDialog [DialogInterface.OnClickListener] used to display a confirmation dialog
* before removing credit card.
*/
class DefaultCreditCardEditorController(

@ -48,7 +48,7 @@ interface CreditCardEditorInteractor {
/**
* The default implementation of [CreditCardEditorInteractor].
*
* @property controller An instance of [CreditCardEditorController] which will be delegated for all
* @param controller An instance of [CreditCardEditorController] which will be delegated for all
* user interactions.
*/
class DefaultCreditCardEditorInteractor(

@ -32,7 +32,7 @@ interface CreditCardsManagementInteractor {
/**
* The default implementation of [CreditCardsManagementInteractor].
*
* @property controller An instance of [CreditCardsManagementController] which will be delegated for
* @param controller An instance of [CreditCardsManagementController] which will be delegated for
* all user interactions.
*/
class DefaultCreditCardsManagementInteractor(

@ -19,10 +19,10 @@ import org.mozilla.fenix.utils.Settings
/**
* Controller for the saved logins list
*
* @property loginsFragmentStore Store used to hold in-memory collection state.
* @property navController NavController manages app navigation within a NavHost.
* @property browserNavigator Controller allowing browser navigation to any Uri.
* @property settings SharedPreferences wrapper for easier usage.
* @param loginsFragmentStore Store used to hold in-memory collection state.
* @param navController NavController manages app navigation within a NavHost.
* @param browserNavigator Controller allowing browser navigation to any Uri.
* @param settings SharedPreferences wrapper for easier usage.
*/
class LoginsListController(
private val loginsFragmentStore: LoginsFragmentStore,

@ -9,7 +9,7 @@ import org.mozilla.fenix.settings.logins.controller.SavedLoginsStorageController
/**
* Interactor for the add login screen
*
* @property savedLoginsController controller for the saved logins storage
* @param savedLoginsController controller for the saved logins storage
*/
class AddLoginInteractor(
private val savedLoginsController: SavedLoginsStorageController,

@ -9,7 +9,7 @@ import org.mozilla.fenix.settings.logins.controller.SavedLoginsStorageController
/**
* Interactor for the edit login screen
*
* @property savedLoginsController controller for the saved logins storage
* @param savedLoginsController controller for the saved logins storage
*/
class EditLoginInteractor(
private val savedLoginsController: SavedLoginsStorageController,

@ -9,7 +9,7 @@ import org.mozilla.fenix.settings.logins.controller.SavedLoginsStorageController
/**
* Interactor for the login detail screen
*
* @property savedLoginsController controller for the saved logins storage
* @param savedLoginsController controller for the saved logins storage
*/
class LoginDetailInteractor(
private val savedLoginsController: SavedLoginsStorageController,

@ -12,9 +12,9 @@ import org.mozilla.fenix.settings.logins.controller.SavedLoginsStorageController
/**
* Interactor for the saved logins screen
*
* @property loginsListController [LoginsListController] which will be delegated for all
* @param loginsListController [LoginsListController] which will be delegated for all
* user interactions.
* @property savedLoginsStorageController [SavedLoginsStorageController] which will be delegated
* @param savedLoginsStorageController [SavedLoginsStorageController] which will be delegated
* for all calls to the password storage component
*/
class SavedLoginsInteractor(

@ -37,7 +37,7 @@ interface ClearSiteDataViewInteractor {
* MVI View to access the dialog to clear site cookies and data.
*
* @property context An Android [Context].
* @property ioScope [CoroutineScope] with an IO dispatcher used for structured concurrency.
* @param ioScope [CoroutineScope] with an IO dispatcher used for structured concurrency.
* @property containerView [ViewGroup] in which this View will inflate itself.
* @property containerDivider Divider [View] to manipulate.
* @property interactor [ClearSiteDataViewInteractor] which will have delegated to all user

@ -10,7 +10,7 @@ package org.mozilla.fenix.settings.quicksettings
* Implements callbacks for each of [ConnectionPanelDialogFragment]'s Views declared possible user interactions,
* delegates all such user events to the [ConnectionDetailsController].
*
* @property controller [ConnectionDetailsController] which will be delegated for all users interactions,
* @param controller [ConnectionDetailsController] which will be delegated for all users interactions,
* it expected to contain all business logic for how to act in response.
*/
class ConnectionDetailsInteractor(

@ -20,8 +20,8 @@ import org.mozilla.fenix.ext.loadIntoView
* Currently it does not support any user interaction.
*
* @param container [ViewGroup] in which this View will inflate itself.
* @property icons Icons component for loading, caching and processing website icons.
* @property interactor [WebSiteInfoInteractor] which will have delegated to all user interactions.
* @param icons Icons component for loading, caching and processing website icons.
* @param interactor [WebSiteInfoInteractor] which will have delegated to all user interactions.
*/
class ConnectionDetailsView(
container: ViewGroup,

@ -91,21 +91,21 @@ interface QuickSettingsController {
/**
* Default behavior of [QuickSettingsController]. Other implementations are possible.
*
* @property context [Context] used for various Android interactions.
* @property quickSettingsStore [QuickSettingsFragmentStore] holding the State for all Views displayed
* @param context [Context] used for various Android interactions.
* @param quickSettingsStore [QuickSettingsFragmentStore] holding the State for all Views displayed
* in this Controller's Fragment.
* @property browserStore The application's [BrowserStore].
* @property ioScope [CoroutineScope] with an IO dispatcher used for structured concurrency.
* @property navController NavController] used for navigation.
* @param browserStore The application's [BrowserStore].
* @param ioScope [CoroutineScope] with an IO dispatcher used for structured concurrency.
* @param navController NavController] used for navigation.
* @property sessionId ID of the session to manipulate.
* @property sitePermissions [SitePermissions]? list of website permissions and their status.
* @property settings [Settings] application settings.
* @property permissionStorage [PermissionStorage] app state for website permissions exception.
* @property reload [ReloadUrlUseCase] callback allowing for reloading the current web page.
* @property requestRuntimePermissions [OnNeedToRequestPermissions] callback allowing for requesting
* @param settings [Settings] application settings.
* @param permissionStorage [PermissionStorage] app state for website permissions exception.
* @param reload [ReloadUrlUseCase] callback allowing for reloading the current web page.
* @param requestRuntimePermissions [OnNeedToRequestPermissions] callback allowing for requesting
* specific Android runtime permissions.
* @property displayPermissions callback for when [WebsitePermissionsView] needs to be displayed.
* @property engine An [Engine] instance used for clearing the browsing data.
* @param displayPermissions callback for when [WebsitePermissionsView] needs to be displayed.
* @param engine An [Engine] instance used for clearing the browsing data.
*/
@Suppress("TooManyFunctions", "LongParameterList")
class DefaultQuickSettingsController(

@ -12,7 +12,7 @@ import org.mozilla.fenix.settings.quicksettings.protections.ProtectionsInteracto
* Implements callbacks for each of [QuickSettingsSheetDialogFragment]'s Views declared possible user interactions,
* delegates all such user events to the [QuickSettingsController].
*
* @property controller [QuickSettingsController] which will be delegated for all users interactions,
* @param controller [QuickSettingsController] which will be delegated for all users interactions,
* it expected to contain all business logic for how to act in response.
*/
class QuickSettingsInteractor(

@ -20,8 +20,8 @@ import org.mozilla.fenix.ext.loadIntoView
* Currently it does not support any user interaction.
*
* @param container [ViewGroup] in which this View will inflate itself.
* @property icons Icons component for loading, caching and processing website icons.
* @property interactor [WebSiteInfoInteractor] which will have delegated to all user interactions.
* @param icons Icons component for loading, caching and processing website icons.
* @param interactor [WebSiteInfoInteractor] which will have delegated to all user interactions.
*/
class WebsiteInfoView(
container: ViewGroup,

@ -62,7 +62,7 @@ interface WebsitePermissionInteractor {
* - camera
*
* @param containerView [ViewGroup] in which this View will inflate itself.
* @property interactor [WebsitePermissionInteractor] which will have delegated to all user interactions.
* @param interactor [WebsitePermissionInteractor] which will have delegated to all user interactions.
*/
class WebsitePermissionsView(
containerView: ViewGroup,

@ -41,7 +41,7 @@ import org.mozilla.fenix.utils.Settings
* to additional tracking protection details.
*
* @property containerView [ViewGroup] in which this View will inflate itself.
* @property trackingProtectionDivider trackingProtectionDivider The divider line between tracking protection layout
* @param trackingProtectionDivider trackingProtectionDivider The divider line between tracking protection layout
* and other views from [QuickSettingsSheetDialogFragment].
* @property interactor [ProtectionsInteractor] which will have delegated to all user interactions.
* @property settings [Settings] application settings.

@ -30,7 +30,7 @@ interface CookieBannerDetailsInteractor {
* Implements callbacks for each of [CookieBannerPanelDialogFragment]'s Views declared possible user interactions,
* delegates all such user events to the [CookieBannerDetailsController].
*
* @property controller [CookieBannerDetailsController] which will be delegated for all users interactions,
* @param controller [CookieBannerDetailsController] which will be delegated for all users interactions,
* it expected to contain all business logic for how to act in response.
*/
class DefaultCookieBannerDetailsInteractor(

@ -26,11 +26,11 @@ import org.mozilla.fenix.trackingprotection.ProtectionsState
* MVI View that knows how to display cookie banner handling details for a site.
*
* @param container [ViewGroup] in which this View will inflate itself.
* @property context An Android [Context].
* @property ioScope [CoroutineScope] with an IO dispatcher used for structured concurrency.
* @property publicSuffixList To show short url.
* @property interactor [CookieBannerDetailsInteractor] which will have delegated to all user interactions.
* @property onDismiss Lambda invoked to dismiss the cookie banner.
* @param context An Android [Context].
* @param ioScope [CoroutineScope] with an IO dispatcher used for structured concurrency.
* @param publicSuffixList To show short url.
* @param interactor [CookieBannerDetailsInteractor] which will have delegated to all user interactions.
* @param onDismiss Lambda invoked to dismiss the cookie banner.
*/
class CookieBannerHandlingDetailsView(
container: ViewGroup,

@ -32,12 +32,12 @@ private const val VIEW_HOLDER_TYPE_STUDY = 1
* An adapter for displaying studies items. This will display information related to the state of
* a study such as active. In addition, it will perform actions such as removing a study.
*
* @property studiesDelegate Delegate that will provides method for handling
* @param studiesDelegate Delegate that will provides method for handling
* the studies actions items.
* @param studies The list of studies.
* * @property studiesDelegate Delegate that will provides method for handling
* the studies actions items.
* @property shouldSubmitOnInit The sole purpose of this property is to prevent the submitList function
* @param shouldSubmitOnInit The sole purpose of this property is to prevent the submitList function
* to run on init, it should only be used from tests.
*/
@Suppress("LargeClass")

@ -33,8 +33,8 @@ import java.io.IOException
/**
* [BrowserAction] middleware reacting in response to Save to PDF related [Action]s.
*
* @property context An Application context.
* @property mainScope Coroutine scope to launch coroutines.
* @param context An Application context.
* @param mainScope Coroutine scope to launch coroutines.
*/
class SaveToPDFMiddleware(
private val context: Context,

@ -74,19 +74,19 @@ interface ShareController {
/**
* Default behavior of [ShareController]. Other implementations are possible.
*
* @property context [Context] used for various Android interactions.
* @property shareSubject Desired message subject used when sharing through 3rd party apps, like email clients.
* @property shareData The list of [ShareData]s that can be shared.
* @property sendTabUseCases Instance of [SendTabUseCases] which allows sending tabs to account devices.
* @property saveToPdfUseCase Instance of [SessionUseCases.SaveToPdfUseCase] to generate a PDF of a given tab.
* @property printUseCase Instance of [SessionUseCases.PrintContentUseCase] to print content of a given tab.
* @property snackbar Instance of [FenixSnackbar] for displaying styled snackbars.
* @property navController [NavController] used for navigation.
* @property recentAppsStorage Instance of [RecentAppsStorage] for storing and retrieving the most recent apps.
* @property viewLifecycleScope [CoroutineScope] used for retrieving the most recent apps in the background.
* @property dispatcher Dispatcher used to execute suspending functions.
* @property fxaEntrypoint The entrypoint if we need to authenticate, it will be reported in telemetry.
* @property dismiss Callback signalling sharing can be closed.
* @param context [Context] used for various Android interactions.
* @param shareSubject Desired message subject used when sharing through 3rd party apps, like email clients.
* @param shareData The list of [ShareData]s that can be shared.
* @param sendTabUseCases Instance of [SendTabUseCases] which allows sending tabs to account devices.
* @param saveToPdfUseCase Instance of [SessionUseCases.SaveToPdfUseCase] to generate a PDF of a given tab.
* @param printUseCase Instance of [SessionUseCases.PrintContentUseCase] to print content of a given tab.
* @param snackbar Instance of [FenixSnackbar] for displaying styled snackbars.
* @param navController [NavController] used for navigation.
* @param recentAppsStorage Instance of [RecentAppsStorage] for storing and retrieving the most recent apps.
* @param viewLifecycleScope [CoroutineScope] used for retrieving the most recent apps in the background.
* @param dispatcher Dispatcher used to execute suspending functions.
* @param fxaEntrypoint The entrypoint if we need to authenticate, it will be reported in telemetry.
* @param dismiss Callback signalling sharing can be closed.
*/
@Suppress("TooManyFunctions", "LongParameterList")
class DefaultShareController(

@ -18,7 +18,7 @@ import org.mozilla.fenix.shopping.store.ReviewQualityCheckStore
* the store state changes from [ReviewQualityCheckState.Initial] to [ReviewQualityCheckState.NotOptedIn].
*
* @param store The store to observe.
* @property onRequestStateUpdate Callback to request the bottom sheet to be updated.
* @param onRequestStateUpdate Callback to request the bottom sheet to be updated.
*/
class ReviewQualityCheckBottomSheetStateFeature(
store: ReviewQualityCheckStore,

@ -24,16 +24,16 @@ private const val DEBOUNCE_TIMEOUT_MILLIS = 200L
* Feature implementation that provides review quality check information for supported product
* pages.
*
* @property appStore Reference to the application's [AppStore].
* @property browserStore Reference to the application's [BrowserStore].
* @property shoppingExperienceFeature Reference to the [ShoppingExperienceFeature].
* @property onIconVisibilityChange Invoked when shopping icon visibility changes based on feature
* @param appStore Reference to the application's [AppStore].
* @param browserStore Reference to the application's [BrowserStore].
* @param shoppingExperienceFeature Reference to the [ShoppingExperienceFeature].
* @param onIconVisibilityChange Invoked when shopping icon visibility changes based on feature
* flag and when the loaded page is a supported product page.
* @property onBottomSheetStateChange Invoked when the bottom sheet is collapsed or expanded.
* @property debounceTimeoutMillis Function that returns the debounce timeout in milliseconds. This
* @param onBottomSheetStateChange Invoked when the bottom sheet is collapsed or expanded.
* @param debounceTimeoutMillis Function that returns the debounce timeout in milliseconds. This
* make it possible to wait till [ContentState.isProductUrl] is stable before invoking
* [onIconVisibilityChange].
* @property onProductPageDetected Invoked when a product page is detected and loaded. Used to
* @param onProductPageDetected Invoked when a product page is detected and loaded. Used to
* detect when to send telemetry for shopping.product_page_visits.
*/
@OptIn(FlowPreview::class)

@ -16,7 +16,7 @@ private const val PARAM_UTM_TERM_VALUE = "core-sheet"
/**
* Class used to retrieve the SUMO review quality check link.
*
* @property context Context used to localize the SUMO url.
* @param context Context used to localize the SUMO url.
*/
class GetReviewQualityCheckSumoUrl(
private val context: Context,

@ -19,8 +19,8 @@ private const val TERMS_OF_USE_URL = "https://www.fakespot.com/terms"
/**
* Middleware that handles navigation events for the review quality check feature.
*
* @property selectOrAddUseCase UseCase instance used to open new tabs.
* @property getReviewQualityCheckSumoUrl Instance used to retrieve the learn more SUMO link.
* @param selectOrAddUseCase UseCase instance used to open new tabs.
* @param getReviewQualityCheckSumoUrl Instance used to retrieve the learn more SUMO link.
*/
class ReviewQualityCheckNavigationMiddleware(
private val selectOrAddUseCase: TabsUseCases.SelectOrAddUseCase,

@ -24,10 +24,10 @@ import org.mozilla.fenix.shopping.store.ReviewQualityCheckState.RecommendedProdu
/**
* Middleware that handles network requests for the review quality check feature.
*
* @property reviewQualityCheckService The service that handles the network requests.
* @property networkChecker The [NetworkChecker] instance to check the network status.
* @property appStore The [AppStore] instance to access state and dispatch [ShoppingAction]s.
* @property scope The [CoroutineScope] that will be used to launch coroutines.
* @param reviewQualityCheckService The service that handles the network requests.
* @param networkChecker The [NetworkChecker] instance to check the network status.
* @param appStore The [AppStore] instance to access state and dispatch [ShoppingAction]s.
* @param scope The [CoroutineScope] that will be used to launch coroutines.
*/
class ReviewQualityCheckNetworkMiddleware(
private val reviewQualityCheckService: ReviewQualityCheckService,

@ -44,7 +44,7 @@ interface ReviewQualityCheckPreferences {
* Implementation of [ReviewQualityCheckPreferences] that uses [Settings] to store/fetch
* preferences.
*
* @property settings The [Settings] instance to use.
* @param settings The [Settings] instance to use.
*/
class DefaultReviewQualityCheckPreferences(
private val settings: Settings,

@ -15,11 +15,11 @@ import org.mozilla.fenix.shopping.store.ReviewQualityCheckState
/**
* Middleware for getting and setting review quality check user preferences.
*
* @property reviewQualityCheckPreferences The [ReviewQualityCheckPreferences] instance to get and
* @param reviewQualityCheckPreferences The [ReviewQualityCheckPreferences] instance to get and
* set preferences for the review quality check feature.
* @property reviewQualityCheckVendorsService The [ReviewQualityCheckVendorsService] instance for
* @param reviewQualityCheckVendorsService The [ReviewQualityCheckVendorsService] instance for
* getting the list of product vendors.
* @property scope The [CoroutineScope] to use for launching coroutines.
* @param scope The [CoroutineScope] to use for launching coroutines.
*/
class ReviewQualityCheckPreferencesMiddleware(
private val reviewQualityCheckPreferences: ReviewQualityCheckPreferences,

@ -56,7 +56,7 @@ interface ReviewQualityCheckService {
/**
* Service that handles the network requests for the review quality check feature.
*
* @property browserStore Reference to the application's [BrowserStore] to access state.
* @param browserStore Reference to the application's [BrowserStore] to access state.
*/
class DefaultReviewQualityCheckService(
private val browserStore: BrowserStore,

@ -31,7 +31,7 @@ interface ReviewQualityCheckVendorsService {
* Default implementation of [ReviewQualityCheckVendorsService] that uses the [BrowserStore] to
* identify the selected tab.
*
* @property browserStore The [BrowserStore] instance to use.
* @param browserStore The [BrowserStore] instance to use.
*/
class DefaultReviewQualityCheckVendorsService(
private val browserStore: BrowserStore,

@ -15,8 +15,8 @@ import org.mozilla.fenix.ext.components
/**
* Starts and stops SyncedTabsStorage based on the authentication state.
*
* @property context Used to get synced tabs storage, due to cyclic dependency.
* @property accountManager Used to check and observe account authentication state.
* @param context Used to get synced tabs storage, due to cyclic dependency.
* @param accountManager Used to check and observe account authentication state.
*/
class SyncedTabsIntegration(
private val context: Context,

@ -30,11 +30,11 @@ private const val DIM_CONVERSION = 1000f
/**
* Helper class for updating how the tray looks and behaves depending on app state / internal tray state.
*
* @property behavior [BottomSheetBehavior] that will actually control the tray.
* @param behavior [BottomSheetBehavior] that will actually control the tray.
* @param orientation current Configuration.ORIENTATION_* of the device.
* @property maxNumberOfTabs highest number of tabs in each tray page.
* @property numberForExpandingTray limit depending on which the tray should be collapsed or expanded.
* @property displayMetrics [DisplayMetrics] used for adapting resources to the current display.
* @param maxNumberOfTabs highest number of tabs in each tray page.
* @param numberForExpandingTray limit depending on which the tray should be collapsed or expanded.
* @param displayMetrics [DisplayMetrics] used for adapting resources to the current display.
*/
internal class TabSheetBehaviorManager(
private val behavior: BottomSheetBehavior<out View>,

@ -172,26 +172,26 @@ interface TabsTrayController : SyncedTabsController, InactiveTabsController, Tab
/**
* Default implementation of [TabsTrayController].
*
* @property activity [HomeActivity] used to perform top-level app actions.
* @property appStore [AppStore] used to dispatch any [AppAction].
* @property tabsTrayStore [TabsTrayStore] used to read/update the [TabsTrayState].
* @property browserStore [BrowserStore] used to read/update the current [BrowserState].
* @property settings [Settings] used to update any user preferences.
* @property browsingModeManager [BrowsingModeManager] used to read/update the current [BrowsingMode].
* @property navController [NavController] used to navigate away from the tabs tray.
* @property navigateToHomeAndDeleteSession Lambda used to return to the Homescreen and delete the current session.
* @property profiler [Profiler] used to add profiler markers.
* @property navigationInteractor [NavigationInteractor] used to perform navigation actions with side effects.
* @property tabsUseCases Use case wrapper for interacting with tabs.
* @property bookmarksUseCase Use case wrapper for interacting with bookmarks.
* @property ioDispatcher [CoroutineContext] used to handle saving tabs as bookmarks.
* @property collectionStorage Storage layer for interacting with collections.
* @property selectTabPosition Lambda used to scroll the tabs tray to the desired position.
* @property dismissTray Lambda used to dismiss/minimize the tabs tray.
* @property showUndoSnackbarForTab Lambda used to display an UNDO Snackbar.
* @param activity [HomeActivity] used to perform top-level app actions.
* @param appStore [AppStore] used to dispatch any [AppAction].
* @param tabsTrayStore [TabsTrayStore] used to read/update the [TabsTrayState].
* @param browserStore [BrowserStore] used to read/update the current [BrowserState].
* @param settings [Settings] used to update any user preferences.
* @param browsingModeManager [BrowsingModeManager] used to read/update the current [BrowsingMode].
* @param navController [NavController] used to navigate away from the tabs tray.
* @param navigateToHomeAndDeleteSession Lambda used to return to the Homescreen and delete the current session.
* @param profiler [Profiler] used to add profiler markers.
* @param navigationInteractor [NavigationInteractor] used to perform navigation actions with side effects.
* @param tabsUseCases Use case wrapper for interacting with tabs.
* @param bookmarksUseCase Use case wrapper for interacting with bookmarks.
* @param ioDispatcher [CoroutineContext] used to handle saving tabs as bookmarks.
* @param collectionStorage Storage layer for interacting with collections.
* @param selectTabPosition Lambda used to scroll the tabs tray to the desired position.
* @param dismissTray Lambda used to dismiss/minimize the tabs tray.
* @param showUndoSnackbarForTab Lambda used to display an UNDO Snackbar.
* @property showCancelledDownloadWarning Lambda used to display a cancelled download warning.
* @property showBookmarkSnackbar Lambda used to display a snackbar upon saving tabs as bookmarks.
* @property showCollectionSnackbar Lambda used to display a snackbar upon successfully saving tabs
* @param showBookmarkSnackbar Lambda used to display a snackbar upon saving tabs as bookmarks.
* @param showCollectionSnackbar Lambda used to display a snackbar upon successfully saving tabs
* to a collection.
*/
@Suppress("TooManyFunctions", "LongParameterList")

@ -110,7 +110,7 @@ interface TabsTrayInteractor :
/**
* Default implementation of [TabsTrayInteractor].
*
* @property controller [TabsTrayController] to which user actions can be delegated for app updates.
* @param controller [TabsTrayController] to which user actions can be delegated for app updates.
*/
@Suppress("TooManyFunctions")
class DefaultTabsTrayInteractor(

@ -48,11 +48,11 @@ import org.mozilla.fenix.tabstray.ext.toDisplayTitle
* A RecyclerView ViewHolder implementation for "tab" items.
*
* @param itemView [View] that displays a "tab".
* @property imageLoader [ImageLoader] used to load tab thumbnails.
* @property trayStore [TabsTrayStore] containing the complete state of tabs tray and methods to update that.
* @property selectionHolder [SelectionHolder] instance containing the selected tabs in the tabs tray.
* @param imageLoader [ImageLoader] used to load tab thumbnails.
* @param trayStore [TabsTrayStore] containing the complete state of tabs tray and methods to update that.
* @param selectionHolder [SelectionHolder] instance containing the selected tabs in the tabs tray.
* @property featureName [String] representing the name of the feature displaying tabs. Used in telemetry reporting.
* @property store [BrowserStore] containing the complete state of the browser and methods to update that.
* @param store [BrowserStore] containing the complete state of the browser and methods to update that.
*/
@Suppress("LongParameterList")
abstract class AbstractBrowserTabViewHolder(

@ -29,9 +29,9 @@ import org.mozilla.fenix.tabstray.browser.compose.ComposeListViewHolder
/**
* A [RecyclerView.Adapter] for browser tabs.
*
* @property context [Context] used for various platform interactions or accessing [Components]
* @param context [Context] used for various platform interactions or accessing [Components]
* @property interactor [TabsTrayInteractor] handling tabs interactions in a tab tray.
* @property store [TabsTrayStore] containing the complete state of tabs tray and methods to update that.
* @param store [TabsTrayStore] containing the complete state of tabs tray and methods to update that.
* @property featureName [String] representing the name of the feature displaying tabs. Used in telemetry reporting.
* @property viewLifecycleOwner [LifecycleOwner] life cycle owner for the view.
*/

@ -30,8 +30,8 @@ import org.mozilla.fenix.GleanMetrics.TabsTray as TabsTrayMetrics
*
* @param composeView [ComposeView] which will be populated with Jetpack Compose UI content.
* @param lifecycleOwner [LifecycleOwner] to which this Composable will be tied to.
* @property tabsTrayStore [TabsTrayStore] used to listen for changes to [TabsTrayState.inactiveTabs].
* @property interactor [InactiveTabsInteractor] used to respond to interactions with the inactive tabs header
* @param tabsTrayStore [TabsTrayStore] used to listen for changes to [TabsTrayState.inactiveTabs].
* @param interactor [InactiveTabsInteractor] used to respond to interactions with the inactive tabs header
* and the auto close dialog.
*/
@Suppress("LongParameterList")

@ -14,9 +14,9 @@ import org.mozilla.fenix.tabstray.TabsTrayStore
/**
* The adapter for displaying the section of inactive tabs.
*
* @property lifecycleOwner [LifecycleOwner] to which the Composable will be tied to.
* @property tabsTrayStore [TabsTrayStore] used to listen for changes to [TabsTrayState.inactiveTabs].
* @property interactor [InactiveTabsInteractor] used to respond to interactions with the inactive tabs header
* @param lifecycleOwner [LifecycleOwner] to which the Composable will be tied to.
* @param tabsTrayStore [TabsTrayStore] used to listen for changes to [TabsTrayState.inactiveTabs].
* @param interactor [InactiveTabsInteractor] used to respond to interactions with the inactive tabs header
* and the auto close dialog.
* @property featureName [String] representing the name of the inactive tabs feature for telemetry reporting.
*/

@ -28,13 +28,13 @@ import org.mozilla.fenix.tabstray.ext.showWithTheme
/**
* A binding that shows/hides the multi-select banner of the selected count of tabs.
*
* @property context An Android context.
* @property binding The binding used to display the view.
* @property store [TabsTrayStore] used to listen for changes to [TabsTrayState] and dispatch actions.
* @property interactor [TabsTrayInteractor] for responding to user actions.
* @property backgroundView The background view that we want to alter when changing [Mode].
* @property showOnSelectViews A variable list of views that will be made visible when in select mode.
* @property showOnNormalViews A variable list of views that will be made visible when in normal mode.
* @param context An Android context.
* @param binding The binding used to display the view.
* @param store [TabsTrayStore] used to listen for changes to [TabsTrayState] and dispatch actions.
* @param interactor [TabsTrayInteractor] for responding to user actions.
* @param backgroundView The background view that we want to alter when changing [Mode].
* @param showOnSelectViews A variable list of views that will be made visible when in select mode.
* @param showOnNormalViews A variable list of views that will be made visible when in normal mode.
*/
@OptIn(ExperimentalCoroutinesApi::class)
@Suppress("LongParameterList")

@ -27,8 +27,8 @@ private const val NORMAL_HANDLE_PERCENT_WIDTH = 0.1F
* between [Mode].
*
* @param store The TabsTrayStore instance.
* @property handle The "handle" of the Tabs Tray that is used to drag the tray open/close.
* @property containerLayout The [ConstraintLayout] that contains the "handle".
* @param handle The "handle" of the Tabs Tray that is used to drag the tray open/close.
* @param containerLayout The [ConstraintLayout] that contains the "handle".
*/
@OptIn(ExperimentalCoroutinesApi::class)
class SelectionHandleBinding(

@ -51,8 +51,8 @@ class TabsTouchHelper(
* An [ItemTouchHelper.Callback] for drawing custom layouts on [RecyclerView.ViewHolder] interactions.
*
* @param delegate [TabsTray.Delegate] for handling all user interactions.
* @property onViewHolderTouched Invoked when a tab is about to be swiped. See [OnViewHolderTouched].
* @property onViewHolderDraw Invoked when a tab is drawn. See [OnViewHolderToDraw].
* @param onViewHolderTouched Invoked when a tab is about to be swiped. See [OnViewHolderTouched].
* @param onViewHolderDraw Invoked when a tab is drawn. See [OnViewHolderToDraw].
* @param featureNameHolder Contains the identifying name of the feature.
* @param onRemove A callback invoked when a tab is removed.
*/

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save