mirror of
https://github.com/TwidereProject/Twidere-Android
synced 2025-02-17 04:00:48 +01:00
improved original sized profile image
This commit is contained in:
parent
bcbc8c21d9
commit
bf40c062ea
@ -155,9 +155,10 @@ public class User extends TwitterResponseObject implements Comparable<User>, Par
|
||||
String profileImageUrlHttps;
|
||||
|
||||
/**
|
||||
* Fanfou has this field
|
||||
* Fanfou has field {@code "profile_image_url_large"}
|
||||
* GNU Social has field {@code "profile_image_url_profile_size"}
|
||||
*/
|
||||
@JsonField(name = "profile_image_url_large")
|
||||
@JsonField(name = {"profile_image_url_large", "profile_image_url_profile_size"})
|
||||
String profileImageUrlLarge;
|
||||
|
||||
@JsonField(name = {"profile_banner_url", "cover_photo"})
|
||||
@ -204,9 +205,6 @@ public class User extends TwitterResponseObject implements Comparable<User>, Par
|
||||
@JsonField(name = "profile_image_url_original")
|
||||
String profileImageUrlOriginal;
|
||||
|
||||
@JsonField(name = "profile_image_url_profile_size")
|
||||
String profileImageUrlProfileSize;
|
||||
|
||||
// BEGIN Twitter fields
|
||||
|
||||
@JsonField(name = "pinned_tweet_ids")
|
||||
@ -447,10 +445,6 @@ public class User extends TwitterResponseObject implements Comparable<User>, Par
|
||||
return profileImageUrlOriginal;
|
||||
}
|
||||
|
||||
public String getProfileImageUrlProfileSize() {
|
||||
return profileImageUrlProfileSize;
|
||||
}
|
||||
|
||||
public String[] getPinnedTweetIds() {
|
||||
return pinnedTweetIds;
|
||||
}
|
||||
@ -562,7 +556,6 @@ public class User extends TwitterResponseObject implements Comparable<User>, Par
|
||||
", statusnetProfileUrl='" + statusnetProfileUrl + '\'' +
|
||||
", ostatusUri='" + ostatusUri + '\'' +
|
||||
", profileImageUrlOriginal='" + profileImageUrlOriginal + '\'' +
|
||||
", profileImageUrlProfileSize='" + profileImageUrlProfileSize + '\'' +
|
||||
", blockedBy=" + blockedBy +
|
||||
", blocking=" + blocking +
|
||||
", muting=" + muting +
|
||||
|
@ -28,6 +28,7 @@ import jp.wasabeef.glide.transformations.CropCircleTransformation
|
||||
import org.mariotaku.twidere.R
|
||||
import org.mariotaku.twidere.annotation.ImageShapeStyle
|
||||
import org.mariotaku.twidere.extension.model.getBestProfileBanner
|
||||
import org.mariotaku.twidere.extension.model.originalProfileImage
|
||||
import org.mariotaku.twidere.extension.model.user
|
||||
import org.mariotaku.twidere.model.*
|
||||
import org.mariotaku.twidere.util.Utils
|
||||
@ -124,10 +125,8 @@ fun RequestManager.loadProfileImage(context: Context, conversation: ParcelableMe
|
||||
fun RequestManager.loadOriginalProfileImage(context: Context, user: ParcelableUser,
|
||||
@ImageShapeStyle shapeStyle: Int, cornerRadius: Float = 0f, cornerRadiusRatio: Float = 0f
|
||||
): DrawableRequestBuilder<String> {
|
||||
val original = user.extras?.profile_image_url_original?.takeUnless(String::isEmpty)
|
||||
?: Utils.getOriginalTwitterProfileImage(user.profile_image_url)
|
||||
return configureLoadProfileImage(context, shapeStyle, cornerRadius, cornerRadiusRatio) {
|
||||
load(original)
|
||||
load(user.originalProfileImage)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -25,6 +25,7 @@ import org.mariotaku.twidere.model.ParcelableUser
|
||||
import org.mariotaku.twidere.model.UserKey
|
||||
import org.mariotaku.twidere.model.util.ParcelableUserUtils
|
||||
import org.mariotaku.twidere.util.InternalTwitterContentUtils
|
||||
import org.mariotaku.twidere.util.Utils
|
||||
|
||||
fun ParcelableUser.getBestProfileBanner(width: Int): String? {
|
||||
return profile_banner_url?.let {
|
||||
@ -36,7 +37,12 @@ fun ParcelableUser.getBestProfileBanner(width: Int): String? {
|
||||
}
|
||||
}
|
||||
|
||||
val ParcelableUser.urlPreferred: String? get() = url_expanded?.takeIf(String::isNotEmpty) ?: url
|
||||
inline val ParcelableUser.originalProfileImage: String? get() {
|
||||
return extras?.profile_image_url_original?.takeIf(String::isNotEmpty)
|
||||
?: Utils.getOriginalTwitterProfileImage(profile_image_url)
|
||||
}
|
||||
|
||||
inline val ParcelableUser.urlPreferred: String? get() = url_expanded?.takeIf(String::isNotEmpty) ?: url
|
||||
|
||||
|
||||
fun Array<User>.toParcelables(accountKey: UserKey, accountType: String, profileImageSize: String = "normal"): Array<ParcelableUser>? {
|
||||
|
@ -24,7 +24,7 @@ import org.mariotaku.twidere.util.Utils
|
||||
|
||||
fun User.getProfileImageOfSize(size: String): String {
|
||||
if ("normal" != size) {
|
||||
val larger = profileImageUrlProfileSize ?: profileImageUrlLarge
|
||||
val larger = profileImageUrlLarge
|
||||
if (larger != null) return larger
|
||||
}
|
||||
val profileImage = profileImageUrlHttps ?: profileImageUrl
|
||||
|
@ -112,6 +112,7 @@ import org.mariotaku.twidere.extension.loadOriginalProfileImage
|
||||
import org.mariotaku.twidere.extension.loadProfileBanner
|
||||
import org.mariotaku.twidere.extension.model.applyTo
|
||||
import org.mariotaku.twidere.extension.model.getBestProfileBanner
|
||||
import org.mariotaku.twidere.extension.model.originalProfileImage
|
||||
import org.mariotaku.twidere.extension.model.urlPreferred
|
||||
import org.mariotaku.twidere.fragment.AbsStatusesFragment.StatusesFragmentDelegate
|
||||
import org.mariotaku.twidere.fragment.UserTimelineFragment.UserTimelineFragmentDelegate
|
||||
@ -1228,7 +1229,7 @@ class UserFragment : BaseFragment(), OnClickListener, OnLinkClickListener,
|
||||
}
|
||||
}
|
||||
R.id.profileImage -> {
|
||||
val url = Utils.getOriginalTwitterProfileImage(user.profile_image_url)
|
||||
val url = user.originalProfileImage ?: return
|
||||
val profileImage = ParcelableMediaUtils.image(url)
|
||||
profileImage.type = ParcelableMedia.Type.IMAGE
|
||||
val media = arrayOf(profileImage)
|
||||
|
@ -39,9 +39,8 @@ import nl.komponents.kovenant.ui.failUi
|
||||
import nl.komponents.kovenant.ui.promiseOnUi
|
||||
import nl.komponents.kovenant.ui.successUi
|
||||
import org.mariotaku.twidere.R
|
||||
import org.mariotaku.twidere.annotation.ProfileImageSize
|
||||
import org.mariotaku.twidere.constant.IntentConstants.EXTRA_USER
|
||||
import org.mariotaku.twidere.extension.loadProfileImage
|
||||
import org.mariotaku.twidere.extension.loadOriginalProfileImage
|
||||
import org.mariotaku.twidere.model.ParcelableUser
|
||||
import org.mariotaku.twidere.util.LinkCreator
|
||||
import org.mariotaku.twidere.util.TwidereColorUtils
|
||||
@ -67,8 +66,8 @@ class UserQrDialogFragment : BaseDialogFragment() {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
|
||||
val weakThis = WeakReference(this)
|
||||
val deferred = Glide.with(context.applicationContext).loadProfileImage(context, user, 0,
|
||||
size = ProfileImageSize.ORIGINAL).into(DeferredTarget())
|
||||
val deferred = Glide.with(context.applicationContext).loadOriginalProfileImage(context,
|
||||
user, 0).into(DeferredTarget())
|
||||
promiseOnUi {
|
||||
val fragment = weakThis.get() ?: return@promiseOnUi
|
||||
fragment.qrView.visibility = View.INVISIBLE
|
||||
|
@ -80,7 +80,7 @@ object ParcelableUserUtils {
|
||||
extras.followed_by = user.isFollowedBy == true
|
||||
extras.muting = user.isMuting == true
|
||||
extras.statusnet_profile_url = user.statusnetProfileUrl
|
||||
extras.profile_image_url_original = user.profileImageUrlOriginal
|
||||
extras.profile_image_url_original = user.profileImageUrlOriginal ?: user.profileImageUrlLarge
|
||||
extras.pinned_status_ids = user.pinnedTweetIds
|
||||
extras.groups_count = user.groupsCount
|
||||
extras.unique_id = user.uniqueId
|
||||
|
Loading…
x
Reference in New Issue
Block a user