From 05123fb9f118e4f1c0094a68ccea04e2726d9db7 Mon Sep 17 00:00:00 2001 From: Jonathan Fisher Date: Fri, 13 Nov 2020 09:38:42 +0000 Subject: [PATCH] inline images fixes --- .../java/oppen/ariane/ui/GemtextAdapter.kt | 16 ++++++---- app/src/main/res/layout/activity_gem.xml | 2 +- app/src/main/res/layout/gemtext_link.xml | 29 +++++++------------ 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/oppen/ariane/ui/GemtextAdapter.kt b/app/src/main/java/oppen/ariane/ui/GemtextAdapter.kt index 7f0e2ad..dfbc202 100644 --- a/app/src/main/java/oppen/ariane/ui/GemtextAdapter.kt +++ b/app/src/main/java/oppen/ariane/ui/GemtextAdapter.kt @@ -7,7 +7,8 @@ import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import kotlinx.android.synthetic.main.gemtext_code_block.view.* -import kotlinx.android.synthetic.main.gemtext_link.view.* +import kotlinx.android.synthetic.main.gemtext_image_link.view.* +import kotlinx.android.synthetic.main.gemtext_link.view.gemtext_text_link import kotlinx.android.synthetic.main.gemtext_text.view.gemtext_text_textview import oppen.ariane.R import oppen.endsWithImage @@ -35,7 +36,7 @@ class GemtextAdapter(val onLink: (adapter: GemtextAdapter, link: URI, longTap: B class H2(itemView: View): ViewHolder(itemView) class H3(itemView: View): ViewHolder(itemView) class ListItem(itemView: View): ViewHolder(itemView) - class ImageLinkLink(itemView: View): ViewHolder(itemView) + class ImageLink(itemView: View): ViewHolder(itemView) class Link(itemView: View): ViewHolder(itemView) class Code(itemView: View): ViewHolder(itemView) class Quote(itemView: View): ViewHolder(itemView) @@ -55,7 +56,7 @@ class GemtextAdapter(val onLink: (adapter: GemtextAdapter, link: URI, longTap: B typeH2 -> ViewHolder.H2(LayoutInflater.from(parent.context).inflate(R.layout.gemtext_h2, parent, false)) typeH3 -> ViewHolder.H3(LayoutInflater.from(parent.context).inflate(R.layout.gemtext_h3, parent, false)) typeListItem -> ViewHolder.ListItem(LayoutInflater.from(parent.context).inflate(R.layout.gemtext_text, parent, false)) - typeImageLink -> ViewHolder.Link(LayoutInflater.from(parent.context).inflate(R.layout.gemtext_image_link, parent, false)) + typeImageLink -> ViewHolder.ImageLink(LayoutInflater.from(parent.context).inflate(R.layout.gemtext_image_link, parent, false)) typeLink -> ViewHolder.Link(LayoutInflater.from(parent.context).inflate(R.layout.gemtext_link, parent, false)) typeCodeBlock-> ViewHolder.Code(LayoutInflater.from(parent.context).inflate(R.layout.gemtext_code_block, parent, false)) typeQuote -> ViewHolder.Quote(LayoutInflater.from(parent.context).inflate(R.layout.gemtext_quote, parent, false)) @@ -71,7 +72,7 @@ class GemtextAdapter(val onLink: (adapter: GemtextAdapter, link: URI, longTap: B line.startsWith("##") -> typeH2 line.startsWith("#") -> typeH1 line.startsWith("*") -> typeListItem - line.startsWith("=>") && line.endsWithImage() -> typeImageLink + line.startsWith("=>") && getLink(line).endsWithImage() -> typeImageLink line.startsWith("=>") -> typeLink line.startsWith(">") -> typeQuote else -> typeText @@ -129,7 +130,7 @@ class GemtextAdapter(val onLink: (adapter: GemtextAdapter, link: URI, longTap: B true } } - is ViewHolder.ImageLinkLink -> { + is ViewHolder.ImageLink -> { //todo - extract, largely duplicate of above val linkParts = line.substring(2).trim().split("\\s+".toRegex(), 2) var linkName = linkParts[0] @@ -162,6 +163,11 @@ class GemtextAdapter(val onLink: (adapter: GemtextAdapter, link: URI, longTap: B } } + private fun getLink(line: String): String{ + val linkParts = line.substring(2).trim().split("\\s+".toRegex(), 2) + return linkParts[0] + } + private fun getUri(linkLine: String): URI{ val linkParts = linkLine.substring(2).trim().split("\\s+".toRegex(), 2) return URI.create(linkParts.first()) diff --git a/app/src/main/res/layout/activity_gem.xml b/app/src/main/res/layout/activity_gem.xml index e9548aa..6921fe8 100644 --- a/app/src/main/res/layout/activity_gem.xml +++ b/app/src/main/res/layout/activity_gem.xml @@ -150,7 +150,7 @@ android:layout_height="wrap_content" android:clipToPadding="false" android:paddingTop="@dimen/screen_margin" - android:paddingBottom="@dimen/default_margin" + android:paddingBottom="@dimen/screen_margin" /> diff --git a/app/src/main/res/layout/gemtext_link.xml b/app/src/main/res/layout/gemtext_link.xml index 30782ad..184fce4 100644 --- a/app/src/main/res/layout/gemtext_link.xml +++ b/app/src/main/res/layout/gemtext_link.xml @@ -3,26 +3,17 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> - - + android:layout_width="wrap_content" + android:layout_height="wrap_content" /> + \ No newline at end of file