Created
February 23, 2016 15:45
-
-
Save sessionm-docs/7ae23582826371829481 to your computer and use it in GitHub Desktop.
MMC - SessionM UI
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
List<MessageData> messagesList = SessionM.getInstance().getMessagesList(); | |
@Override | |
public View getView(int position, View convertView, ViewGroup parent) { | |
FeedViewHolder feedViewHolder; | |
if (imageLoader == null) | |
imageLoader = MessageUtil.getInstance(activity).getImageLoader(); | |
//Create custom item for message | |
MessageFeedView messageDefaultView = new MessageFeedView(activity); | |
if (convertView == null) { | |
convertView = messageDefaultView.layoutBg; | |
convertView.setLayoutParams(new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT, AbsListView.LayoutParams.MATCH_PARENT)); | |
feedViewHolder = new FeedViewHolder(); | |
feedViewHolder.headerTextView = messageDefaultView.headerTextView; | |
feedViewHolder.subHeaderTextView = messageDefaultView.subHeaderTextView; | |
feedViewHolder.descriptionTextView = messageDefaultView.descriptionTextView; | |
feedViewHolder.iconImageView = messageDefaultView.iconImageView; | |
feedViewHolder.messageImageView = messageDefaultView.messageImageView; | |
convertView.setTag(feedViewHolder); | |
} else { | |
feedViewHolder = (FeedViewHolder) convertView.getTag(); | |
} | |
//Set up message content | |
final MessageData item = messagesList.get(position); | |
feedViewHolder.headerTextView.setText(item.getHeader()); | |
feedViewHolder.subHeaderTextView.setText(item.getSubHeader()); | |
if (!TextUtils.isEmpty(item.getDescription())) { | |
feedViewHolder.descriptionTextView.setText(item.getDescription()); | |
feedViewHolder.descriptionTextView.setVisibility(View.VISIBLE); | |
} else { | |
feedViewHolder.descriptionTextView.setVisibility(View.GONE); | |
} | |
feedViewHolder.iconImageView.setImageUrl(item.getIconURL(), imageLoader); | |
if (item.getImageURL() != null && !item.getImageURL().equals("null")) { | |
feedViewHolder.messageImageView.setImageUrl(item.getImageURL(), imageLoader); | |
feedViewHolder.messageImageView.setVisibility(View.VISIBLE); | |
} else { | |
feedViewHolder.messageImageView.setVisibility(View.GONE); | |
} | |
convertView.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View v) { | |
//Handle action by type | |
if (item.getActionURL() != null && !item.getActionURL().equals("null") && item.getActionType() != null && item.getActionType().equals(MessageData.MessageActionType.FULL_SCREEN)) { | |
SessionM.getInstance().presentActivity(SessionM.ActivityType.PORTAL, item.getActionURL()); | |
} else if(item.getActionType().equals(MessageData.MessageActionType.EXTERNAL_LINK)) { | |
Intent intent = new Intent(Intent.ACTION_VIEW); | |
intent.setData(android.net.Uri.parse(url)); | |
activity.startActivity(intent); | |
} else if(item.getActionType().equals(MessageData.MessageActionType.DEEP_LINK)) { | |
//Do whatever for deep linking | |
} | |
item.notifyTapped(); | |
} | |
}); | |
return convertView; | |
} | |
//Your custom view holder | |
class FeedViewHolder { | |
private TextView headerTextView; | |
private TextView subHeaderTextView; | |
private TextView descriptionTextView; | |
private NetworkImageView iconImageView; | |
private MessageImageView messageImageView; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment