/*
* The MIT License (MIT)
*
* Copyright � 2013 Clover Studio Ltd. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package com.cloverstudio.spikademo.adapters;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.net.Uri;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.cloverstudio.spikademo.R;
import com.cloverstudio.spikademo.SpikaApp;
import com.cloverstudio.spikademo.LocationActivity;
import com.cloverstudio.spikademo.MyProfileActivity;
import com.cloverstudio.spikademo.PhotoActivity;
import com.cloverstudio.spikademo.UserProfileActivity;
import com.cloverstudio.spikademo.VideoActivity;
import com.cloverstudio.spikademo.VoiceActivity;
import com.cloverstudio.spikademo.couchdb.model.Message;
import com.cloverstudio.spikademo.lazy.Emoticons;
import com.cloverstudio.spikademo.lazy.ImageLoader;
import com.cloverstudio.spikademo.management.UsersManagement;
import com.cloverstudio.spikademo.utils.Const;
import com.cloverstudio.spikademo.utils.LayoutHelper;
import com.cloverstudio.spikademo.utils.Logger;
import com.cloverstudio.spikademo.utils.Utils;
/**
* WallMessagesAdapter
*
* Adapter class for wall messages.
*/
public class WallMessagesAdapter extends BaseAdapter {
private Activity mActivity;
private ArrayList<Message> mMessages;
public WallMessagesAdapter(Activity activity, ArrayList<Message> messages) {
this.mActivity = activity;
this.mMessages = messages;
}
@Override
public int getCount() {
return mMessages.size();
}
@Override
public Message getItem(int arg0) {
return mMessages.get(arg0);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
ViewHolder holder = null;
try {
if (v == null) {
holder = new ViewHolder();
LayoutInflater inflater = (LayoutInflater) mActivity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.message, null);
holder.liNews = (LinearLayout) v
.findViewById(R.id.liNewsLayout);
holder.tvNewsText = (TextView) v
.findViewById(R.id.newsText);
holder.openWebButton = (Button) v
.findViewById(R.id.btnOpenBrowser);
holder.rlFromMe = (RelativeLayout) v
.findViewById(R.id.rlFromMeLayout);
holder.rlFromMe.setVisibility(View.GONE);
holder.tvMessageBodyFromMe = (TextView) v
.findViewById(R.id.messageTextFromMe);
holder.tvMessageBodyFromMe.setTypeface(SpikaApp
.getTfMyriadPro());
holder.ivPhotoFromMe = (ImageView) v
.findViewById(R.id.ivMessagePhotoFromMe);
holder.btnAvatarMe = (ImageButton) v
.findViewById(R.id.btnAvatarMe);
holder.pbLoadingAvatarMe = (ProgressBar) v
.findViewById(R.id.pbLoadingAvatarMe);
holder.tvMessageSubTextFromMe = (TextView) v
.findViewById(R.id.messageSubTextFromMe);
holder.tvMessageSubTextFromMe.setTypeface(SpikaApp
.getTfMyriadPro());
holder.pbPhotoFromMe = (ProgressBar) v
.findViewById(R.id.pbPhotoFromMe);
holder.rlImageFromMe = (RelativeLayout) v
.findViewById(R.id.rlImageFromMe);
holder.rlMyPhotoComments = (RelativeLayout) v
.findViewById(R.id.rlMyPhotoComments);
holder.tvMyPhotoComments = (TextView) v
.findViewById(R.id.tvMyPhotoComments);
holder.ivForLocationOrVoiceFromMe = (ImageView) v
.findViewById(R.id.ivForLocationOrVoiceFromMe);
holder.pbLoadingForImageFromMe = (ProgressBar) v
.findViewById(R.id.pbLoadingForImageFromMe);
LayoutHelper.scaleWidthAndHeightRelativeLayout(mActivity, 2.4f,
holder.ivPhotoFromMe);
LayoutHelper.scaleWidthAndHeightRelativeLayout(mActivity, 5f,
holder.btnAvatarMe);
holder.rlToMe = (RelativeLayout) v
.findViewById(R.id.rlToMeLayout);
holder.rlToMe.setVisibility(View.GONE);
holder.tvMessageBodyToMe = (TextView) v
.findViewById(R.id.messageTextToMe);
holder.tvMessageBodyToMe
.setTypeface(SpikaApp.getTfMyriadPro());
holder.ivPhotoToMe = (ImageView) v
.findViewById(R.id.ivMessagePhotoToMe);
holder.btnAvatarToMe = (ImageButton) v
.findViewById(R.id.btnAvatarToMe);
holder.pbLoadingAvatarToMe = (ProgressBar) v
.findViewById(R.id.pbLoadingAvatarToMe);
holder.tvMessageSubTextToMe = (TextView) v
.findViewById(R.id.messageSubTextToMe);
holder.tvMessageSubTextToMe.setTypeface(SpikaApp
.getTfMyriadPro());
holder.rlImageToMe = (RelativeLayout) v
.findViewById(R.id.rlImageToMe);
holder.pbPhotoToMe = (ProgressBar) v
.findViewById(R.id.pbPhotoToMe);
holder.rlPhotoComments = (RelativeLayout) v
.findViewById(R.id.rlPhotoComments);
holder.rlPhotoComments.setVisibility(View.GONE);
holder.tvPhotoComments = (TextView) v
.findViewById(R.id.tvPhotoComments);
holder.ivForLocationOrVoiceToMe = (ImageView) v
.findViewById(R.id.ivForLocationOrVoiceToMe);
holder.pbLoadingForImageToMe = (ProgressBar) v
.findViewById(R.id.pbLoadingForImageToMe);
LayoutHelper.scaleWidthAndHeightRelativeLayout(mActivity, 2.4f,
holder.ivPhotoToMe);
LayoutHelper.scaleWidthAndHeightRelativeLayout(mActivity, 5f,
holder.btnAvatarToMe);
v.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.liNews.setVisibility(View.GONE);
holder.rlFromMe.setVisibility(View.GONE);
holder.rlToMe.setVisibility(View.GONE);
holder.rlMyPhotoComments.setVisibility(View.GONE);
holder.rlPhotoComments.setVisibility(View.GONE);
holder.ivPhotoToMe.setImageBitmap(null);
holder.ivPhotoFromMe.setImageBitmap(null);
Message message = mMessages.get(position);
if (message.getMessageType().equals(Const.NEWS)) {
showNewsMessage(message,holder);
}else{
boolean isMessageFromMe = message.getFromUserId().equals(
UsersManagement.getLoginUser().getId());
if (isMessageFromMe) {
showMessageFromMe(message, holder);
} else {
showMessageToMe(message, holder);
}
}
} catch (Exception e) {
Logger.error("WallMessagesAdapter",
"Error on inflating wall messages!");
}
return v;
}
class ViewHolder {
public LinearLayout liNews;
public TextView tvNewsText;
public Button openWebButton;
public RelativeLayout rlFromMe;
public TextView tvMessageBodyFromMe;
public ImageView ivPhotoFromMe;
public ImageButton btnAvatarMe;
public ProgressBar pbLoadingAvatarMe;
public TextView tvMessageSubTextFromMe;
public ProgressBar pbPhotoFromMe;
public RelativeLayout rlImageFromMe;
public RelativeLayout rlMyPhotoComments;
public TextView tvMyPhotoComments;
public ImageView ivForLocationOrVoiceFromMe;
public ProgressBar pbLoadingForImageFromMe;
public RelativeLayout rlToMe;
public TextView tvMessageBodyToMe;
public ImageView ivPhotoToMe;
public ImageButton btnAvatarToMe;
public ProgressBar pbLoadingAvatarToMe;
public TextView tvMessageSubTextToMe;
public RelativeLayout rlImageToMe;
public ProgressBar pbPhotoToMe;
public RelativeLayout rlPhotoComments;
public TextView tvPhotoComments;
public ImageView ivForLocationOrVoiceToMe;
public ProgressBar pbLoadingForImageToMe;
}
private String setSubText(Message message) {
String subText = null;
long timeOfCreationOrUpdate = message.getCreated();
if (message.getCreated() < message.getModified()) {
timeOfCreationOrUpdate = message.getModified();
}
long diff = System.currentTimeMillis()
- (Long.valueOf(timeOfCreationOrUpdate) * 1000);
// long diffs = diff / (1000);
long diffm = diff / (1000 * 60);
long diffh = diff / (1000 * 60 * 60);
long diffd = diff / (1000 * 60 * 60 * 24);
if (diffh > 24 && diffh < 48) {
subText = mActivity.getString(R.string.posted) + " " + diffd + " "
+ mActivity.getString(R.string.day_ago) + " "
+ message.getFromUserName();
} else if (diffh >= 48) {
subText = mActivity.getString(R.string.posted) + " " + diffd + " "
+ mActivity.getString(R.string.days_ago) + " "
+ message.getFromUserName();
} else if (diffm > 60 && diffm < 120) {
subText = mActivity.getString(R.string.posted) + " " + diffh + " "
+ mActivity.getString(R.string.hour_ago) + " "
+ message.getFromUserName();
} else if (diffm >= 120) {
subText = mActivity.getString(R.string.posted) + " " + diffh + " "
+ mActivity.getString(R.string.hours_ago) + " "
+ message.getFromUserName();
} else if (diffm < 60 && diffm > 1) {
subText = mActivity.getString(R.string.posted) + " " + diffm + " "
+ mActivity.getString(R.string.minutes_ago) + " "
+ message.getFromUserName();
} else if (diffm == 1) {
subText = mActivity.getString(R.string.posted) + " " + diffm + " "
+ mActivity.getString(R.string.minute_ago) + " "
+ message.getFromUserName();
} else {
subText = mActivity
.getString(R.string.posted_less_than_a_minute_ago)
+ " "
+ message.getFromUserName();
}
return subText;
}
private OnClickListener getUserImageListener(final String userId) {
return new OnClickListener() {
@Override
public void onClick(View v) {
Intent profileIntent = null;
if (userId.equals(UsersManagement.getLoginUser().getId())) {
profileIntent = new Intent(mActivity,
MyProfileActivity.class);
} else {
profileIntent = new Intent(mActivity,
UserProfileActivity.class);
profileIntent.putExtra("user_id", userId);
}
mActivity.startActivity(profileIntent);
}
};
}
private OnClickListener getPhotoListener(final Message m) {
return new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mActivity, PhotoActivity.class);
intent.putExtra("message", m);
mActivity.startActivity(intent);
}
};
}
private void showNewsMessage(final Message m, ViewHolder holder) {
holder.liNews.setVisibility(View.VISIBLE);
holder.tvNewsText.setText(m.getBody());
if(m.getMessageUrl() != null && m.getMessageUrl().length() > 0){
holder.openWebButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(m.getMessageUrl()));
mActivity.startActivity(browserIntent);
}
});
}else{
holder.openWebButton.setVisibility(View.GONE);
}
}
private void showMessageFromMe(final Message m, ViewHolder holder) {
holder.rlFromMe.setVisibility(View.VISIBLE);
holder.ivPhotoFromMe.setVisibility(View.VISIBLE);
holder.tvMessageBodyFromMe.setVisibility(View.GONE);
holder.ivForLocationOrVoiceFromMe.setVisibility(View.GONE);
holder.rlImageFromMe.setVisibility(View.GONE);
String avatarId = UsersManagement.getLoginUser().getAvatarThumbFileId();
Utils.displayImage(avatarId, holder.btnAvatarMe,
holder.pbLoadingAvatarMe, ImageLoader.SMALL,
R.drawable.user_stub, false);
holder.btnAvatarMe
.setOnClickListener(getUserImageListener(UsersManagement
.getLoginUser().getId()));
if (m.getMessageType().equals(Const.TEXT)
|| m.getMessageType().equals(Const.LOCATION)) {
holder.tvMessageBodyFromMe.setVisibility(View.VISIBLE);
holder.tvMessageBodyFromMe.setText(m.getBody());
holder.ivPhotoFromMe.setVisibility(View.GONE);
if (m.getMessageType().equals(Const.LOCATION)) {
holder.ivForLocationOrVoiceFromMe.setVisibility(View.VISIBLE);
holder.ivForLocationOrVoiceFromMe
.setImageResource(R.drawable.location_more_icon);
if (m.getBody().equals("")) {
holder.tvMessageBodyFromMe.setText(m.getFromUserName()
+ " sent Location");
} else {
holder.tvMessageBodyFromMe.setText(m.getFromUserName()
+ " sent Location\n" + '\"' + m.getBody() + '\"');
}
} else {
holder.ivForLocationOrVoiceFromMe.setVisibility(View.GONE);
}
holder.rlFromMe.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (m.getMessageType().equals(Const.LOCATION)) {
Intent intent = new Intent(mActivity,
LocationActivity.class);
intent.putExtra(Const.LOCATION, "userLocation");
intent.putExtra(Const.LATITUDE,
Double.parseDouble(m.getLatitude()));
intent.putExtra(Const.LONGITUDE,
Double.parseDouble(m.getLongitude()));
intent.putExtra("idOfUser", UsersManagement
.getLoginUser().getId());
intent.putExtra("nameOfUser", UsersManagement
.getLoginUser().getName());
mActivity.startActivity(intent);
}
}
});
} else if (m.getMessageType().equals(Const.IMAGE)) {
holder.rlImageFromMe.setVisibility(View.VISIBLE);
holder.rlFromMe.setClickable(false);
holder.ivPhotoFromMe.setOnClickListener(getPhotoListener(m));
Utils.displayImage(m.getImageFileId(), holder.ivPhotoFromMe,
holder.pbLoadingForImageFromMe, ImageLoader.SMALL,
R.drawable.image_stub, false);
holder.tvMessageBodyFromMe.setVisibility(View.GONE);
if (m.getCommentCount() > 0) {
holder.rlMyPhotoComments.setVisibility(View.VISIBLE);
holder.tvMyPhotoComments.setText(String.valueOf(m
.getCommentCount()));
} else {
holder.rlMyPhotoComments.setVisibility(View.INVISIBLE);
}
} else if (m.getMessageType().equals(Const.EMOTICON)) {
holder.rlImageFromMe.setVisibility(View.VISIBLE);
holder.ivPhotoFromMe.setBackgroundColor(Color.TRANSPARENT);
Utils.displayImage(m.getEmoticonImageUrl(), holder.ivPhotoFromMe,
holder.pbLoadingForImageFromMe, ImageLoader.SMALL,
R.drawable.image_stub, true);
// holder.ivPhotoFromMe.setImageBitmap(Emoticons.getInstance()
// .getItem(m.getBody()).getBitmap());
// holder.pbLoadingForImageFromMe.setVisibility(View.GONE);
holder.ivPhotoFromMe.setOnClickListener(null);
holder.tvMessageBodyFromMe.setVisibility(View.GONE);
holder.rlFromMe.setOnClickListener(null);
} else if (m.getMessageType().equals(Const.VOICE)
|| m.getMessageType().equals(Const.VIDEO)) {
if (m.getMessageType().equals(Const.VIDEO)) {
if (m.getBody().equals("")) {
holder.tvMessageBodyFromMe.setText(m.getFromUserName()
+ " sent Video");
} else {
holder.tvMessageBodyFromMe.setText(m.getFromUserName()
+ " sent Video\n" + '\"' + m.getBody() + '\"');
}
} else {
if (m.getBody().equals("")) {
holder.tvMessageBodyFromMe.setText(m.getFromUserName()
+ " sent Voice");
} else {
holder.tvMessageBodyFromMe.setText(m.getFromUserName()
+ " sent Voice\n" + '\"' + m.getBody() + '\"');
}
}
holder.tvMessageBodyFromMe.setVisibility(View.VISIBLE);
holder.ivPhotoFromMe.setVisibility(View.GONE);
holder.ivForLocationOrVoiceFromMe.setVisibility(View.VISIBLE);
if (m.getMessageType().equals(Const.VIDEO)) {
holder.ivForLocationOrVoiceFromMe
.setImageResource(R.drawable.video_more_icon);
} else {
holder.ivForLocationOrVoiceFromMe
.setImageResource(R.drawable.mic_voice_icon);
}
if (m.getCommentCount() > 0) {
holder.rlMyPhotoComments.setVisibility(View.VISIBLE);
holder.tvMyPhotoComments.setText(String.valueOf(m
.getCommentCount()));
} else {
holder.rlMyPhotoComments.setVisibility(View.INVISIBLE);
}
holder.rlFromMe.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (m.getMessageType().equals(Const.VOICE)) {
Intent intent = new Intent(mActivity,
VoiceActivity.class);
intent.putExtra("idOfUser", UsersManagement
.getLoginUser().getId());
intent.putExtra("nameOfUser", UsersManagement
.getLoginUser().getName());
intent.putExtra("message", m);
mActivity.startActivity(intent);
} else if (m.getMessageType().equals(Const.VIDEO)) {
Intent intent = new Intent(mActivity,
VideoActivity.class);
intent.putExtra("videoFromUser", false);
intent.putExtra("idOfUser", UsersManagement
.getLoginUser().getId());
intent.putExtra("nameOfUser", UsersManagement
.getLoginUser().getName());
intent.putExtra("message", m);
mActivity.startActivity(intent);
}
}
});
} else {
holder.tvMessageBodyFromMe.setVisibility(View.VISIBLE);
holder.tvMessageBodyFromMe.setText(m.getBody());
}
holder.tvMessageSubTextFromMe.setText(setSubText(m));
}
private void showMessageToMe(final Message m, ViewHolder holder) {
holder.rlToMe.setVisibility(View.VISIBLE);
holder.ivPhotoToMe.setVisibility(View.VISIBLE);
holder.ivForLocationOrVoiceToMe.setVisibility(View.GONE);
holder.rlImageToMe.setVisibility(View.GONE);
holder.tvMessageBodyToMe.setVisibility(View.GONE);
Utils.displayImage(m.getUserAvatarFileId(), holder.btnAvatarToMe,
holder.pbLoadingAvatarToMe, ImageLoader.SMALL,
R.drawable.user_stub, false);
holder.btnAvatarToMe.setOnClickListener(getUserImageListener(m
.getFromUserId()));
if (m.getMessageType().equals(Const.TEXT)
|| m.getMessageType().equals(Const.LOCATION)) {
holder.tvMessageBodyToMe.setVisibility(View.VISIBLE);
holder.tvMessageBodyToMe.setText(m.getBody());
holder.ivPhotoToMe.setVisibility(View.GONE);
if (m.getMessageType().equals(Const.LOCATION)) {
holder.ivForLocationOrVoiceToMe.setVisibility(View.VISIBLE);
holder.ivForLocationOrVoiceToMe
.setImageResource(R.drawable.location_more_icon);
if (m.getBody().equals("")) {
holder.tvMessageBodyToMe.setText(m.getFromUserName()
+ " sent Location");
} else {
holder.tvMessageBodyToMe.setText(m.getFromUserName()
+ " sent Location\n" + '\"' + m.getBody() + '\"');
}
} else {
holder.ivForLocationOrVoiceToMe.setVisibility(View.GONE);
}
holder.rlToMe.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (m.getMessageType().equals(Const.LOCATION)) {
Intent intent = new Intent(mActivity,
LocationActivity.class);
intent.putExtra(Const.LOCATION, "userLocation");
intent.putExtra(Const.LATITUDE,
Double.parseDouble(m.getLatitude()));
intent.putExtra(Const.LONGITUDE,
Double.parseDouble(m.getLongitude()));
intent.putExtra("idOfUser", m.getFromUserId());
intent.putExtra("nameOfUser", m.getFromUserName());
mActivity.startActivity(intent);
}
}
});
} else if (m.getMessageType().equals(Const.IMAGE)) {
holder.rlImageToMe.setVisibility(View.VISIBLE);
holder.rlToMe.setClickable(false);
holder.ivPhotoToMe.setOnClickListener(getPhotoListener(m));
Utils.displayImage(m.getImageThumbFileId(), holder.ivPhotoToMe,
holder.pbLoadingForImageToMe, ImageLoader.LARGE,
R.drawable.image_stub, false);
holder.tvMessageBodyToMe.setVisibility(View.GONE);
if (m.getCommentCount() > 0) {
holder.rlPhotoComments.setVisibility(View.VISIBLE);
holder.tvPhotoComments.setText(String.valueOf(m
.getCommentCount()));
} else {
holder.rlPhotoComments.setVisibility(View.INVISIBLE);
}
} else if (m.getMessageType().equals(Const.EMOTICON)) {
holder.rlImageToMe.setVisibility(View.VISIBLE);
holder.ivPhotoToMe.setBackgroundColor(Color.TRANSPARENT);
Utils.displayImage(m.getEmoticonImageUrl(), holder.ivPhotoToMe,
holder.pbLoadingForImageToMe, ImageLoader.SMALL,
R.drawable.image_stub, true);
// holder.ivPhotoToMe.setImageBitmap(Emoticons.getInstance()
// .getItem(m.getBody()).getBitmap());
// holder.pbLoadingForImageToMe.setVisibility(View.GONE);
holder.tvMessageBodyToMe.setVisibility(View.GONE);
holder.ivPhotoToMe.setOnClickListener(null);
holder.rlToMe.setOnClickListener(null);
} else if (m.getMessageType().equals(Const.VOICE)
|| m.getMessageType().equals(Const.VIDEO)) {
if (m.getMessageType().equals(Const.VIDEO)) {
if (m.getBody().equals("")) {
holder.tvMessageBodyToMe.setText(m.getFromUserName()
+ " sent Video");
} else {
holder.tvMessageBodyToMe.setText(m.getFromUserName()
+ " sent Video\n" + '\"' + m.getBody() + '\"');
}
} else {
if (m.getBody().equals("")) {
holder.tvMessageBodyToMe.setText(m.getFromUserName()
+ " sent Voice");
} else {
holder.tvMessageBodyToMe.setText(m.getFromUserName()
+ " sent Voice\n" + '\"' + m.getBody() + '\"');
}
}
holder.tvMessageBodyToMe.setVisibility(View.VISIBLE);
holder.ivForLocationOrVoiceToMe.setVisibility(View.VISIBLE);
if (m.getMessageType().equals(Const.VIDEO)) {
holder.ivForLocationOrVoiceToMe
.setImageResource(R.drawable.video_more_icon);
} else {
holder.ivForLocationOrVoiceToMe
.setImageResource(R.drawable.mic_voice_icon);
}
holder.ivPhotoToMe.setVisibility(View.GONE);
if (m.getCommentCount() > 0) {
holder.rlPhotoComments.setVisibility(View.VISIBLE);
holder.tvPhotoComments.setText(String.valueOf(m
.getCommentCount()));
} else {
holder.rlPhotoComments.setVisibility(View.INVISIBLE);
}
holder.rlToMe.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (m.getMessageType().equals(Const.VOICE)) {
Intent intent = new Intent(mActivity,
VoiceActivity.class);
intent.putExtra("idOfUser", m.getFromUserId());
intent.putExtra("nameOfUser", m.getFromUserName());
intent.putExtra("message", m);
mActivity.startActivity(intent);
} else if (m.getMessageType().equals(Const.VIDEO)) {
Intent intent = new Intent(mActivity,
VideoActivity.class);
intent.putExtra("videoFromUser", true);
intent.putExtra("idOfUser", m.getFromUserId());
intent.putExtra("nameOfUser", m.getFromUserName());
intent.putExtra("message", m);
mActivity.startActivity(intent);
}
}
});
} else {
holder.tvMessageBodyToMe.setVisibility(View.VISIBLE);
holder.tvMessageBodyToMe.setText(m.getBody());
}
holder.tvMessageSubTextToMe.setText(setSubText(m));
}
}