This commit is contained in:
lunaticbum 2026-01-19 17:10:02 +09:00
parent 5425589ad9
commit e61fa99c98

View File

@ -323,90 +323,89 @@ internal class RssHome : Fragment() {
bottomSheet.show(childFragmentManager, "SearchBottomSheet")
}
fun openSummary(rssData : RssData) {
rssData.let {
currentRss = it
synchronized(lasted) {
if (lasted.isNotEmpty()) {
lasted.removeAll { target -> target.originPage.equals(it.originPage) }
}
}
appendReadCount(it, 1, false)
binding.layoutRssSummary.title.setOnLongClickListener {
currentRss?.originPage?.let { binding.geckoWeb.loadUrl(it)}
binding.layoutRssSummary.root.visibility = View.GONE
true
}
binding.layoutRssSummary.title.tag = it
binding.layoutRssSummary.root.visibility = View.VISIBLE
binding.layoutRssSummary.scrollView.scrollTo(0,0)
var vote = it.vote
var read = it.read
var keyword = ""
it.title?.let {
Blog.LOGE(it)
keyword = it
binding.layoutRssSummary.title.text = it.replace(Regex("[\\r\\n]+"), " ").plus( "\n[V:${if (vote) {
"O"
}else {
"X"
}} , R:${read + 1}]")
val regex = Regex("[A-Za-z0-9-]+")
val pattern = Regex("^(?=[A-Za-z0-9-]*$)(?=.*[A-Za-z])(?=.*\\d)(?=.*-)[A-Za-z0-9-]+$")
val results = regex.findAll(it)
.map { it.value }
.filter { it.matches(pattern) && !it.contains(" ") }
.toList()
if (results.isNotEmpty()) {
keyword = results.first()
}
}
it.pubDate()?.let {
Blog.LOGE("")
binding.layoutRssSummary.date.text =
SimpleDateFormat("yyyy.MM.dd HH-mm").format(Date(it))
}
binding.layoutRssSummary.desc.tag = it
it.description()?.let {
Blog.LOGE(it)
binding.layoutRssSummary.desc.text = it.replace(Regex("[\\r\\n]+"), " ")
}
binding.layoutRssSummary.link.tag = it
it.getMagnet().let {
Blog.LOGE(it)
binding.layoutRssSummary.link.text = it
}
binding.layoutRssSummary.coverLink.text = it.thumbnailUrl()
binding.layoutRssSummary.cover.tag = it
it.thumbnailUrl().let {
Blog.LOGE(it)
loadImage(binding.layoutRssSummary.cover, it, isMain = true)
}
binding.layoutRssSummary.screenLink.text = it.getScreen()
binding.layoutRssSummary.screen.tag = it
it.getScreen().let {
Blog.LOGE(it)
loadImage(binding.layoutRssSummary.screen, it, isMain = false)
binding.layoutRssSummary.screenLink.text = it
}
if (it.getMagnet().length < 10) {
binding.layoutRssSummary.smallg.loadUrl("https://btsearch.love/en/search?keyword=${keyword}")
} else {
binding.layoutRssSummary.smallg.visibility = View.GONE
}
}
}
var currentRss : RssData? = null
@SuppressLint("SimpleDateFormat")
fun openGecko(rssData: RssData? = null) {
binding.layoutRssSummary.root.visibility = View.GONE
fun openSummary(rssData : RssData) {
rssData.let {
currentRss = it
synchronized(lasted) {
if (lasted.isNotEmpty()) {
lasted.removeAll { target -> target.originPage.equals(it.originPage) }
}
}
appendReadCount(it, 1, false)
binding.layoutRssSummary.title.setOnLongClickListener {
currentRss?.originPage?.let { binding.geckoWeb.loadUrl(it)}
binding.layoutRssSummary.root.visibility = View.GONE
true
}
binding.layoutRssSummary.title.tag = it
binding.layoutRssSummary.root.visibility = View.VISIBLE
binding.layoutRssSummary.scrollView.scrollTo(0,0)
var vote = it.vote
var read = it.read
var keyword = ""
it.title?.let {
Blog.LOGE(it)
keyword = it
binding.layoutRssSummary.title.text = it.replace(Regex("[\\r\\n]+"), " ").plus( "\n[V:${if (vote) {
"O"
}else {
"X"
}} , R:${read + 1}]")
val regex = Regex("[A-Za-z0-9-]+")
val pattern = Regex("^(?=[A-Za-z0-9-]*$)(?=.*[A-Za-z])(?=.*\\d)(?=.*-)[A-Za-z0-9-]+$")
val results = regex.findAll(it)
.map { it.value }
.filter { it.matches(pattern) && !it.contains(" ") }
.toList()
if (results.isNotEmpty()) {
keyword = results.first()
}
}
it.pubDate()?.let {
Blog.LOGE("")
binding.layoutRssSummary.date.text =
SimpleDateFormat("yyyy.MM.dd HH-mm").format(Date(it))
}
binding.layoutRssSummary.desc.tag = it
it.description()?.let {
Blog.LOGE(it)
binding.layoutRssSummary.desc.text = it.replace(Regex("[\\r\\n]+"), " ")
}
binding.layoutRssSummary.link.tag = it
it.getMagnet().let {
Blog.LOGE(it)
binding.layoutRssSummary.link.text = it
}
binding.layoutRssSummary.coverLink.text = it.thumbnailUrl()
binding.layoutRssSummary.cover.tag = it
it.thumbnailUrl().let {
Blog.LOGE(it)
loadImage(binding.layoutRssSummary.cover, it, isMain = true)
}
binding.layoutRssSummary.screenLink.text = it.getScreen()
binding.layoutRssSummary.screen.tag = it
it.getScreen().let {
Blog.LOGE(it)
loadImage(binding.layoutRssSummary.screen, it, isMain = false)
binding.layoutRssSummary.screenLink.text = it
}
if (it.getMagnet().length < 10) {
binding.layoutRssSummary.smallg.loadUrl("https://btsearch.love/en/search?keyword=${keyword}")
} else {
binding.layoutRssSummary.smallg.visibility = View.GONE
}
}
}
if (rssData?.category()?.equals(RssDataType.PRIVATE) == true && rssData?.getMagnet().isNullOrEmpty()) {
openSummary(rssData)
} else if (rssData?.originPage?.isNotEmpty() == true) {