From 3b3d4c3de56c06afead6143c797fa962f6fb74ed Mon Sep 17 00:00:00 2001 From: Sawyer Blatz Date: Tue, 16 Apr 2019 08:03:22 -0700 Subject: [PATCH] Fixes #1646: Changes bookmarks toolbar color (#1651) --- .../library/bookmarks/BookmarkAdapter.kt | 18 ++++++++--- .../library/bookmarks/BookmarkFragment.kt | 31 ++++++++++++++----- .../SelectBookmarkFolderAdapter.kt | 10 ++++-- app/src/main/res/values/colors.xml | 4 +-- 4 files changed, 47 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt index 346827c03..0d136863a 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/BookmarkAdapter.kt @@ -22,6 +22,7 @@ import mozilla.components.browser.icons.IconRequest import mozilla.components.browser.menu.BrowserMenu import mozilla.components.concept.storage.BookmarkNode import mozilla.components.concept.storage.BookmarkNodeType +import org.mozilla.fenix.DefaultThemeManager import org.mozilla.fenix.R import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.increaseTapArea @@ -182,8 +183,13 @@ class BookmarkAdapter(val emptyView: View, val actionEmitter: Observer(R.id.navigationToolbar) + val colorFilter = PorterDuffColorFilter( + R.attr.primaryText.getColorFromAttr(context!!), PorterDuff.Mode.SRC_IN) + + themeToolbar(toolbar, DefaultThemeManager.resolveAttribute(R.attr.primaryText, context!!), + DefaultThemeManager.resolveAttribute(R.attr.foundation, context!!), colorFilter) } override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { @@ -113,8 +122,8 @@ class BookmarkFragment : Fragment(), CoroutineScope, BackHandler, AccountObserve } is BookmarkState.Mode.Selecting -> { inflater.inflate(R.menu.bookmarks_select_multi, menu) - val colorFilter = - PorterDuffColorFilter(R.attr.primaryText.getColorFromAttr(context!!), PorterDuff.Mode.SRC_IN) + val colorFilter = PorterDuffColorFilter( + ContextCompat.getColor(context!!, R.color.white_color), PorterDuff.Mode.SRC_IN) val enableEditButton = mode.selectedItems.size == 1 menu.findItem(R.id.edit_bookmark_multi_select).run { @@ -125,17 +134,25 @@ class BookmarkFragment : Fragment(), CoroutineScope, BackHandler, AccountObserve } activity?.title = getString(R.string.bookmarks_multi_select_title, mode.selectedItems.size) - themeToolbar(toolbar, colorFilter) + themeToolbar(toolbar, R.color.white_color, + DefaultThemeManager.resolveAttribute(R.attr.accentBright, context!!), colorFilter) } } } private fun themeToolbar( toolbar: Toolbar, - colorFilter: PorterDuffColorFilter + textColor: Int, + backgroundColor: Int, + colorFilter: PorterDuffColorFilter? = null ) { - toolbar.setBackgroundColor(ContextCompat.getColor(context!!, R.color.bookmark_multi_select_actionbar)) - toolbar.setTitleTextColor(R.attr.primaryText.getColorFromAttr(context!!)) + toolbar.setTitleTextColor(ContextCompat.getColor(context!!, textColor)) + toolbar.setBackgroundColor(ContextCompat.getColor(context!!, backgroundColor)) + + if (colorFilter == null) { + return + } + toolbar.overflowIcon?.colorFilter = colorFilter (0 until toolbar.childCount).forEach { when (val item = toolbar.getChildAt(it)) { diff --git a/app/src/main/java/org/mozilla/fenix/library/bookmarks/selectfolder/SelectBookmarkFolderAdapter.kt b/app/src/main/java/org/mozilla/fenix/library/bookmarks/selectfolder/SelectBookmarkFolderAdapter.kt index 7eb75fa1f..20c0e7f83 100644 --- a/app/src/main/java/org/mozilla/fenix/library/bookmarks/selectfolder/SelectBookmarkFolderAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/library/bookmarks/selectfolder/SelectBookmarkFolderAdapter.kt @@ -15,6 +15,7 @@ import mozilla.components.concept.storage.BookmarkNode import mozilla.components.concept.storage.BookmarkNodeType import mozilla.components.support.ktx.android.content.res.pxToDp import org.mozilla.fenix.R +import org.mozilla.fenix.ext.getColorFromAttr import org.mozilla.fenix.library.bookmarks.BookmarksSharedViewModel class SelectBookmarkFolderAdapter(private val sharedViewModel: BookmarksSharedViewModel) : @@ -84,8 +85,13 @@ class SelectBookmarkFolderAdapter(private val sharedViewModel: BookmarksSharedVi fun bind(folder: BookmarkNodeWithDepth, selected: Boolean, selectionInterface: SelectionInterface) { val backgroundTint = - if (selected) R.color.bookmark_selection_appbar_background else R.color.bookmark_favicon_background - val backgroundTintList = ContextCompat.getColorStateList(containerView!!.context, backgroundTint) + if (selected) { + R.attr.accent.getColorFromAttr(containerView!!.context) + } else { + R.attr.neutral.getColorFromAttr(containerView!!.context) + } + + val backgroundTintList = ContextCompat.getColorStateList(containerView.context, backgroundTint) bookmark_favicon.backgroundTintList = backgroundTintList val res = if (selected) R.drawable.mozac_ic_check else R.drawable.ic_folder_icon bookmark_favicon.setImageResource(res) diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index c557a8477..95d72de77 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -45,9 +45,6 @@ #DFDFE3 - #592ACB - #2E0EC1 - #2E0EC1 #00B3F4 @@ -85,4 +82,5 @@ #5C592ACB @color/photonRed60 + #FBFBFE