diff options
Diffstat (limited to 'app/src/main/java/net/lacolaco/smileessence/entity/EntitySupport.kt')
-rw-r--r-- | app/src/main/java/net/lacolaco/smileessence/entity/EntitySupport.kt | 82 |
1 files changed, 22 insertions, 60 deletions
diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/EntitySupport.kt b/app/src/main/java/net/lacolaco/smileessence/entity/EntitySupport.kt index dc548f12..121fa17d 100644 --- a/app/src/main/java/net/lacolaco/smileessence/entity/EntitySupport.kt +++ b/app/src/main/java/net/lacolaco/smileessence/entity/EntitySupport.kt @@ -11,76 +11,38 @@ abstract class EntitySupport(status: twitter4j.EntitySupport) { open val urlsExpanded: List<String> = extractExpandedUrls(status.urlEntities) open val symbols: List<String> = extractSymbols(status.symbolEntities) - private fun extractMentions(entities: Array<UserMentionEntity>?): List<String> { - val names = ArrayList<String>() - if (entities != null) { - for (entity in entities) { - names.add(entity.screenName) - } - } - return names - } + private fun extractMentions(entities: Array<UserMentionEntity>?) = + entities?.map { it.screenName } ?: listOf() - private fun extractSymbols(entities: Array<SymbolEntity>?): List<String> { - val names = ArrayList<String>() - if (entities != null) { - for (entity in entities) { - names.add(entity.text) - } - } - return names - } + private fun extractSymbols(entities: Array<SymbolEntity>?) = + entities?.map { it.text } ?: listOf() - private fun extractExpandedUrls(entities: Array<URLEntity>?): List<String> { - val names = ArrayList<String>() - if (entities != null) { - for (entity in entities) { - names.add(entity.expandedURL) - } - } - return names - } + private fun extractExpandedUrls(entities: Array<URLEntity>?) = + entities?.map { it.expandedURL } ?: listOf() - private fun extractMediaUrls(entities: Array<MediaEntity>?): List<String> { - val names = ArrayList<String>() - if (entities != null) { - for (entity in entities) { - if ("photo" == entity.type) { - names.add(entity.mediaURLHttps) - } else { - names.add(entity.expandedURL) + private fun extractMediaUrls(entities: Array<MediaEntity>?) = + entities?.map { + when (it.type) { + "photo" -> it.mediaURLHttps + else -> it.expandedURL } - } - } - return names - } + } ?: listOf() - private fun extractHashtags(entities: Array<HashtagEntity>?): List<String> { - val names = ArrayList<String>() - if (entities != null) { - for (entity in entities) { - names.add(entity.text) - } - } - return names - } + private fun extractHashtags(entities: Array<HashtagEntity>?) = + entities?.map { it.text } ?: listOf() - protected fun extractText(status: twitter4j.Status, expand: Boolean): String { - return extractText(status, status.text, expand) - } + protected fun extractText(status: twitter4j.Status, expand: Boolean) = + extractText(status, status.text, expand) - protected fun extractText(status: twitter4j.DirectMessage, expand: Boolean): String { - return extractText(status, status.text, expand) - } + protected fun extractText(status: twitter4j.DirectMessage, expand: Boolean) = + extractText(status, status.text, expand) private fun extractText(status: twitter4j.EntitySupport, text: String, expand: Boolean): String { val set = TreeSet<twitter4j.URLEntity> { a, b -> a.start - b.start } - if (status.urlEntities != null) { - Collections.addAll(set, *status.urlEntities) - } - if (status.mediaEntities != null) { - Collections.addAll(set, *status.mediaEntities) - } + if (status.urlEntities != null) + set += status.urlEntities + if (status.mediaEntities != null) + set += status.mediaEntities var t = text for (entity in set) { |