package name fixes

This commit is contained in:
Mariotaku Lee 2017-04-21 18:01:54 +08:00
parent de0df1a825
commit d28d19f94b
No known key found for this signature in database
GPG Key ID: 15C10F89D7C33535
16 changed files with 90 additions and 65 deletions

View File

@ -1 +1 @@
0092b6f712ca9eb26e416a7bb5e3b707145f1d1d
ebf9e884f18766a69aeb1fc46883c346cbbee63b

View File

@ -21,7 +21,7 @@ package org.mariotaku.twidere.util
import android.accounts.AccountManager
import android.support.test.InstrumentationRegistry
import org.mariotaku.twidere.extensions.model.updateDetails
import org.mariotaku.twidere.extension.model.updateDetails
import org.mariotaku.twidere.model.AccountDetails
import org.mariotaku.twidere.model.util.AccountUtils
import org.mariotaku.twidere.test.R

View File

@ -17,7 +17,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.mariotaku.twidere.extensions.model
package org.mariotaku.twidere.extension.model
import android.accounts.Account
import android.accounts.AccountManager

View File

@ -37,7 +37,7 @@ import org.apache.commons.cli.*
import org.json.JSONArray
import org.json.JSONObject
import org.mariotaku.ktextension.subArray
import org.mariotaku.twidere.extensions.model.updateDetails
import org.mariotaku.twidere.extension.model.updateDetails
import org.mariotaku.twidere.model.AccountDetails
import org.mariotaku.twidere.model.UserKey
import org.mariotaku.twidere.model.util.AccountUtils

View File

@ -21,12 +21,12 @@ package org.mariotaku.twidere.extension.model
import org.mariotaku.microblog.library.twitter.model.UserList
import org.mariotaku.twidere.model.UserKey
import org.mariotaku.twidere.model.util.ParcelableUserListUtils
import org.mariotaku.twidere.extension.model.api.microblog.toParcelable
/**
* Created by mariotaku on 2017/4/7.
*/
fun Array<UserList>.toParcelables(accountKey: UserKey, profileImageSize: String = "normal") = Array(size) {
ParcelableUserListUtils.from(this[it], accountKey, profileImageSize = profileImageSize)
this[it].toParcelable(accountKey, profileImageSize = profileImageSize)
}

View File

@ -76,23 +76,23 @@ fun Status.toParcelable(accountKey: UserKey): ParcelableStatus {
result.in_reply_to_status_id = status.inReplyToId
result.in_reply_to_user_key = status.inReplyToAccountId?.let { UserKey(it, accountKey.host) }
val user = status.account
result.user_key = user.getKey(accountKey.host)
result.user_name = user.displayName
result.user_screen_name = user.username
result.user_profile_image_url = user.avatar
result.user_is_protected = user.isLocked
val account = status.account
result.user_key = account.getKey(accountKey.host)
result.user_name = account.displayName
result.user_screen_name = account.username
result.user_profile_image_url = account.avatar
result.user_is_protected = account.isLocked
// Twitter will escape <> to &lt;&gt;, so if a status contains those symbols unescaped
// We should treat this as an html
val html = HtmlSpanBuilder.fromHtml(status.content, status.content)
result.text_unescaped = html?.toString()
result.text_plain = result.text_unescaped
result.spans = html?.spanItems
result.media = mediaAttachments?.mapToArray { it.toParcelable() }
result.media = status.mediaAttachments?.mapToArray { it.toParcelable() }
result.source = status.application?.sourceHtml
result.is_favorite = status.isFavourited
result.is_possibly_sensitive = status.isSensitive
result.mentions = mentions?.mapToArray { it.toParcelable(accountKey) }
result.mentions = status.mentions?.mapToArray { it.toParcelable(accountKey) }
extras.display_text_range = calculateDisplayTextRange(result.spans, result.media)

View File

@ -0,0 +1,46 @@
/*
* Twidere - Twitter client for Android
*
* Copyright (C) 2012-2017 Mariotaku Lee <mariotaku.lee@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.mariotaku.twidere.extension.model.api.microblog
import org.mariotaku.microblog.library.twitter.model.UserList
import org.mariotaku.twidere.extension.model.api.getProfileImageOfSize
import org.mariotaku.twidere.model.ParcelableUserList
import org.mariotaku.twidere.model.UserKey
import org.mariotaku.twidere.model.util.UserKeyUtils
fun UserList.toParcelable(accountKey: UserKey, position: Long = 0, isFollowing: Boolean = false,
profileImageSize: String = "normal"): ParcelableUserList {
val obj = ParcelableUserList()
val user = user
obj.position = position
obj.account_key = accountKey
obj.id = id
obj.is_public = UserList.Mode.PUBLIC == mode
obj.is_following = isFollowing
obj.name = name
obj.description = description
obj.user_key = UserKeyUtils.fromUser(user)
obj.user_name = user.name
obj.user_screen_name = user.screenName
obj.user_profile_image_url = user.getProfileImageOfSize(profileImageSize)
obj.members_count = memberCount
obj.subscribers_count = subscriberCount
return obj
}

View File

@ -108,6 +108,7 @@ import org.mariotaku.twidere.annotation.Referral
import org.mariotaku.twidere.constant.*
import org.mariotaku.twidere.constant.KeyboardShortcutConstants.*
import org.mariotaku.twidere.extension.*
import org.mariotaku.twidere.extension.model.api.microblog.toParcelable
import org.mariotaku.twidere.extension.model.applyTo
import org.mariotaku.twidere.extension.model.getBestProfileBanner
import org.mariotaku.twidere.extension.model.originalProfileImage
@ -1563,7 +1564,7 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener,
do {
val resp = microBlog.getUserListOwnerships(paging)
resp.mapTo(ownedLists) { item ->
val userList = ParcelableUserListUtils.from(item, user.account_key)
val userList = item.toParcelable( user.account_key)
userList.is_user_inside = listMemberships.any { it.id == item.id }
return@mapTo userList
}

View File

@ -56,6 +56,7 @@ import org.mariotaku.twidere.adapter.SupportTabsAdapter
import org.mariotaku.twidere.app.TwidereApplication
import org.mariotaku.twidere.constant.newDocumentApiKey
import org.mariotaku.twidere.extension.applyTheme
import org.mariotaku.twidere.extension.model.api.microblog.toParcelable
import org.mariotaku.twidere.fragment.iface.IBaseFragment.SystemWindowsInsetsCallback
import org.mariotaku.twidere.fragment.iface.SupportFragmentCallback
import org.mariotaku.twidere.fragment.users.UserListMembersFragment
@ -66,7 +67,6 @@ import org.mariotaku.twidere.model.SingleResponse
import org.mariotaku.twidere.model.UserKey
import org.mariotaku.twidere.model.event.UserListSubscriptionEvent
import org.mariotaku.twidere.model.event.UserListUpdatedEvent
import org.mariotaku.twidere.model.util.ParcelableUserListUtils
import org.mariotaku.twidere.text.validator.UserListNameValidator
import org.mariotaku.twidere.util.*
@ -419,7 +419,7 @@ class UserListFragment : AbsToolbarTabPagesFragment(), OnClickListener,
return SingleResponse(MicroBlogException("Invalid argument"))
}
}
return SingleResponse(ParcelableUserListUtils.from(list, accountKey))
return SingleResponse(list.toParcelable(accountKey))
} catch (e: MicroBlogException) {
return SingleResponse(e)
}

View File

@ -33,6 +33,7 @@ import org.mariotaku.microblog.library.twitter.model.UserList
import org.mariotaku.twidere.R
import org.mariotaku.twidere.TwidereConstants.LOGTAG
import org.mariotaku.twidere.constant.loadItemLimitKey
import org.mariotaku.twidere.extension.model.api.microblog.toParcelable
import org.mariotaku.twidere.extension.model.newMicroBlogInstance
import org.mariotaku.twidere.loader.iface.IPaginationLoader
import org.mariotaku.twidere.model.ParcelableUserList
@ -40,7 +41,6 @@ import org.mariotaku.twidere.model.UserKey
import org.mariotaku.twidere.model.pagination.CursorPagination
import org.mariotaku.twidere.model.pagination.Pagination
import org.mariotaku.twidere.model.util.AccountUtils
import org.mariotaku.twidere.model.util.ParcelableUserListUtils
import org.mariotaku.twidere.util.collection.NoDuplicatesArrayList
import org.mariotaku.twidere.util.dagger.GeneralComponent
import java.util.*
@ -99,13 +99,13 @@ abstract class BaseUserListsLoader(
val dataSize = data.size
for (i in 0..listSize - 1) {
val list = listLoaded[i]
data.add(ParcelableUserListUtils.from(list, accountKey, (dataSize + i).toLong(),
data.add(list.toParcelable(accountKey, (dataSize + i).toLong(),
isFollowing(list), profileImageSize))
}
} else {
for (i in 0..listSize - 1) {
val list = listLoaded[i]
data.add(ParcelableUserListUtils.from(listLoaded[i], accountKey, i.toLong(),
data.add(listLoaded[i].toParcelable(accountKey, i.toLong(),
isFollowing(list), profileImageSize))
}
}

View File

@ -68,7 +68,7 @@ abstract class AbsRequestUsersLoader(
val am = AccountManager.get(context)
details = accountKey?.let { AccountUtils.getAccountDetails(am, it, true) } ?:
throw ActivityNotFoundException()
users = getUsers(details)
users = getUsersInternal(details)
} catch (e: MicroBlogException) {
DebugLog.w(tr = e)
return ListResponse.getListInstance(data, e)
@ -92,17 +92,6 @@ abstract class AbsRequestUsersLoader(
}
@Throws(MicroBlogException::class)
private fun getUsers(details: AccountDetails): List<ParcelableUser> {
val paging = Paging()
paging.applyItemLimit(details, loadItemLimit)
pagination?.applyTo(paging)
val users = getUsers(details, paging)
prevPagination = users.previousPage
nextPagination = users.nextPage
return users
}
protected open fun processUsersData(details: AccountDetails, list: MutableList<ParcelableUser>) {
Collections.sort(data)
}
@ -121,4 +110,15 @@ abstract class AbsRequestUsersLoader(
@Throws(MicroBlogException::class)
protected abstract fun getUsers(details: AccountDetails, paging: Paging):
PaginatedList<ParcelableUser>
@Throws(MicroBlogException::class)
private fun getUsersInternal(details: AccountDetails): List<ParcelableUser> {
val paging = Paging()
paging.applyItemLimit(details, loadItemLimit)
pagination?.applyTo(paging)
val users = getUsers(details, paging)
prevPagination = users.previousPage
nextPagination = users.nextPage
return users
}
}

View File

@ -20,8 +20,6 @@
package org.mariotaku.twidere.model.util
import android.text.TextUtils
import org.mariotaku.microblog.library.twitter.model.UserList
import org.mariotaku.twidere.extension.model.api.getProfileImageOfSize
import org.mariotaku.twidere.model.ParcelableUserList
import org.mariotaku.twidere.model.UserKey
@ -30,26 +28,6 @@ import org.mariotaku.twidere.model.UserKey
*/
object ParcelableUserListUtils {
fun from(list: UserList, accountKey: UserKey, position: Long = 0,
isFollowing: Boolean = false, profileImageSize: String = "normal"): ParcelableUserList {
val obj = ParcelableUserList()
val user = list.user
obj.position = position
obj.account_key = accountKey
obj.id = list.id
obj.is_public = UserList.Mode.PUBLIC == list.mode
obj.is_following = isFollowing
obj.name = list.name
obj.description = list.description
obj.user_key = UserKeyUtils.fromUser(user)
obj.user_name = user.name
obj.user_screen_name = user.screenName
obj.user_profile_image_url = user.getProfileImageOfSize(profileImageSize)
obj.members_count = list.memberCount
obj.subscribers_count = list.subscriberCount
return obj
}
fun check(userList: ParcelableUserList, accountKey: UserKey, listId: String?,
userKey: UserKey?, screenName: String?, listName: String?): Boolean {
if (userList.account_key != accountKey) return false

View File

@ -7,13 +7,13 @@ import org.mariotaku.ktextension.mapToArray
import org.mariotaku.microblog.library.MicroBlog
import org.mariotaku.twidere.R
import org.mariotaku.twidere.constant.nameFirstKey
import org.mariotaku.twidere.extension.model.api.microblog.toParcelable
import org.mariotaku.twidere.extension.model.newMicroBlogInstance
import org.mariotaku.twidere.model.AccountDetails
import org.mariotaku.twidere.model.ParcelableUser
import org.mariotaku.twidere.model.ParcelableUserList
import org.mariotaku.twidere.model.UserKey
import org.mariotaku.twidere.model.event.UserListMembersChangedEvent
import org.mariotaku.twidere.model.util.ParcelableUserListUtils
/**
* Created by mariotaku on 2016/12/9.
@ -29,7 +29,7 @@ class AddUserListMembersTask(
val microBlog = account.newMicroBlogInstance(context, MicroBlog::class.java)
val userIds = users.mapToArray(ParcelableUser::key)
val result = microBlog.addUserListMembers(listId, UserKey.getIds(userIds))
return ParcelableUserListUtils.from(result, account.key)
return result.toParcelable(account.key)
}
override fun onSucceed(callback: Any?, result: ParcelableUserList) {

View File

@ -23,12 +23,12 @@ import android.content.Context
import android.widget.Toast
import org.mariotaku.microblog.library.MicroBlog
import org.mariotaku.twidere.R
import org.mariotaku.twidere.extension.model.api.microblog.toParcelable
import org.mariotaku.twidere.extension.model.newMicroBlogInstance
import org.mariotaku.twidere.model.AccountDetails
import org.mariotaku.twidere.model.ParcelableUserList
import org.mariotaku.twidere.model.UserKey
import org.mariotaku.twidere.model.event.UserListDestroyedEvent
import org.mariotaku.twidere.model.util.ParcelableUserListUtils
/**
* Created by mariotaku on 2017/2/10.
@ -42,7 +42,7 @@ class DestroyUserListTask(
override fun onExecute(account: AccountDetails, params: Any?): ParcelableUserList {
val microBlog = account.newMicroBlogInstance(context, MicroBlog::class.java)
val userList = microBlog.destroyUserList(listId)
return ParcelableUserListUtils.from(userList, account.key)
return userList.toParcelable(account.key)
}
override fun onSucceed(callback: Any?, result: ParcelableUserList) {

View File

@ -24,12 +24,12 @@ import android.widget.Toast
import org.mariotaku.microblog.library.MicroBlog
import org.mariotaku.microblog.library.twitter.model.UserListUpdate
import org.mariotaku.twidere.R
import org.mariotaku.twidere.extension.model.api.microblog.toParcelable
import org.mariotaku.twidere.extension.model.newMicroBlogInstance
import org.mariotaku.twidere.model.AccountDetails
import org.mariotaku.twidere.model.ParcelableUserList
import org.mariotaku.twidere.model.UserKey
import org.mariotaku.twidere.model.event.UserListUpdatedEvent
import org.mariotaku.twidere.model.util.ParcelableUserListUtils
/**
* Created by mariotaku on 2017/2/10.
@ -44,7 +44,7 @@ class UpdateUserListDetailsTask(
override fun onExecute(account: AccountDetails, params: Any?): ParcelableUserList {
val microBlog = account.newMicroBlogInstance(context, MicroBlog::class.java)
val list = microBlog.updateUserList(listId, update)
return ParcelableUserListUtils.from(list, account.key)
return list.toParcelable(account.key)
}
override fun onSucceed(callback: Any?, result: ParcelableUserList) {

View File

@ -42,12 +42,12 @@ import org.mariotaku.twidere.constant.homeRefreshDirectMessagesKey
import org.mariotaku.twidere.constant.homeRefreshMentionsKey
import org.mariotaku.twidere.constant.homeRefreshSavedSearchesKey
import org.mariotaku.twidere.constant.nameFirstKey
import org.mariotaku.twidere.extension.model.api.microblog.toParcelable
import org.mariotaku.twidere.extension.model.newMicroBlogInstance
import org.mariotaku.twidere.model.*
import org.mariotaku.twidere.model.event.*
import org.mariotaku.twidere.model.util.AccountUtils
import org.mariotaku.twidere.model.util.ParcelableRelationshipUtils
import org.mariotaku.twidere.model.util.ParcelableUserListUtils
import org.mariotaku.twidere.provider.TwidereDataStore.*
import org.mariotaku.twidere.task.*
import org.mariotaku.twidere.task.twitter.GetActivitiesAboutMeTask
@ -432,7 +432,7 @@ class AsyncTwitterWrapper(
override fun onExecute(account: AccountDetails, params: Any?): ParcelableUserList {
val microBlog = account.newMicroBlogInstance(context, MicroBlog::class.java)
val userList = microBlog.createUserListSubscription(listId)
return ParcelableUserListUtils.from(userList, account.key)
return userList.toParcelable(account.key)
}
override fun onSucceed(callback: Any?, result: ParcelableUserList) {
@ -453,7 +453,7 @@ class AsyncTwitterWrapper(
userListUpdate.setMode(if (isPublic) UserList.Mode.PUBLIC else UserList.Mode.PRIVATE)
userListUpdate.setDescription(description)
val list = microBlog.createUserList(userListUpdate)
return ParcelableUserListUtils.from(list, account.key)
return list.toParcelable(account.key)
}
override fun onSucceed(callback: Any?, result: ParcelableUserList) {
@ -475,7 +475,7 @@ class AsyncTwitterWrapper(
val microBlog = account.newMicroBlogInstance(context, MicroBlog::class.java)
val userKeys = users.mapToArray(ParcelableUser::key)
val userList = microBlog.deleteUserListMembers(userListId, UserKey.getIds(userKeys))
return ParcelableUserListUtils.from(userList, account.key)
return userList.toParcelable(account.key)
}
override fun onSucceed(callback: Any?, result: ParcelableUserList) {
@ -526,7 +526,7 @@ class AsyncTwitterWrapper(
override fun onExecute(account: AccountDetails, params: Any?): ParcelableUserList {
val microBlog = account.newMicroBlogInstance(context, MicroBlog::class.java)
val userList = microBlog.destroyUserListSubscription(listId)
return ParcelableUserListUtils.from(userList, account.key)
return userList.toParcelable(account.key)
}
override fun onSucceed(callback: Any?, result: ParcelableUserList) {