/**
* galaxy inc.
* meetup client for android
*/
package com.galaxy.meetup.client.android.ui.view;
import android.content.Context;
import android.content.res.Resources;
import android.database.Cursor;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.FrameLayout;
import android.widget.TextView;
import com.galaxy.meetup.client.android.R;
import com.galaxy.meetup.client.android.common.Recyclable;
/**
*
* @author sihai
*
*/
public class SquareListItemView extends FrameLayout implements OnClickListener,
Recyclable {
private TextView mMemberCountView;
private ConstrainedTextView mNameView;
protected OnItemClickListener mOnItemClickListener;
private EsImageView mPhotoView;
protected String mSquareId;
private TextView mUnreadCountView;
private TextView mVisibilityView;
public SquareListItemView(Context context)
{
super(context);
}
public SquareListItemView(Context context, AttributeSet attributeset)
{
super(context, attributeset);
}
public SquareListItemView(Context context, AttributeSet attributeset, int i)
{
super(context, attributeset, i);
}
public void init(Cursor cursor, OnItemClickListener onitemclicklistener, boolean flag, boolean flag1)
{
initChildViews();
mOnItemClickListener = onitemclicklistener;
mSquareId = cursor.getString(1);
mNameView.setText(cursor.getString(2));
String s = cursor.getString(3);
if(TextUtils.isEmpty(s))
s = null;
mPhotoView.setUrl(s);
int i;
int j;
int k;
if(flag)
i = cursor.getInt(4);
else
i = 0;
setSquareVisibility(i);
if(flag1)
j = cursor.getInt(7);
else
j = 0;
if(j == 0)
{
mUnreadCountView.setVisibility(8);
} else
{
mUnreadCountView.setVisibility(0);
String s1;
if(j > 99)
s1 = getResources().getString(R.string.ninety_nine_plus);
else
s1 = Integer.toString(j);
mUnreadCountView.setText(s1);
}
k = cursor.getInt(5);
if(k == 0)
{
mMemberCountView.setVisibility(8);
} else
{
mMemberCountView.setVisibility(0);
Resources resources = getResources();
int l = R.plurals.square_members_count;
Object aobj[] = new Object[1];
aobj[0] = Integer.valueOf(k);
String s2 = resources.getQuantityString(l, k, aobj);
mMemberCountView.setText(s2);
}
setOnClickListener(this);
}
public void initChildViews()
{
if(mNameView == null)
{
mNameView = (ConstrainedTextView)findViewById(R.id.square_name);
mPhotoView = (EsImageView)findViewById(R.id.square_photo);
mVisibilityView = (TextView)findViewById(R.id.square_visibility);
mMemberCountView = (TextView)findViewById(R.id.member_count);
mUnreadCountView = (TextView)findViewById(R.id.unread_count);
}
}
public void onClick(View view)
{
if(mOnItemClickListener != null)
mOnItemClickListener.onClick(mSquareId);
}
protected void onFinishInflate()
{
super.onFinishInflate();
initChildViews();
}
public void onRecycle()
{
if(mPhotoView != null)
mPhotoView.onRecycle();
setOnClickListener(null);
}
public void setSquareVisibility(int i) {
boolean flag;
int j;
int k;
flag = false;
j = 0;
k = 0;
if(0 == i) {
flag = true;
j = R.string.square_public;
k = R.drawable.ic_public_small;
} else if(1 == i) {
flag = true;
j = R.string.square_private;
k = R.drawable.ic_private_small;
}
if(flag)
{
mVisibilityView.setVisibility(0);
mVisibilityView.setText(j);
mVisibilityView.setCompoundDrawablesWithIntrinsicBounds(k, 0, 0, 0);
} else
{
mVisibilityView.setVisibility(8);
}
}
//=====================================================================================
// Inner class
//=====================================================================================
public static interface OnItemClickListener {
public abstract void onClick(String s);
public abstract void onInvitationDismissed(String s);
public abstract void onInviterImageClick(String s);
}
}