From 0356bea50ee44f5fc31479fea56b9d5aa1eddd48 Mon Sep 17 00:00:00 2001 From: ekager Date: Thu, 30 Jul 2020 09:37:47 -0400 Subject: [PATCH] For #13117 - Hide save to collection button for private tabs in tab tray --- .../fenix/tabtray/SaveToCollectionsButtonAdapter.kt | 11 +++++++++++ .../java/org/mozilla/fenix/tabtray/TabTrayView.kt | 12 ++++++++++++ 2 files changed, 23 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/tabtray/SaveToCollectionsButtonAdapter.kt b/app/src/main/java/org/mozilla/fenix/tabtray/SaveToCollectionsButtonAdapter.kt index 779e8445a..896fdea7d 100644 --- a/app/src/main/java/org/mozilla/fenix/tabtray/SaveToCollectionsButtonAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/tabtray/SaveToCollectionsButtonAdapter.kt @@ -32,6 +32,17 @@ class SaveToCollectionsButtonAdapter( return ViewHolder(itemView, interactor) } + override fun onBindViewHolder(holder: ViewHolder, position: Int, payloads: MutableList) { + if (payloads.isNullOrEmpty()) { + onBindViewHolder(holder, position) + return + } + + (payloads[0] as TabTrayView.TabChange).let { + holder.itemView.isVisible = it == TabTrayView.TabChange.NORMAL + } + } + override fun onBindViewHolder(holder: ViewHolder, position: Int) { holder.itemView.isVisible = interactor.onModeRequested() is TabTrayDialogFragmentState.Mode.Normal diff --git a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayView.kt b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayView.kt index 44b1f609d..f11930604 100644 --- a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayView.kt +++ b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayView.kt @@ -233,9 +233,21 @@ class TabTrayView( behavior.state = BottomSheetBehavior.STATE_EXPANDED } + enum class TabChange { + PRIVATE, NORMAL + } + + private fun toggleSaveToCollectionButton(isPrivate: Boolean) { + collectionsButtonAdapter.notifyItemChanged( + 0, + if (isPrivate) TabChange.PRIVATE else TabChange.NORMAL + ) + } + override fun onTabSelected(tab: TabLayout.Tab?) { toggleFabText(isPrivateModeSelected) filterTabs.invoke(isPrivateModeSelected) + toggleSaveToCollectionButton(isPrivateModeSelected) updateUINormalMode(view.context.components.core.store.state) scrollToTab(view.context.components.core.store.state.selectedTabId)