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 c309a4fb9..3bfb5076a 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 @@ -12,8 +12,10 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.SimpleItemAnimator import kotlinx.android.synthetic.main.component_history.* import kotlinx.android.synthetic.main.component_history.view.* +import kotlinx.android.synthetic.main.recently_closed_nav_item.* import mozilla.components.support.base.feature.UserInteractionHandler import org.mozilla.fenix.R +import org.mozilla.fenix.ext.components import org.mozilla.fenix.library.LibraryPageView import org.mozilla.fenix.library.SelectionInteractor import org.mozilla.fenix.theme.ThemeManager @@ -164,6 +166,19 @@ class HistoryView( fun updateEmptyState(userHasHistory: Boolean) { history_list.isVisible = userHasHistory history_empty_view.isVisible = !userHasHistory + recently_closed_nav_empty.apply { + setOnClickListener { + interactor.onRecentlyClosedClicked() + } + val numRecentTabs = view.context.components.core.store.state.closedTabs.size + recently_closed_tabs_description.text = String.format( + view.context.getString( + if (numRecentTabs == 1) + R.string.recently_closed_tab else R.string.recently_closed_tabs + ), numRecentTabs + ) + isVisible = !userHasHistory + } if (!userHasHistory) { history_empty_view.announceForAccessibility(context.getString(R.string.history_empty_message)) } diff --git a/app/src/main/java/org/mozilla/fenix/library/history/viewholders/HistoryListItemViewHolder.kt b/app/src/main/java/org/mozilla/fenix/library/history/viewholders/HistoryListItemViewHolder.kt index 03016716e..9d09c115e 100644 --- a/app/src/main/java/org/mozilla/fenix/library/history/viewholders/HistoryListItemViewHolder.kt +++ b/app/src/main/java/org/mozilla/fenix/library/history/viewholders/HistoryListItemViewHolder.kt @@ -5,10 +5,12 @@ package org.mozilla.fenix.library.history.viewholders import android.view.View +import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.view.isVisible import androidx.recyclerview.widget.RecyclerView import kotlinx.android.synthetic.main.history_list_item.view.* import kotlinx.android.synthetic.main.library_site_item.view.* +import kotlinx.android.synthetic.main.recently_closed_nav_item.view.* import org.mozilla.fenix.R import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.hideAndDisable @@ -41,7 +43,7 @@ class HistoryListItemViewHolder( } } - itemView.recently_closed.setOnClickListener { + itemView.findViewById(R.id.recently_closed_nav).setOnClickListener { historyInteractor.onRecentlyClosedClicked() } } @@ -115,9 +117,9 @@ class HistoryListItemViewHolder( R.string.recently_closed_tab else R.string.recently_closed_tabs ), numRecentTabs ) - itemView.recently_closed.isVisible = true + itemView.findViewById(R.id.recently_closed_nav).isVisible = true } else { - itemView.recently_closed.visibility = View.GONE + itemView.findViewById(R.id.recently_closed_nav).visibility = View.GONE itemView.delete_button.visibility = View.GONE } } diff --git a/app/src/main/res/layout/component_history.xml b/app/src/main/res/layout/component_history.xml index 3452a6c5f..180f69a8b 100644 --- a/app/src/main/res/layout/component_history.xml +++ b/app/src/main/res/layout/component_history.xml @@ -2,48 +2,58 @@ - + + + android:id="@+id/progress_bar" + style="@style/Widget.AppCompat.ProgressBar.Horizontal" + android:layout_width="match_parent" + android:layout_height="8dp" + android:indeterminate="true" + android:translationY="-3dp" + android:visibility="gone" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + + android:id="@+id/history_empty_view" + android:layout_width="0dp" + android:layout_height="0dp" + android:gravity="center" + android:text="@string/history_empty_message" + android:textColor="?secondaryText" + android:textSize="16sp" + android:visibility="gone" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/recently_closed_nav_empty" /> + android:layout_height="0dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintTop_toBottomOf="@id/recently_closed_nav_empty"> + android:visibility="gone" + tools:listitem="@layout/history_list_item" /> diff --git a/app/src/main/res/layout/history_list_item.xml b/app/src/main/res/layout/history_list_item.xml index 147d44820..98d8cace0 100644 --- a/app/src/main/res/layout/history_list_item.xml +++ b/app/src/main/res/layout/history_list_item.xml @@ -3,7 +3,6 @@ - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> - - - - - - - - + + + + + + + + + + \ No newline at end of file