You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iceraven-browser/app/src/main/java/org/mozilla/fenix/home/recentbookmarks/interactor/RecentBookmarksInteractor.kt

37 lines
1.3 KiB
Kotlin

For FNX-22339: Recently saved bookmarks (#19835) * Title and button for home screen recently saved bookmarks section Create bookmark item view with favicon and title * View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home Update list on app start and when bookmarks are added View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home Update list on app start and when bookmarks are added Make a use case for retrieving and updating the list of recently saved bookmarks Add adapter items and define header viewholder binding Use session interactor for header button clicks. Bind in the adapter * Retrieve list of bookmarks asynchronously on home Interactor and controller tests Address review comments Split up tests for recent bookmarks Update to new interactors Dark mode and light mode styles Refactor bookmarks home stuff * Add RecentBookmarksFeature to home Move interactor to SessionControlInteractor Clean up lint, styles, and dimens. * Bookmarks use case tests for retrieving recently saved bookmarks. Linting. * View holder tests * Match ux to designs for colors, margins, and scrolling * Clean up clean up * Tests for the view bound feature * Controller test * Clean up: check state of store in feature tests; ellipsize textviews for bookmark item; remove unused attr; format Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.fenix.home.recentbookmarks.interactor
import org.mozilla.fenix.home.recentbookmarks.RecentBookmark
For FNX-22339: Recently saved bookmarks (#19835) * Title and button for home screen recently saved bookmarks section Create bookmark item view with favicon and title * View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home Update list on app start and when bookmarks are added View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home Update list on app start and when bookmarks are added Make a use case for retrieving and updating the list of recently saved bookmarks Add adapter items and define header viewholder binding Use session interactor for header button clicks. Bind in the adapter * Retrieve list of bookmarks asynchronously on home Interactor and controller tests Address review comments Split up tests for recent bookmarks Update to new interactors Dark mode and light mode styles Refactor bookmarks home stuff * Add RecentBookmarksFeature to home Move interactor to SessionControlInteractor Clean up lint, styles, and dimens. * Bookmarks use case tests for retrieving recently saved bookmarks. Linting. * View holder tests * Match ux to designs for colors, margins, and scrolling * Clean up clean up * Tests for the view bound feature * Controller test * Clean up: check state of store in feature tests; ellipsize textviews for bookmark item; remove unused attr; format Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
import org.mozilla.fenix.home.sessioncontrol.SessionControlInteractor
/**
* Interface for recently saved bookmark related actions in the [SessionControlInteractor].
*/
interface RecentBookmarksInteractor {
/**
* Opens the given bookmark in a new tab. Called when an user clicks on a recently saved
* bookmark on the home screen.
*
* @param bookmark The bookmark that will be opened.
*/
fun onRecentBookmarkClicked(bookmark: RecentBookmark)
For FNX-22339: Recently saved bookmarks (#19835) * Title and button for home screen recently saved bookmarks section Create bookmark item view with favicon and title * View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home Update list on app start and when bookmarks are added View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home Update list on app start and when bookmarks are added Make a use case for retrieving and updating the list of recently saved bookmarks Add adapter items and define header viewholder binding Use session interactor for header button clicks. Bind in the adapter * Retrieve list of bookmarks asynchronously on home Interactor and controller tests Address review comments Split up tests for recent bookmarks Update to new interactors Dark mode and light mode styles Refactor bookmarks home stuff * Add RecentBookmarksFeature to home Move interactor to SessionControlInteractor Clean up lint, styles, and dimens. * Bookmarks use case tests for retrieving recently saved bookmarks. Linting. * View holder tests * Match ux to designs for colors, margins, and scrolling * Clean up clean up * Tests for the view bound feature * Controller test * Clean up: check state of store in feature tests; ellipsize textviews for bookmark item; remove unused attr; format Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
/**
* Navigates to bookmark list. Called when an user clicks on the "Show all" button for
* recently saved bookmarks on the home screen.
*/
fun onShowAllBookmarksClicked()
/**
* Removes a bookmark from the recent bookmark list. Called when a user clicks the "Remove"
* button for recently saved bookmarks on the home screen.
*
* @param bookmark The bookmark that has been removed.
*/
fun onRecentBookmarkRemoved(bookmark: RecentBookmark)
For FNX-22339: Recently saved bookmarks (#19835) * Title and button for home screen recently saved bookmarks section Create bookmark item view with favicon and title * View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home Update list on app start and when bookmarks are added View holders and interactors for recently saved bookmarks Recent bookmark item view holder binding Create adapter for recent bookmarks. Implement controller methods. Implement view holder bindings for items Top level adapter for recent bookmarks section Retrieve list of recent bookmarks on home Update list on app start and when bookmarks are added Make a use case for retrieving and updating the list of recently saved bookmarks Add adapter items and define header viewholder binding Use session interactor for header button clicks. Bind in the adapter * Retrieve list of bookmarks asynchronously on home Interactor and controller tests Address review comments Split up tests for recent bookmarks Update to new interactors Dark mode and light mode styles Refactor bookmarks home stuff * Add RecentBookmarksFeature to home Move interactor to SessionControlInteractor Clean up lint, styles, and dimens. * Bookmarks use case tests for retrieving recently saved bookmarks. Linting. * View holder tests * Match ux to designs for colors, margins, and scrolling * Clean up clean up * Tests for the view bound feature * Controller test * Clean up: check state of store in feature tests; ellipsize textviews for bookmark item; remove unused attr; format Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
3 years ago
}