MCPcopy Create free account
hub / github.com/Raj-m01/Android-Chat-App / chatPageAdapter

Class chatPageAdapter

app/src/main/java/adapters/chatPageAdapter.java:27–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25
26
27public class chatPageAdapter extends RecyclerView.Adapter<chatPageAdapter.ViewHolder> {
28
29 private final ArrayList<UserModel> userData;
30 Context context;
31 private static OnClickListener listener;
32 FirebaseDatabase firebaseDatabase;
33 FirebaseAuth firebaseAuth;
34
35 public chatPageAdapter(ArrayList<UserModel> userData, Context context) {
36 this.userData = userData;
37 this.context = context;
38 }
39
40 @NonNull
41 @Override
42 public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
43
44 View view = LayoutInflater.from(parent.getContext())
45 .inflate(R.layout.chats_list_items, parent, false);
46
47 return new ViewHolder(view);
48 }
49
50
51 @Override
52 public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
53
54
55 userData.sort(Comparator.comparing(UserModel::getRecentMsgTime).reversed());
56
57 firebaseAuth = FirebaseAuth.getInstance();
58 firebaseDatabase = FirebaseDatabase.getInstance();
59
60
61 // Show date/time on contact list
62 final Calendar cal = Calendar.getInstance();
63 cal.setTimeInMillis(userData.get(position).getRecentMsgTime());
64 final String timeString1 =
65 new SimpleDateFormat("dd-M-yy HH:mm").format(cal.getTime());
66 final String timeString2 =
67 new SimpleDateFormat("dd-M-yy HH:mm").format(new Date().getTime());
68 int diff = Integer.parseInt(timeString2.substring(0, 2)) - Integer.parseInt(timeString1.substring(0, 2));
69
70 if (diff < 1) {
71 holder.recent_time.setText(timeString1.trim().substring(8));
72 } else if (diff >= 1) {
73 holder.recent_time.setText(timeString1.trim().substring(0, 8));
74 }
75
76
77 holder.chat_name.setText(userData.get(position).getUserName());
78 holder.recent_message.setText(userData.get(position).getRecentMessage());
79
80 String picUrl = userData.get(position).getProfilePic();
81
82 Picasso.get().load(picUrl)
83 .fit().centerCrop()
84 .placeholder(R.drawable.user)

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected