code cleanup

This commit is contained in:
Mariotaku Lee 2017-06-06 18:07:42 +08:00
parent 4adb1652ed
commit 1376910711
No known key found for this signature in database
GPG Key ID: 15C10F89D7C33535
7 changed files with 48 additions and 40 deletions

View File

@ -105,6 +105,46 @@ fun ParcelableStatus.extractFanfouHashtags(): List<String> {
}?.map { text_unescaped.substring(it.start, it.end) }.orEmpty()
}
fun ParcelableStatus.makeOriginal() {
if (!is_retweet) return
id = retweet_id
retweeted_by_user_key = null
retweeted_by_user_name = null
retweeted_by_user_screen_name = null
retweeted_by_user_profile_image = null
retweet_timestamp = -1
retweet_id = null
}
fun ParcelableStatus.addFilterFlag(@ParcelableStatus.FilterFlags flags: Long) {
filter_flags = filter_flags or flags
}
fun ParcelableStatus.updateExtraInformation(details: AccountDetails) {
account_color = details.color
}
val ParcelableStatus.quoted: ParcelableStatus?
get() {
val obj = ParcelableStatus()
obj.account_key = account_key
obj.id = quoted_id ?: return null
obj.timestamp = quoted_timestamp
obj.user_key = quoted_user_key ?: return null
obj.user_name = quoted_user_name ?: return null
obj.user_screen_name = quoted_user_screen_name ?: return null
obj.user_profile_image_url = quoted_user_profile_image ?: return null
obj.user_is_protected = quoted_user_is_protected
obj.user_is_verified = quoted_user_is_verified
obj.text_plain = quoted_text_plain
obj.text_unescaped = quoted_text_unescaped
obj.source = quoted_source
obj.spans = quoted_spans
obj.media = quoted_media
return obj
}
private fun parcelableUserMention(key: UserKey, name: String, screenName: String) = ParcelableUserMention().also {
it.key = key
it.name = name

View File

@ -31,12 +31,12 @@ import org.mariotaku.microblog.library.twitter.model.ExtendedEntitySupport
import org.mariotaku.microblog.library.twitter.model.MediaEntity
import org.mariotaku.microblog.library.twitter.model.Status
import org.mariotaku.twidere.exception.MalformedResponseException
import org.mariotaku.twidere.extension.model.addFilterFlag
import org.mariotaku.twidere.extension.model.toParcelable
import org.mariotaku.twidere.extension.toSpanItem
import org.mariotaku.twidere.model.*
import org.mariotaku.twidere.model.util.ParcelableLocationUtils
import org.mariotaku.twidere.model.util.ParcelableMediaUtils
import org.mariotaku.twidere.model.util.ParcelableStatusUtils.addFilterFlag
import org.mariotaku.twidere.text.AcctMentionSpan
import org.mariotaku.twidere.text.HashtagSpan
import org.mariotaku.twidere.util.HtmlBuilder

View File

@ -25,9 +25,9 @@ import android.text.Spanned
import org.mariotaku.ktextension.isNotNullOrEmpty
import org.mariotaku.ktextension.mapToArray
import org.mariotaku.microblog.library.mastodon.model.Status
import org.mariotaku.twidere.extension.model.addFilterFlag
import org.mariotaku.twidere.extension.model.api.spanItems
import org.mariotaku.twidere.model.*
import org.mariotaku.twidere.model.util.ParcelableStatusUtils.addFilterFlag
import org.mariotaku.twidere.text.AcctMentionSpan
import org.mariotaku.twidere.text.HashtagSpan
import org.mariotaku.twidere.util.HtmlEscapeHelper

View File

@ -29,11 +29,11 @@ import org.mariotaku.microblog.library.twitter.model.ErrorInfo
import org.mariotaku.restfu.http.RestHttpClient
import org.mariotaku.twidere.constant.IntentConstants
import org.mariotaku.twidere.constant.IntentConstants.EXTRA_ACCOUNT
import org.mariotaku.twidere.extension.model.updateExtraInformation
import org.mariotaku.twidere.model.ParcelableStatus
import org.mariotaku.twidere.model.SingleResponse
import org.mariotaku.twidere.model.UserKey
import org.mariotaku.twidere.model.util.AccountUtils
import org.mariotaku.twidere.model.util.ParcelableStatusUtils
import org.mariotaku.twidere.util.DataStoreUtils
import org.mariotaku.twidere.util.UserColorNameManager
import org.mariotaku.twidere.util.dagger.GeneralComponent
@ -76,7 +76,7 @@ class ParcelableStatusLoader(
if (details == null) return SingleResponse(MicroBlogException("No account"))
try {
val status = DataStoreUtils.findStatus(context, accountKey, statusId)
ParcelableStatusUtils.updateExtraInformation(status, details)
status.updateExtraInformation(details)
val response = SingleResponse(status)
response.extras[EXTRA_ACCOUNT] = details
return response

View File

@ -40,6 +40,7 @@ import org.mariotaku.twidere.extension.atto.firstElementOrNull
import org.mariotaku.twidere.extension.model.api.mastodon.toParcelable
import org.mariotaku.twidere.extension.model.api.toParcelable
import org.mariotaku.twidere.extension.model.isOfficial
import org.mariotaku.twidere.extension.model.makeOriginal
import org.mariotaku.twidere.extension.model.newMicroBlogInstance
import org.mariotaku.twidere.model.AccountDetails
import org.mariotaku.twidere.model.ParcelableStatus
@ -47,7 +48,6 @@ import org.mariotaku.twidere.model.pagination.PaginatedArrayList
import org.mariotaku.twidere.model.pagination.PaginatedList
import org.mariotaku.twidere.model.pagination.Pagination
import org.mariotaku.twidere.model.pagination.SinceMaxPagination
import org.mariotaku.twidere.model.util.ParcelableStatusUtils
import org.mariotaku.twidere.util.InternalTwitterContentUtils
import java.text.ParseException
import java.util.*
@ -65,7 +65,7 @@ class ConversationLoader(
private set
init {
ParcelableStatusUtils.makeOriginalStatus(this.status)
status.makeOriginal()
}
@Throws(MicroBlogException::class)

View File

@ -1,32 +0,0 @@
package org.mariotaku.twidere.model.util
import org.mariotaku.twidere.model.AccountDetails
import org.mariotaku.twidere.model.ParcelableStatus
import org.mariotaku.twidere.model.ParcelableStatus.FilterFlags
/**
* Created by mariotaku on 16/1/3.
*/
object ParcelableStatusUtils {
fun makeOriginalStatus(status: ParcelableStatus) {
if (!status.is_retweet) return
status.id = status.retweet_id
status.retweeted_by_user_key = null
status.retweeted_by_user_name = null
status.retweeted_by_user_screen_name = null
status.retweeted_by_user_profile_image = null
status.retweet_timestamp = -1
status.retweet_id = null
}
fun ParcelableStatus.addFilterFlag(@FilterFlags flags: Long) {
filter_flags = filter_flags or flags
}
fun updateExtraInformation(status: ParcelableStatus, details: AccountDetails) {
status.account_color = details.color
}
}

View File

@ -14,6 +14,7 @@ import org.mariotaku.twidere.extension.getErrorMessage
import org.mariotaku.twidere.extension.model.api.mastodon.toParcelable
import org.mariotaku.twidere.extension.model.api.toParcelable
import org.mariotaku.twidere.extension.model.newMicroBlogInstance
import org.mariotaku.twidere.extension.model.updateExtraInformation
import org.mariotaku.twidere.model.AccountDetails
import org.mariotaku.twidere.model.Draft
import org.mariotaku.twidere.model.ParcelableStatus
@ -21,7 +22,6 @@ import org.mariotaku.twidere.model.UserKey
import org.mariotaku.twidere.model.draft.StatusObjectActionExtras
import org.mariotaku.twidere.model.event.StatusListChangedEvent
import org.mariotaku.twidere.model.event.StatusRetweetedEvent
import org.mariotaku.twidere.model.util.ParcelableStatusUtils
import org.mariotaku.twidere.provider.TwidereDataStore.Statuses
import org.mariotaku.twidere.task.twitter.UpdateStatusTask
import org.mariotaku.twidere.util.AsyncTwitterWrapper
@ -54,7 +54,7 @@ class RetweetStatusTask(
microBlog.retweetStatus(statusId).toParcelable(account)
}
}
ParcelableStatusUtils.updateExtraInformation(result, account)
result.updateExtraInformation(account)
Utils.setLastSeen(context, result.mentions, System.currentTimeMillis())
resolver.updateStatusInfo(DataStoreUtils.STATUSES_ACTIVITIES_URIS, Statuses.COLUMNS,