@Override
 public View getView(int position, View convertView, ViewGroup parent) {
   RelativeLayout toReturn = null;
   if (convertView != null) toReturn = (RelativeLayout) convertView;
   else
     toReturn =
         (RelativeLayout) LayoutInflater.from(context).inflate(R.layout.dm_convo_item, null);
   final DMConversation curItem = items.get(position);
   RemoteImageView profileImgView =
       (RemoteImageView) toReturn.findViewById(R.id.dmConvoProfileImg);
   if (PreferenceManager.getDefaultSharedPreferences(context)
       .getBoolean("enable_profileimg_download", true)) {
     profileImgView.setImageResource(R.drawable.sillouette);
     profileImgView.setImageURL(Utilities.getUserImage(curItem.getToScreenName(), context));
     profileImgView.setOnClickListener(
         new View.OnClickListener() {
           public void onClick(View v) {
             context.startActivity(
                 new Intent(context, ProfileScreen.class)
                     .putExtra("screen_name", curItem.getToScreenName())
                     .putExtra("account", AccountService.getCurrentAccount().getId())
                     .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
           }
         });
   } else profileImgView.setVisibility(View.GONE);
   final TextView messageTxt = (TextView) toReturn.findViewById(R.id.dmConvoMessageTxt);
   if (curItem.getLastSenderIsMe()) {
     View replyIndic = toReturn.findViewById(R.id.dmConvoReplyIndicator);
     replyIndic.setVisibility(View.VISIBLE);
     RelativeLayout.LayoutParams layoutParams =
         (RelativeLayout.LayoutParams) replyIndic.getLayoutParams();
     layoutParams.addRule(RelativeLayout.RIGHT_OF, R.id.dmConvoProfileImg);
     layoutParams.addRule(RelativeLayout.BELOW, R.id.dmConvoScreenNameTxt);
     layoutParams = (RelativeLayout.LayoutParams) messageTxt.getLayoutParams();
     layoutParams.addRule(RelativeLayout.RIGHT_OF, R.id.dmConvoReplyIndicator);
     layoutParams.addRule(RelativeLayout.BELOW, R.id.dmConvoScreenNameTxt);
     messageTxt.setLayoutParams(layoutParams);
   } else {
     (toReturn.findViewById(R.id.dmConvoReplyIndicator)).setVisibility(View.GONE);
     RelativeLayout.LayoutParams layoutParams =
         (RelativeLayout.LayoutParams) messageTxt.getLayoutParams();
     layoutParams.addRule(RelativeLayout.RIGHT_OF, R.id.dmConvoProfileImg);
     layoutParams.addRule(RelativeLayout.BELOW, R.id.dmConvoScreenNameTxt);
     messageTxt.setLayoutParams(layoutParams);
   }
   FeedListAdapter.ApplyFontSize(messageTxt, context);
   if (PreferenceManager.getDefaultSharedPreferences(context)
       .getBoolean("show_real_names", false)) {
     ((TextView) toReturn.findViewById(R.id.dmConvoScreenNameTxt)).setText(curItem.getToName());
   } else {
     ((TextView) toReturn.findViewById(R.id.dmConvoScreenNameTxt))
         .setText("@" + curItem.getToScreenName());
   }
   messageTxt.setText(
       Utilities.twitterifyText(
           context,
           curItem.getLastMessage().getText().replace("\n", " ").trim(),
           null,
           null,
           true,
           null));
   return toReturn;
 }