You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.9 KiB
Kotlin
83 lines
2.9 KiB
Kotlin
/* 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
|
|
|
|
import android.os.Bundle
|
|
import android.view.Menu
|
|
import android.view.MenuInflater
|
|
import android.view.View
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
import androidx.appcompat.widget.Toolbar
|
|
import androidx.fragment.app.Fragment
|
|
import kotlinx.android.synthetic.main.fragment_library.*
|
|
import mozilla.appservices.places.BookmarkRoot
|
|
import mozilla.components.support.ktx.android.content.getColorFromAttr
|
|
import org.mozilla.fenix.R
|
|
import org.mozilla.fenix.components.metrics.Event
|
|
import org.mozilla.fenix.ext.nav
|
|
import org.mozilla.fenix.ext.requireComponents
|
|
import org.mozilla.fenix.ext.setToolbarColors
|
|
import org.mozilla.fenix.ext.showToolbar
|
|
|
|
/**
|
|
* Displays buttons to navigate to library sections, such as bookmarks and history.
|
|
*/
|
|
class LibraryFragment : Fragment(R.layout.fragment_library) {
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
super.onCreate(savedInstanceState)
|
|
setHasOptionsMenu(true)
|
|
}
|
|
|
|
override fun onResume() {
|
|
super.onResume()
|
|
initToolbar()
|
|
}
|
|
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
super.onViewCreated(view, savedInstanceState)
|
|
|
|
libraryHistory.setOnClickListener {
|
|
requireComponents.analytics.metrics
|
|
.track(Event.LibrarySelectedItem(view.context.getString(R.string.library_history)))
|
|
nav(
|
|
R.id.libraryFragment,
|
|
LibraryFragmentDirections.actionLibraryFragmentToHistoryFragment()
|
|
)
|
|
}
|
|
|
|
libraryBookmarks.setOnClickListener {
|
|
requireComponents.analytics.metrics
|
|
.track(Event.LibrarySelectedItem(view.context.getString(R.string.library_bookmarks)))
|
|
nav(
|
|
R.id.libraryFragment,
|
|
LibraryFragmentDirections.actionLibraryFragmentToBookmarksFragment(BookmarkRoot.Mobile.id)
|
|
)
|
|
}
|
|
|
|
requireComponents.analytics.metrics.track(Event.LibraryOpened)
|
|
}
|
|
|
|
override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
|
|
inflater.inflate(R.menu.library_menu, menu)
|
|
}
|
|
|
|
override fun onDestroy() {
|
|
super.onDestroy()
|
|
requireComponents.analytics.metrics.track(Event.LibraryClosed)
|
|
}
|
|
|
|
private fun initToolbar() {
|
|
(activity as? AppCompatActivity)?.let { activity ->
|
|
val toolbar = activity.findViewById<Toolbar>(R.id.navigationToolbar)
|
|
toolbar?.setToolbarColors(
|
|
foreground = activity.getColorFromAttr(R.attr.primaryText),
|
|
background = activity.getColorFromAttr(R.attr.foundation)
|
|
)
|
|
showToolbar(getString(R.string.library_title))
|
|
}
|
|
}
|
|
}
|