bookmsarks wip

This commit is contained in:
Öppen 2020-09-10 22:20:24 +01:00
parent 38e3442cfd
commit 4030921b32
6 changed files with 111 additions and 1 deletions

View File

@ -23,6 +23,7 @@ import oppen.gem.io.gemini.RuntimeCache
import oppen.gem.io.history.uris.HistoryInterface
import oppen.gem.ui.audio_player.AudioPlayer
import oppen.gem.ui.bookmarks.BookmarkDialog
import oppen.gem.ui.bookmarks.BookmarksDialog
import oppen.gem.ui.content_image.ImageDialog
import oppen.gem.ui.content_text.TextDialog
import oppen.gem.ui.modals_menus.about.AboutDialog
@ -155,7 +156,13 @@ class GemActivity : AppCompatActivity() {
}.show()
}
R.id.overflow_menu_bookmarks -> {
//todo
BookmarksDialog(this, bookmarkDatasource){
bookmarkDatasource.get { bookmarks ->
bookmarks.forEach {bookmark ->
println("Bookmark: ${bookmark.label}: ${bookmark.uri}")
}
}
}.show()
}
R.id.overflow_menu_backlinks -> {
val currentAddress = binding.addressEdit.text.toString()

View File

@ -0,0 +1,32 @@
package oppen.gem.ui.bookmarks
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import oppen.gem.R
import oppen.gem.io.bookmarks.Bookmark
class BookmarksAdapter: RecyclerView.Adapter<BookmarksAdapter.ViewHolder>() {
val bookmarks = mutableListOf<Bookmark>()
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView)
fun update(bookmarks: List<Bookmark>){
this.bookmarks.addAll(bookmarks)
notifyDataSetChanged()
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(
LayoutInflater.from(parent.context).inflate(R.layout.bookmark, parent, false)
)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val bookmark = bookmarks[position]
}
override fun getItemCount(): Int = bookmarks.size
}

View File

@ -0,0 +1,39 @@
package oppen.gem.ui.bookmarks
import android.content.Context
import android.view.View
import androidx.appcompat.app.AppCompatDialog
import androidx.recyclerview.widget.LinearLayoutManager
import kotlinx.android.synthetic.main.dialog_bookmarks.view.*
import oppen.gem.R
import oppen.gem.io.bookmarks.Bookmark
import oppen.gem.io.bookmarks.BookmarksDatasource
import java.net.URI
class BookmarksDialog(
context: Context,
private val bookmarkDatasource: BookmarksDatasource,
onDismiss: () -> Unit): AppCompatDialog(context, R.style.FSDialog) {
init {
val view = View.inflate(context, R.layout.dialog_bookmarks, null)
setContentView(view)
view.bookmarks_toolbar.setNavigationIcon(R.drawable.vector_close)
view.bookmarks_toolbar.setNavigationOnClickListener {
onDismiss()
dismiss()
}
view.bookmarks_recycler.layoutManager = LinearLayoutManager(context)
//None as yet
view.bookmarks_toolbar.inflateMenu(R.menu.add_bookmarks)
view.bookmarks_toolbar.setOnMenuItemClickListener {menuItem ->
true
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="match_parent"
android:layout_height="50dp"
android:background="#ff00cc"
xmlns:android="http://schemas.android.com/apk/res/android">
</RelativeLayout>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<androidx.appcompat.widget.Toolbar
android:id="@+id/bookmarks_toolbar"
android:layout_width="match_parent"
android:layout_marginTop="@dimen/default_margin"
android:layout_height="@dimen/bar_height"
app:title="Bookmarks"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/bookmarks_recycler"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/bookmarks_toolbar"/>
</RelativeLayout>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
</menu>