diff --git a/android/app/src/main/java/com/chatman/activity/ChatRoomActivity.java b/android/app/src/main/java/com/chatman/activity/ChatRoomActivity.java index 1637daa955b91e3ee52b553725963b041b91a639..08d8d83459531991de7051ebba187427c980de7c 100644 --- a/android/app/src/main/java/com/chatman/activity/ChatRoomActivity.java +++ b/android/app/src/main/java/com/chatman/activity/ChatRoomActivity.java @@ -3,6 +3,7 @@ package com.chatman.activity; import android.content.Intent; import android.os.Build; import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; @@ -22,11 +23,13 @@ import com.chatman.helper.FirebaseHelper; import com.chatman.helper.PreferencesHelper; import com.chatman.model.Chat; import com.chatman.model.ChatRoom; +import com.google.firebase.database.ChildEventListener; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.ValueEventListener; +import java.util.ArrayList; import java.util.Calendar; import java.util.List; @@ -77,6 +80,7 @@ public class ChatRoomActivity extends AppCompatActivity { chatRoomId = intent.getStringExtra("chatRoomId"); } + chatList = new ArrayList<>(); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); linearLayoutManager.setReverseLayout(false); linearLayoutManager.setStackFromEnd(false); @@ -125,6 +129,44 @@ public class ChatRoomActivity extends AppCompatActivity { } } }); + + FirebaseDatabase.getInstance().getReference("chatroom/" + chatRoomId + "/messages").addChildEventListener(new ChildEventListener() { + @Override + public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) { + FirebaseHelper.dbMessage.child((String) dataSnapshot.getValue()).addListenerForSingleValueEvent(new ValueEventListener() { + @Override + public void onDataChange(@NonNull DataSnapshot dataSnapshot) { + chatList.add(dataSnapshot.getValue(Chat.class)); + adapter.notifyDataSetChanged(); + } + + @Override + public void onCancelled(@NonNull DatabaseError databaseError) { + + } + }); + } + + @Override + public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) { + + } + + @Override + public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) { + + } + + @Override + public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) { + + } + + @Override + public void onCancelled(@NonNull DatabaseError databaseError) { + + } + }); } @Override diff --git a/android/app/src/main/java/com/chatman/adapter/ChatAdapter.java b/android/app/src/main/java/com/chatman/adapter/ChatAdapter.java index 103498938afe720881cfd4177289dc558620c998..64e29eb1494b51c7d2f96a4be5e6428bb38422df 100644 --- a/android/app/src/main/java/com/chatman/adapter/ChatAdapter.java +++ b/android/app/src/main/java/com/chatman/adapter/ChatAdapter.java @@ -152,7 +152,7 @@ public class ChatAdapter extends RecyclerView.Adapter { nameText.setText(message.getNameSender()); // Insert the profile image from the URL into the ImageView. - Glide.with(itemView).load(R.drawable.robotic).into(profileImage); + Glide.with(itemView).load(R.mipmap.chatman_launcher_round).into(profileImage); } }