Use visibility extensions

This commit is contained in:
Goooler 2024-03-28 16:08:28 +08:00
parent 23aa7ef85e
commit dc3db4051e
3 changed files with 22 additions and 21 deletions

View File

@ -10,6 +10,7 @@ import android.view.View
import android.widget.TextView
import androidx.appcompat.content.res.AppCompatResources
import androidx.core.text.buildSpannedString
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView
import com.keylesspalace.tusky.R
import com.keylesspalace.tusky.entity.Status
@ -175,9 +176,9 @@ class StatusDetailedViewHolder(view: View) : StatusBaseViewHolder(view) {
}
private fun hideQuantitativeStats() {
reblogs.visibility = View.GONE
favourites.visibility = View.GONE
infoDivider.visibility = View.GONE
reblogs.isVisible = false
favourites.isVisible = false
infoDivider.isVisible = false
}
companion object {

View File

@ -18,6 +18,8 @@ import android.text.InputFilter
import android.view.View
import android.widget.Button
import android.widget.TextView
import androidx.core.view.isInvisible
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView
import at.connyduck.sparkbutton.helpers.Utils
import com.keylesspalace.tusky.R
@ -67,10 +69,8 @@ class StatusViewHolder(itemView: View) : StatusBaseViewHolder(itemView) {
}
}
reblogsCountLabel.visibility =
if (statusDisplayOptions.showStatsInline) View.VISIBLE else View.INVISIBLE
favouritedCountLabel.visibility =
if (statusDisplayOptions.showStatsInline) View.VISIBLE else View.INVISIBLE
reblogsCountLabel.isInvisible = !statusDisplayOptions.showStatsInline
favouritedCountLabel.isInvisible = !statusDisplayOptions.showStatsInline
setFavouritedCount(status.actionable.favouritesCount)
setReblogsCount(status.actionable.reblogsCount)
@ -91,7 +91,7 @@ class StatusViewHolder(itemView: View) : StatusBaseViewHolder(itemView) {
statusDisplayOptions.animateEmojis
)
statusInfo.text = emojifiedText
statusInfo.visibility = View.VISIBLE
statusInfo.isVisible = true
}
// don't use this on the same ViewHolder as setRebloggedByDisplayName, will cause recycling issues as paddings are changed
@ -101,7 +101,7 @@ class StatusViewHolder(itemView: View) : StatusBaseViewHolder(itemView) {
statusInfo.compoundDrawablePadding =
Utils.dpToPx(statusInfo.context, 10)
statusInfo.setPaddingRelative(Utils.dpToPx(statusInfo.context, 28), 0, 0, 0)
statusInfo.visibility = View.VISIBLE
statusInfo.isVisible = true
}
protected fun setReblogsCount(reblogsCount: Int) {
@ -113,7 +113,7 @@ class StatusViewHolder(itemView: View) : StatusBaseViewHolder(itemView) {
}
fun hideStatusInfo() {
statusInfo.visibility = View.GONE
statusInfo.isVisible = false
}
private fun setupCollapsedState(
@ -134,7 +134,7 @@ class StatusViewHolder(itemView: View) : StatusBaseViewHolder(itemView) {
}
}
contentCollapseButton.visibility = View.VISIBLE
contentCollapseButton.isVisible = true
if (status.isCollapsed) {
contentCollapseButton.setText(R.string.post_content_warning_show_more)
content.filters = COLLAPSE_INPUT_FILTER
@ -143,15 +143,14 @@ class StatusViewHolder(itemView: View) : StatusBaseViewHolder(itemView) {
content.filters = NO_INPUT_FILTER
}
} else {
contentCollapseButton.visibility = View.GONE
contentCollapseButton.isVisible = false
content.filters = NO_INPUT_FILTER
}
}
override fun showStatusContent(show: Boolean) {
super.showStatusContent(show)
contentCollapseButton.visibility =
if (show) View.VISIBLE else View.GONE
contentCollapseButton.isVisible = show
}
override fun toggleExpandedState(

View File

@ -18,6 +18,7 @@ import android.text.InputFilter
import android.view.View
import android.widget.Button
import android.widget.TextView
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView
import com.keylesspalace.tusky.R
import com.keylesspalace.tusky.adapter.StatusBaseViewHolder
@ -79,12 +80,12 @@ class ConversationViewHolder(
}
// Hide the unused label.
for (mediaLabel in mediaLabels) {
mediaLabel.visibility = View.GONE
mediaLabel.isVisible = false
}
} else {
setMediaLabel(attachments, sensitive, listener, statusViewData.isShowingContent)
// Hide all unused views.
mediaPreview.visibility = View.GONE
mediaPreview.isVisible = false
hideSensitiveMediaWarning()
}
@ -132,7 +133,7 @@ class ConversationViewHolder(
private fun setAvatars(accounts: List<ConversationAccountEntity>) {
for (i in avatars.indices) {
val avatarView = avatars[i]
avatarView.visibility = if (i < accounts.size) {
avatarView.isVisible = if (i < accounts.size) {
loadAvatar(
accounts[i].avatar,
avatarView,
@ -140,9 +141,9 @@ class ConversationViewHolder(
statusDisplayOptions.animateAvatars,
null
)
View.VISIBLE
true
} else {
View.GONE
false
}
}
}
@ -163,7 +164,7 @@ class ConversationViewHolder(
}
}
contentCollapseButton.visibility = View.VISIBLE
contentCollapseButton.isVisible = true
if (collapsed) {
contentCollapseButton.setText(R.string.post_content_warning_show_more)
content.filters = COLLAPSE_INPUT_FILTER
@ -172,7 +173,7 @@ class ConversationViewHolder(
content.filters = NO_INPUT_FILTER
}
} else {
contentCollapseButton.visibility = View.GONE
contentCollapseButton.isVisible = false
content.filters = NO_INPUT_FILTER
}
}