diff --git a/app/src/main/java/org/mozilla/fenix/library/LibraryFragment.kt b/app/src/main/java/org/mozilla/fenix/library/LibraryFragment.kt
index a8b03e0bf0..2537dad975 100644
--- a/app/src/main/java/org/mozilla/fenix/library/LibraryFragment.kt
+++ b/app/src/main/java/org/mozilla/fenix/library/LibraryFragment.kt
@@ -5,6 +5,7 @@
package org.mozilla.fenix.library
import android.os.Bundle
+import android.util.Log
import android.view.LayoutInflater
import android.view.Menu
import android.view.MenuInflater
@@ -12,8 +13,12 @@ import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
+import androidx.constraintlayout.widget.Group
import androidx.fragment.app.Fragment
import androidx.navigation.Navigation
+import kotlinx.android.synthetic.main.fragment_library.*
+import org.jetbrains.anko.constraint.layout.group
+import org.jetbrains.anko.view
import org.mozilla.fenix.R
class LibraryFragment : Fragment() {
@@ -32,6 +37,14 @@ class LibraryFragment : Fragment() {
(activity as AppCompatActivity).supportActionBar?.show()
}
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+
+ libraryHistory.setOnClickListener {
+ Navigation.findNavController(it).navigate(R.id.action_libraryFragment_to_historyFragment)
+ }
+ }
+
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
inflater.inflate(R.menu.library_menu, menu)
}
@@ -39,7 +52,8 @@ class LibraryFragment : Fragment() {
override fun onOptionsItemSelected(item: MenuItem): Boolean {
return when (item.itemId) {
R.id.libraryClose -> {
- Navigation.findNavController(requireActivity(), R.id.container).popBackStack()
+ Navigation.findNavController(requireActivity(), R.id.container)
+ .popBackStack(R.id.browserFragment, false)
true
}
R.id.librarySearch -> {
diff --git a/app/src/main/java/org/mozilla/fenix/library/LibraryListItem.kt b/app/src/main/java/org/mozilla/fenix/library/LibraryListItem.kt
index b56906e2d1..e4eb57fd84 100644
--- a/app/src/main/java/org/mozilla/fenix/library/LibraryListItem.kt
+++ b/app/src/main/java/org/mozilla/fenix/library/LibraryListItem.kt
@@ -18,6 +18,7 @@ class LibraryListItem @JvmOverloads constructor(
) : ConstraintLayout(context, attrs, defStyleAttr) {
init {
LayoutInflater.from(context).inflate(R.layout.library_list_item, this, true)
+
attrs.let {
context.theme.obtainStyledAttributes(
it,
diff --git a/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt
new file mode 100644
index 0000000000..bfc896fe39
--- /dev/null
+++ b/app/src/main/java/org/mozilla/fenix/library/history/HistoryFragment.kt
@@ -0,0 +1,52 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ 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/. */
+
+package org.mozilla.fenix.library.history
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.Menu
+import android.view.MenuInflater
+import android.view.MenuItem
+import android.view.View
+import android.view.ViewGroup
+import androidx.appcompat.app.AppCompatActivity
+import androidx.fragment.app.Fragment
+import androidx.navigation.Navigation
+import org.mozilla.fenix.R
+
+class HistoryFragment : Fragment() {
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ return inflater.inflate(R.layout.fragment_history, container, false)
+ }
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setHasOptionsMenu(true)
+ (activity as AppCompatActivity).supportActionBar?.show()
+ }
+
+ override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
+ inflater.inflate(R.menu.library_menu, menu)
+ }
+
+ override fun onOptionsItemSelected(item: MenuItem): Boolean {
+ return when (item.itemId) {
+ R.id.libraryClose -> {
+ Navigation.findNavController(requireActivity(), R.id.container).popBackStack(R.id.browserFragment, false)
+ true
+ }
+ R.id.librarySearch -> {
+ // TODO Library Search
+ true
+ }
+ else -> super.onOptionsItemSelected(item)
+ }
+ }
+}
diff --git a/app/src/main/res/layout/fragment_history.xml b/app/src/main/res/layout/fragment_history.xml
new file mode 100644
index 0000000000..57a09c2374
--- /dev/null
+++ b/app/src/main/res/layout/fragment_history.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/library_list_item.xml b/app/src/main/res/layout/library_list_item.xml
index 7a4bdd5ace..634ed3d982 100644
--- a/app/src/main/res/layout/library_list_item.xml
+++ b/app/src/main/res/layout/library_list_item.xml
@@ -2,8 +2,10 @@
-
@@ -29,6 +32,7 @@
android:layout_marginBottom="8dp"
android:gravity="center_vertical"
android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle1"
+ android:clickable="false"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/libraryIcon"
app:layout_constraintTop_toTopOf="parent" />
@@ -37,7 +41,7 @@
android:layout_width="0dp"
android:layout_height="1dp"
android:background="@drawable/library_separator"
+ android:clickable="false"
app:layout_constraintStart_toStartOf="@id/libraryItemTitle"
app:layout_constraintTop_toBottomOf="@id/libraryIcon" />
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml
index 85d7f1e0bd..119aba5999 100644
--- a/app/src/main/res/navigation/nav_graph.xml
+++ b/app/src/main/res/navigation/nav_graph.xml
@@ -64,11 +64,27 @@
android:id="@+id/action_browserFragment_to_libraryFragment"
app:destination="@id/libraryFragment" />
+
+
+ tools:layout="@layout/fragment_library">
+
+
+
+
+
+
+
+