diff --git a/app/src/main/java/org/mozilla/fenix/library/LibraryPageView.kt b/app/src/main/java/org/mozilla/fenix/library/LibraryPageView.kt index 69a164b6f..0b09bec29 100644 --- a/app/src/main/java/org/mozilla/fenix/library/LibraryPageView.kt +++ b/app/src/main/java/org/mozilla/fenix/library/LibraryPageView.kt @@ -8,6 +8,7 @@ import android.content.Context import android.graphics.ColorFilter import android.graphics.PorterDuff import android.graphics.PorterDuffColorFilter +import android.view.View import android.view.ViewGroup import android.widget.ActionMenuView import android.widget.ImageButton @@ -15,8 +16,11 @@ import androidx.annotation.ColorInt import androidx.appcompat.view.menu.ActionMenuItemView import androidx.appcompat.widget.Toolbar import androidx.core.content.ContextCompat +import androidx.core.view.children import androidx.core.view.forEach +import androidx.recyclerview.widget.RecyclerView import kotlinx.android.extensions.LayoutContainer +import kotlinx.android.synthetic.main.library_site_item.view.* import org.mozilla.fenix.R import org.mozilla.fenix.ext.asActivity import org.mozilla.fenix.ext.getColorFromAttr @@ -27,20 +31,32 @@ open class LibraryPageView( protected val context: Context inline get() = containerView.context protected val activity = context.asActivity() - protected fun setUiForNormalMode(title: String?) { + protected fun setUiForNormalMode( + title: String?, + libraryItemsList: RecyclerView + ) { activity?.title = title setToolbarColors( context.getColorFromAttr(R.attr.primaryText), context.getColorFromAttr(R.attr.foundation) ) + libraryItemsList.children.forEach { + item -> item.overflow_menu.visibility = View.VISIBLE + } } - protected fun setUiForSelectingMode(title: String?) { + protected fun setUiForSelectingMode( + title: String?, + libraryItemsList: RecyclerView + ) { activity?.title = title setToolbarColors( ContextCompat.getColor(context, R.color.white_color), context.getColorFromAttr(R.attr.accentHighContrast) ) + libraryItemsList.children.forEach { + item -> item.overflow_menu.visibility = View.INVISIBLE + } } /** diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkView.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkView.kt index 60f9ad053..acc946167 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkView.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkView.kt @@ -125,7 +125,10 @@ class BookmarkView( is BookmarkFragmentState.Mode.Normal -> setUiForNormalMode(state.tree) is BookmarkFragmentState.Mode.Selecting -> - setUiForSelectingMode(context.getString(R.string.bookmarks_multi_select_title, mode.selectedItems.size)) + setUiForSelectingMode( + context.getString(R.string.bookmarks_multi_select_title, mode.selectedItems.size), + view.bookmark_list + ) } } @@ -145,7 +148,8 @@ class BookmarkView( private fun setUiForNormalMode(root: BookmarkNode?) { super.setUiForNormalMode( - if (BookmarkRoot.Mobile.matches(root)) context.getString(R.string.library_bookmarks) else root?.title + if (BookmarkRoot.Mobile.matches(root)) context.getString(R.string.library_bookmarks) else root?.title, + view.bookmark_list ) } diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkFolderViewHolder.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkFolderViewHolder.kt index 627d39202..2c44f3c33 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkFolderViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkFolderViewHolder.kt @@ -31,6 +31,10 @@ class BookmarkFolderViewHolder( if (!item.inRoots()) { setupMenu(item) + containerView.overflowView.visibility = when (selectionHolder.selectedItems.isEmpty()) { + true -> View.VISIBLE + false -> View.INVISIBLE + } } else { containerView.overflowView.visibility = View.GONE } diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkItemViewHolder.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkItemViewHolder.kt index 2fb1d2a7c..9da389363 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkItemViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/viewholders/BookmarkItemViewHolder.kt @@ -4,6 +4,7 @@ package org.mozilla.fenix.library.bookmarks.viewholders +import android.view.View import mozilla.components.concept.storage.BookmarkNode import org.mozilla.fenix.library.LibrarySiteItemView import org.mozilla.fenix.library.SelectionHolder @@ -22,6 +23,10 @@ class BookmarkItemViewHolder( containerView.displayAs(LibrarySiteItemView.ItemType.SITE) + containerView.overflowView.visibility = when (selectionHolder.selectedItems.isEmpty()) { + true -> View.VISIBLE + false -> View.INVISIBLE + } setupMenu(item) containerView.titleView.text = if (item.title.isNullOrBlank()) item.url else item.title containerView.urlView.text = item.url diff --git a/app/src/main/java/org/mozilla/fenix/library/history/HistoryView.kt b/app/src/main/java/org/mozilla/fenix/library/history/HistoryView.kt index b9b983d7d..270783509 100644 --- a/app/src/main/java/org/mozilla/fenix/library/history/HistoryView.kt +++ b/app/src/main/java/org/mozilla/fenix/library/history/HistoryView.kt @@ -98,9 +98,13 @@ class HistoryView( when (val mode = state.mode) { is HistoryFragmentState.Mode.Normal -> - setUiForNormalMode(context.getString(R.string.library_history)) + setUiForNormalMode( + context.getString(R.string.library_history), + view.history_list) is HistoryFragmentState.Mode.Editing -> - setUiForSelectingMode(context.getString(R.string.history_multi_select_title, mode.selectedItems.size)) + setUiForSelectingMode( + context.getString(R.string.history_multi_select_title, mode.selectedItems.size), + view.history_list) } }