From 6bff472276da7cdfdb50e979d220556f4942f21d Mon Sep 17 00:00:00 2001 From: Colin Lee Date: Sat, 13 Apr 2019 23:31:15 -0500 Subject: [PATCH] No issue: Add Bookmark multi-select edit button --- CHANGELOG.md | 1 + .../library/bookmarks/BookmarkFragment.kt | 21 +++++++++++++++---- app/src/main/res/drawable/ic_edit.xml | 9 ++++++++ .../main/res/menu/bookmarks_select_multi.xml | 6 +++--- 4 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 app/src/main/res/drawable/ic_edit.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index 1aaba0e34..c5e380107 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - #1571 - Added a snackbar for undoing bookmark deletion - #1079 - Managing site permissions exceptions - #1312 - Added clear textfield buttons for editing bookmarks +- #1312 - Added a missing edit action for bookmark selections ### Changed - #1429 - Updated site permissions ui for MVP diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt index 66a0de72e..4d73e78db 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkFragment.kt @@ -52,7 +52,6 @@ import org.mozilla.fenix.ext.urlToHost import org.mozilla.fenix.mvi.ActionBusFactory import org.mozilla.fenix.mvi.getAutoDisposeObservable import org.mozilla.fenix.mvi.getManagedEmitter -import org.mozilla.fenix.utils.ItsNotBrokenSnack import kotlin.coroutines.CoroutineContext @SuppressWarnings("TooManyFunctions") @@ -114,9 +113,18 @@ class BookmarkFragment : Fragment(), CoroutineScope, BackHandler, AccountObserve } is BookmarkState.Mode.Selecting -> { inflater.inflate(R.menu.bookmarks_select_multi, menu) - activity?.title = getString(R.string.bookmarks_multi_select_title, mode.selectedItems.size) val colorFilter = PorterDuffColorFilter(R.attr.primaryText.getColorFromAttr(context!!), PorterDuff.Mode.SRC_IN) + + val enableEditButton = mode.selectedItems.size == 1 + menu.findItem(R.id.edit_bookmark_multi_select).run { + isVisible = enableEditButton + if (enableEditButton) { + icon.colorFilter = colorFilter + } + } + + activity?.title = getString(R.string.bookmarks_multi_select_title, mode.selectedItems.size) themeToolbar(toolbar, colorFilter) } } @@ -264,8 +272,13 @@ class BookmarkFragment : Fragment(), CoroutineScope, BackHandler, AccountObserve .navigate(BookmarkFragmentDirections.actionBookmarkFragmentToHomeFragment()) true } - R.id.share_bookmarks_multi_select -> { - ItsNotBrokenSnack(context!!).showSnackbar(issueNumber = "1539") + R.id.edit_bookmark_multi_select -> { + val bookmark = getSelectedBookmarks().first() + Navigation.findNavController(requireActivity(), R.id.container) + .navigate( + BookmarkFragmentDirections + .actionBookmarkFragmentToBookmarkEditFragment(bookmark.guid) + ) true } R.id.open_bookmarks_in_private_tabs_multi_select -> { diff --git a/app/src/main/res/drawable/ic_edit.xml b/app/src/main/res/drawable/ic_edit.xml new file mode 100644 index 000000000..dbd0ba7da --- /dev/null +++ b/app/src/main/res/drawable/ic_edit.xml @@ -0,0 +1,9 @@ + + + + + diff --git a/app/src/main/res/menu/bookmarks_select_multi.xml b/app/src/main/res/menu/bookmarks_select_multi.xml index 6959c8709..27389b051 100644 --- a/app/src/main/res/menu/bookmarks_select_multi.xml +++ b/app/src/main/res/menu/bookmarks_select_multi.xml @@ -5,10 +5,10 @@