/** * galaxy inc. * meetup client for android */ package com.galaxy.meetup.client.android.content; import android.text.TextUtils; import com.galaxy.meetup.client.android.content.cache.ImageRequest; /** * * @author sihai * */ public class AvatarRequest extends ImageRequest { private final String mAvatarUrl; private final String mContactLookupKey; private final String mGaiaId; private int mHashCode; private final int mIdType; private final boolean mRounded; private final int mSize; public AvatarRequest() { this(null, 0); } public AvatarRequest(String gaiaId, int size) { this(gaiaId, size, false); } public AvatarRequest(String gaiaId, int size, boolean rounded) { this(gaiaId, null, size, rounded); } public AvatarRequest(String gaiaId, String avatarUrl, int size) { this(gaiaId, avatarUrl, size, false); } public AvatarRequest(String gaiaId, String avatarUrl, int size, boolean rounded) { mIdType = 0; mGaiaId = gaiaId; mAvatarUrl = avatarUrl; mContactLookupKey = null; mSize = size; mRounded = rounded; } public final String getAvatarUrl() { return mAvatarUrl; } public final String getGaiaId() { return mGaiaId; } public final int getSize() { return mSize; } public final String getUriForLogging() { return (new StringBuilder("avatar:")).append(mGaiaId).append("/size=") .append(mSize).toString(); } public final boolean isEmpty() { boolean flag; if (mGaiaId == null) flag = true; else flag = false; return flag; } public final boolean isRounded() { return mRounded; } public final String toString() { // FIXME return ""; } public final boolean equals(Object obj) { if (obj != this) { if (!(obj instanceof AvatarRequest)) { return false; } AvatarRequest avatarrequest = (AvatarRequest) obj; if (mSize != avatarrequest.mSize || mRounded != avatarrequest.mRounded || !TextUtils.equals(mGaiaId, avatarrequest.mGaiaId)) { return false; } } return true; } public final int hashCode() { if(mHashCode == 0) { if(mGaiaId != null) mHashCode = mGaiaId.hashCode() ^ mSize; else mHashCode = mSize; if(mRounded) mHashCode = 1 + mHashCode; } return mHashCode; } }