/**
* Copyright 2010 Mark Wyszomierski
*/
package com.joelapenna.foursquared.widget;
import com.joelapenna.foursquare.types.User;
import com.joelapenna.foursquared.R;
import com.joelapenna.foursquared.util.UserUtils;
import android.content.Context;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
/**
*
* @date September 23, 2010
* @author Mark Wyszomierski (markww@gmail.com)
*
*/
public class UserContactAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private int mLayoutToInflate;
private User mUser;
private ArrayList<Action> mActions;
public UserContactAdapter(Context context, User user) {
super();
mInflater = LayoutInflater.from(context);
mLayoutToInflate = R.layout.user_actions_list_item;
mUser = user;
mActions = new ArrayList<Action>();
if (user != null) {
if (UserUtils.isFriend(user)) {
if (TextUtils.isEmpty(mUser.getPhone()) == false) {
mActions.add(new Action(context.getResources().getString(
R.string.user_actions_activity_action_sms),
R.drawable.user_action_text, Action.ACTION_ID_SMS, false));
}
if (TextUtils.isEmpty(mUser.getEmail()) == false) {
mActions.add(new Action(context.getResources().getString(
R.string.user_actions_activity_action_email),
R.drawable.user_action_email, Action.ACTION_ID_EMAIL, false));
}
if (TextUtils.isEmpty(mUser.getEmail()) == false) {
mActions.add(new Action(context.getResources().getString(
R.string.user_actions_activity_action_phone),
R.drawable.user_action_phone, Action.ACTION_ID_PHONE, false));
}
}
if (TextUtils.isEmpty(mUser.getTwitter()) == false) {
mActions.add(new Action(context.getResources().getString(
R.string.user_actions_activity_action_twitter),
R.drawable.user_action_twitter, Action.ACTION_ID_TWITTER, true));
}
if (TextUtils.isEmpty(mUser.getFacebook()) == false) {
mActions.add(new Action(context.getResources().getString(
R.string.user_actions_activity_action_facebook),
R.drawable.user_action_facebook, Action.ACTION_ID_FACEBOOK, true));
}
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mInflater.inflate(mLayoutToInflate, null);
}
ImageView iv = (ImageView) convertView.findViewById(R.id.userActionsListItemIcon);
TextView tv = (TextView) convertView.findViewById(R.id.userActionsListItemLabel);
Action action = (Action) getItem(position);
iv.setImageResource(action.getIconId());
tv.setText(action.getLabel());
return convertView;
}
@Override
public int getCount() {
return mActions.size();
}
@Override
public Object getItem(int position) {
return mActions.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public static class Action {
public static final int ACTION_ID_SMS = 0;
public static final int ACTION_ID_EMAIL = 1;
public static final int ACTION_ID_PHONE = 2;
public static final int ACTION_ID_TWITTER = 3;
public static final int ACTION_ID_FACEBOOK = 4;
private String mLabel;
private int mIconId;
private int mActionId;
private boolean mIsExternalAction;
public Action(String label, int iconId, int actionId, boolean isExternalAction) {
mLabel = label;
mIconId = iconId;
mActionId = actionId;
mIsExternalAction = isExternalAction;
}
public String getLabel() {
return mLabel;
}
public int getIconId() {
return mIconId;
}
public int getActionId() {
return mActionId;
}
public boolean getIsExternalAction() {
return mIsExternalAction;
}
}
}