From 87a7b6f9ec7d25eb58cd447bc4b4a308f3566f02 Mon Sep 17 00:00:00 2001 From: ekager Date: Wed, 29 Jul 2020 11:08:14 -0400 Subject: [PATCH] For #12992 - Correctly notifies concat adapters about mode changes --- .../mozilla/fenix/tabtray/SaveToCollectionsButtonAdapter.kt | 6 +++++- app/src/main/java/org/mozilla/fenix/tabtray/TabTrayView.kt | 5 +++-- 2 files changed, 8 insertions(+), 3 deletions(-) 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 d9bce5f3b..779e8445a 100644 --- a/app/src/main/java/org/mozilla/fenix/tabtray/SaveToCollectionsButtonAdapter.kt +++ b/app/src/main/java/org/mozilla/fenix/tabtray/SaveToCollectionsButtonAdapter.kt @@ -7,6 +7,7 @@ package org.mozilla.fenix.tabtray import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.view.isVisible import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView @@ -31,7 +32,10 @@ class SaveToCollectionsButtonAdapter( return ViewHolder(itemView, interactor) } - override fun onBindViewHolder(holder: ViewHolder, position: Int) = Unit + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + holder.itemView.isVisible = + interactor.onModeRequested() is TabTrayDialogFragmentState.Mode.Normal + } override fun getItemViewType(position: Int): Int { return ViewHolder.LAYOUT_ID 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 1c41961ef..44b1f609d 100644 --- a/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayView.kt +++ b/app/src/main/java/org/mozilla/fenix/tabtray/TabTrayView.kt @@ -413,7 +413,8 @@ class TabTrayView( isPrivateModeSelected ) - this.adapter?.notifyItemRangeChanged(0, tabs.size, true) + collectionsButtonAdapter.notifyItemChanged(0) + tabsAdapter.notifyItemRangeChanged(0, tabs.size, true) } } @@ -425,7 +426,7 @@ class TabTrayView( val selectedBrowserTabIndex = tabs.indexOfFirst { it.id == itemId } - this.adapter?.notifyItemChanged( + tabsAdapter.notifyItemChanged( selectedBrowserTabIndex, true ) }