diff --git a/app/src/main/java/oppen/gem/ui/GemActivity.kt b/app/src/main/java/oppen/gem/ui/GemActivity.kt index 55dc330..b9b22c0 100644 --- a/app/src/main/java/oppen/gem/ui/GemActivity.kt +++ b/app/src/main/java/oppen/gem/ui/GemActivity.kt @@ -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() diff --git a/app/src/main/java/oppen/gem/ui/bookmarks/BookmarksAdapter.kt b/app/src/main/java/oppen/gem/ui/bookmarks/BookmarksAdapter.kt new file mode 100644 index 0000000..57419e9 --- /dev/null +++ b/app/src/main/java/oppen/gem/ui/bookmarks/BookmarksAdapter.kt @@ -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() { + + val bookmarks = mutableListOf() + + class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) + + fun update(bookmarks: List){ + 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 +} \ No newline at end of file diff --git a/app/src/main/java/oppen/gem/ui/bookmarks/BookmarksDialog.kt b/app/src/main/java/oppen/gem/ui/bookmarks/BookmarksDialog.kt new file mode 100644 index 0000000..4bdf8f3 --- /dev/null +++ b/app/src/main/java/oppen/gem/ui/bookmarks/BookmarksDialog.kt @@ -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 + + } + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/bookmark.xml b/app/src/main/res/layout/bookmark.xml new file mode 100644 index 0000000..cf3c0e0 --- /dev/null +++ b/app/src/main/res/layout/bookmark.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_bookmarks.xml b/app/src/main/res/layout/dialog_bookmarks.xml new file mode 100644 index 0000000..fd8a842 --- /dev/null +++ b/app/src/main/res/layout/dialog_bookmarks.xml @@ -0,0 +1,21 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/add_bookmarks.xml b/app/src/main/res/menu/add_bookmarks.xml new file mode 100644 index 0000000..fe187c0 --- /dev/null +++ b/app/src/main/res/menu/add_bookmarks.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file