Ejemplo n.º 1
0
        OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            ChatAdaptereViewHolder vh = holder as ChatAdaptereViewHolder;

            _PhoneContactModel = new PhoneContactModel();
            _PhoneContactModel = _items[position];

            vh.ContactPersonName.Text = _items[position].name.ToString();
            vh.ContactNumber.Text     = _items[position].number;

            if (_items[position].photoId == null)
            {
                vh.imgContactPersonlogo.SetImageResource(Resource.Drawable.default_profile);
            }
            //else
            //{
            //    var contactUri = ContentUris.WithAppendedId(
            //        ContactsContract.Contacts.ContentUri, _items[position].contactId);
            //    //var contactPhotoUri = Android.Net.Uri.WithAppendedPath(contactUri, Contacts.Photos.ContentDirectory);
            //    vh.imgContactPersonlogo.SetImageURI(Android.Net.Uri.WithAppendedPath(contactUri, Contacts.Photos.ContentDirectory));
            //    ////////viewHolder.imgContactPersonlogo.SetImageDrawable(ImageManager.Get(parent.Context, _items[position].photo));
            //}



            vh.InvitePhoneContact.Tag = _items[position].number;
            vh.InvitePhoneContact.SetOnClickListener(new InvitePhoneContactButtonClickListener(_items, context));

            //vh.imgMessagelogo.Tag = _items[position].number;
            //vh.imgMessagelogo.SetOnClickListener(new imgMessagelogoButtonClickListener(_items, context));
        }
Ejemplo n.º 2
0
        OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            RecyclerView.ViewHolder viewHolder = null;
            LayoutInflater          inflater   = LayoutInflater.From(parent.Context);


            switch (viewType)
            {
            case ChatListItem.TYPE_PRIVATE_CHAT:
                View v1 = inflater.Inflate(Resource.Layout.ChatListItem, parent, false);
                viewHolder = new ChatAdaptereViewHolder(v1, OnClickPrivateChatItem);
                break;

            case ChatListItem.TYPE_GROUP_CHAT:

                View v2 = inflater.Inflate(Resource.Layout.ChatGroupsListItem, parent, false);
                viewHolder = new ChatGroupViewHolder(v2, OnClickGroupChatItem);
                break;
            }
            return(viewHolder);

            //// Inflate the CardView for the photo:
            //var itemView = LayoutInflater.From(parent.Context).
            //            Inflate(Resource.Layout.ChatListItem, parent, false);

            //// Create a ViewHolder to find and hold these view references, and
            //// register OnClick with the view holder:
            //ChatAdaptereViewHolder vh = new ChatAdaptereViewHolder(itemView, OnClick);
            //return vh;
        }
Ejemplo n.º 3
0
        OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            // Inflate the CardView for the photo:
            var itemView = LayoutInflater.From(parent.Context).
                           Inflate(Resource.Layout.PhoneContactsListItem, parent, false);

            // Create a ViewHolder to find and hold these view references, and
            // register OnClick with the view holder:
            ChatAdaptereViewHolder vh = new ChatAdaptereViewHolder(itemView, OnClick);

            return(vh);
        }
Ejemplo n.º 4
0
        OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            switch (originalChat[position].IsGroup)
            {
            case false:
                ChatAdaptereViewHolder vh = holder as ChatAdaptereViewHolder;
                var ContactUser           = ContactRepository.GetContactbyUserId(Convert.ToInt64(originalChat[position].ContactId));
                if (ContactUser != null)
                {
                    vh.SenderName.Text = ContactUser.name;
                    if (Convert.ToDateTime(originalChat[position].LastMessageDate).ToLocalTime().Date == DateTime.UtcNow.ToLocalTime().Date)
                    {
                        vh.MsgTextTime.Text = Convert.ToDateTime(originalChat[position].LastMessageDate).ToLocalTime().ToString("hh:mm tt");
                    }
                    else
                    {
                        vh.MsgTextTime.Text = Convert.ToDateTime(originalChat[position].LastMessageDate).ToLocalTime().Date.ToString("MM/dd/yyyy");
                    }
                    vh.txtFeedMessage.Text = originalChat[position].LastMessage;

                    int count = ChatMessageRepository.getChatMessageUnRead(originalChat[position].ChatId);

                    if (count > 0)
                    {
                        vh.MsgTextTime.SetTextColor(Color.YellowGreen);
                        vh.txtMessageCount.Visibility = ViewStates.Visible;
                        vh.txtMessageCount.Text       = count.ToString();
                    }
                    else
                    {
                        vh.txtMessageCount.Visibility = ViewStates.Invisible;
                    }

                    if (!string.IsNullOrEmpty(ContactUser.contactPicUrl))
                    {
                        Picasso.With(context)
                        .Load(ContactUser.contactPicUrl)
                        .Transform(new CircleTransformation())
                        .Fit()
                        .Into(vh.imgMessagelogo);
                    }
                }
                break;

            case true:
                ChatGroupViewHolder viewHolder = holder as ChatGroupViewHolder;

                int countGroupUnread = GroupRepository.getGroupMessageUnRead((long)originalChat[position].GroupId);
                if (countGroupUnread > 0)
                {
                    viewHolder.txtTime.SetTextColor(Color.YellowGreen);
                    viewHolder.txtMessageCount.Visibility = ViewStates.Visible;
                    viewHolder.txtMessageCount.Text       = countGroupUnread.ToString();
                }
                else
                {
                    viewHolder.txtMessageCount.Visibility = ViewStates.Invisible;
                }

                var GroupDetails = GroupRepository.GetGroupByID(Convert.ToInt64(originalChat[position].GroupId));
                if (GroupDetails != null)
                {
                    viewHolder.lblChatGroupName.Text = GroupDetails.GroupName;
                    if (Convert.ToDateTime(originalChat[position].LastMessageDate).ToLocalTime().Date == DateTime.UtcNow.ToLocalTime().Date)
                    {
                        viewHolder.txtTime.Text = Convert.ToDateTime(originalChat[position].LastMessageDate).ToLocalTime().ToString("hh:mm tt");
                    }
                    else
                    {
                        viewHolder.txtTime.Text = Convert.ToDateTime(originalChat[position].LastMessageDate).ToLocalTime().Date.ToString("MM/dd/yyyy");
                    }
                    if (!string.IsNullOrEmpty(originalChat[position].LastMessage))
                    {
                        viewHolder.lblChatGroupLastMSG.Text = originalChat[position].SenderName + " : " + originalChat[position].LastMessage;
                    }
                    else
                    {
                        var GroupUser = ContactRepository.GetContactbyUserId(GroupDetails.OwnerId);
                        if (GroupUser != null)
                        {
                            viewHolder.lblChatGroupLastMSG.Text = "Created by " + GroupUser.screenName;
                        }
                        else if (GroupDetails.OwnerId == CommonHelper.GetUserId())
                        {
                            viewHolder.lblChatGroupLastMSG.Text = "Created by me";
                        }
                        else
                        {
                            viewHolder.lblChatGroupLastMSG.Text = "Created by Unknown";
                        }
                    }

                    if (GroupDetails.GroupPictureUrl != null)
                    {
                        Picasso.With(context)
                        .Load(GroupDetails.GroupPictureUrl)
                        .Transform(new CircleTransformation())
                        .Fit()
                        .Into(viewHolder.ivgroupdefault);
                    }
                }
                break;
            }
        }