From a1e4f89cd1edd211231dad1936dac4ccb27dbf25 Mon Sep 17 00:00:00 2001 From: davidoskky Date: Mon, 7 Dec 2020 22:22:54 +0100 Subject: [PATCH] Decode title of articles from html (#312) * Decode the title of the articles from html. * Remove unused imports. Closes #300 --- .../amine/bou/readerforselfoss/adapters/ItemCardAdapter.kt | 5 ++--- .../amine/bou/readerforselfoss/adapters/ItemListAdapter.kt | 3 +-- .../amine/bou/readerforselfoss/api/selfoss/SelfossModels.kt | 5 +++++ .../amine/bou/readerforselfoss/fragments/ArticleFragment.kt | 2 +- .../bou/readerforselfoss/utils/persistence/EntitiesUtils.kt | 2 +- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemCardAdapter.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemCardAdapter.kt index fb132e6..aa431c8 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemCardAdapter.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemCardAdapter.kt @@ -4,7 +4,6 @@ import android.app.Activity import android.content.Context import androidx.cardview.widget.CardView import androidx.recyclerview.widget.RecyclerView -import android.text.Html import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -69,7 +68,7 @@ class ItemCardAdapter( holder.mView.favButton.isLiked = itm.starred - holder.mView.title.text = Html.fromHtml(itm.title) + holder.mView.title.text = itm.getTitleDecoded() holder.mView.title.setOnTouchListener(LinkOnTouchListener()) holder.mView.title.setLinkTextColor(appColors.colorAccent) @@ -181,7 +180,7 @@ class ItemCardAdapter( mView.shareBtn.setOnClickListener { val item = items[adapterPosition] - c.shareLink(item.getLinkDecoded(), item.title) + c.shareLink(item.getLinkDecoded(), item.getTitleDecoded()) } mView.browserBtn.setOnClickListener { diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemListAdapter.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemListAdapter.kt index a69e807..0781573 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemListAdapter.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/adapters/ItemListAdapter.kt @@ -4,7 +4,6 @@ import android.app.Activity import android.content.Context import androidx.constraintlayout.widget.ConstraintLayout import androidx.recyclerview.widget.RecyclerView -import android.text.Html import android.text.Spannable import android.text.style.ClickableSpan import android.util.TypedValue @@ -71,7 +70,7 @@ class ItemListAdapter( val itm = items[position] - holder.mView.title.text = Html.fromHtml(itm.title) + holder.mView.title.text = itm.getTitleDecoded() holder.mView.title.setOnTouchListener(LinkOnTouchListener()) diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/api/selfoss/SelfossModels.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/api/selfoss/SelfossModels.kt index a95152f..e8c41d1 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/api/selfoss/SelfossModels.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/api/selfoss/SelfossModels.kt @@ -4,6 +4,7 @@ import android.content.Context import android.net.Uri import android.os.Parcel import android.os.Parcelable +import android.text.Html import apps.amine.bou.readerforselfoss.utils.Config import apps.amine.bou.readerforselfoss.utils.isEmptyOrNullOrNullString @@ -127,6 +128,10 @@ data class Item( return constructUrl(config, "thumbnails", thumbnail) } + fun getTitleDecoded(): String { + return Html.fromHtml(title).toString() + } + // TODO: maybe find a better way to handle these kind of urls fun getLinkDecoded(): String { var stringUrl: String diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/fragments/ArticleFragment.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/fragments/ArticleFragment.kt index bf641de..fe5945d 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/fragments/ArticleFragment.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/fragments/ArticleFragment.kt @@ -113,7 +113,7 @@ class ArticleFragment : Fragment() { url = allItems[pageNumber.toInt()].getLinkDecoded() contentText = allItems[pageNumber.toInt()].content - contentTitle = allItems[pageNumber.toInt()].title + contentTitle = allItems[pageNumber.toInt()].getTitleDecoded() contentImage = allItems[pageNumber.toInt()].getThumbnail(activity!!) contentSource = allItems[pageNumber.toInt()].sourceAndDateText() diff --git a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/persistence/EntitiesUtils.kt b/app/src/main/java/apps/amine/bou/readerforselfoss/utils/persistence/EntitiesUtils.kt index 9e1a315..7bd7aef 100644 --- a/app/src/main/java/apps/amine/bou/readerforselfoss/utils/persistence/EntitiesUtils.kt +++ b/app/src/main/java/apps/amine/bou/readerforselfoss/utils/persistence/EntitiesUtils.kt @@ -61,7 +61,7 @@ fun Item.toEntity(): ItemEntity = ItemEntity( this.id, this.datetime, - this.title, + this.getTitleDecoded(), this.content, this.unread, this.starred,