Android Open Source - BLEMeshChat Peer Adapter

From Project

Back to project page BLEMeshChat.


The source code is released under:

GNU General Public License

If you think the Android project BLEMeshChat listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package pro.dbro.ble.ui.adapter;
// w  w w  . ja v a2 s. c o m
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import java.util.ArrayList;

import pro.dbro.ble.R;

 * Created by davidbrodsky on 10/12/14.
public class PeerAdapter extends RecyclerView.Adapter<PeerAdapter.ViewHolder> {
    private Context mContext;
    private ArrayList<Peer> mPeers;

    // Provide a reference to the type of views that you are using
    // (custom viewholder)
    public static class ViewHolder extends RecyclerView.ViewHolder {
        public TextView mTextView;
        public ViewHolder(View v) {
            mTextView = (TextView) v.findViewById(;

    // Provide a suitable constructor (depends on the kind of dataset)
    public PeerAdapter(Context context, ArrayList<Peer> peers) {
        mPeers = peers;
        mContext = context;

    // Create new views (invoked by the layout manager)
    public PeerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
                                                   int viewType) {
        // create a new view
        View v = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.peer_item, parent, false);
        // set the view's size, margins, paddings and layout parameters
        ViewHolder vh = new ViewHolder(v);
//        vh.mSenderView.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                // TODO
//            }
//        });
        return vh;

    // Replace the contents of a view (invoked by the layout manager)
    public void onBindViewHolder(ViewHolder holder, int position) {
        // - get element from your dataset at this position
        // - replace the contents of the view with that element


    // Return the size of your dataset (invoked by the layout manager)
    public int getItemCount() {
        return mPeers.size();

    public void notifyPeerAdded(Peer peer) {

    public void notifyPeerRemoved(Peer peer) {
        int idx = mPeers.indexOf(peer);
        if (idx != -1) {

    public void notifyMessageReceived(DataStore manager, Message message) {
        Peer peer = message.getSender(manager);
        if (peer != null) {
            int oldIdx = mPeers.indexOf(peer);
            if (oldIdx != -1 ) {
                mPeers.add(0, peer);
                notifyItemMoved(oldIdx, 0);

Java Source Code List