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 86babf70fbe3fc82710bdce7b97893ec4c08a20f..1637daa955b91e3ee52b553725963b041b91a639 100644
--- a/android/app/src/main/java/com/chatman/activity/ChatRoomActivity.java
+++ b/android/app/src/main/java/com/chatman/activity/ChatRoomActivity.java
@@ -2,11 +2,14 @@ package com.chatman.activity;
 
 import android.content.Intent;
 import android.os.Build;
+import android.support.annotation.NonNull;
 import android.support.v4.content.ContextCompat;
 import android.support.v7.app.AppCompatActivity;
 import android.os.Bundle;
+import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.support.v7.widget.Toolbar;
+import android.util.Log;
 import android.view.MenuItem;
 import android.view.View;
 import android.widget.EditText;
@@ -14,15 +17,30 @@ import android.widget.ImageButton;
 import android.widget.TextView;
 
 import com.chatman.R;
+import com.chatman.adapter.ChatAdapter;
+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.DataSnapshot;
+import com.google.firebase.database.DatabaseError;
+import com.google.firebase.database.FirebaseDatabase;
+import com.google.firebase.database.ValueEventListener;
+
+import java.util.Calendar;
+import java.util.List;
 
 public class ChatRoomActivity extends AppCompatActivity {
 
+    private static final String TAG = ChatRoomActivity.class.getSimpleName();
+
     private Toolbar toolbar;
     private RecyclerView chatRv;
+    private ChatAdapter adapter;
     private EditText chatEt;
     private ImageButton chatSend;
     private TextView toolbarName;
-
+    private List<Chat> chatList;
     private String chatRoomId;
 
 
@@ -58,6 +76,55 @@ public class ChatRoomActivity extends AppCompatActivity {
             toolbarName.setText(intent.getStringExtra("name"));
             chatRoomId = intent.getStringExtra("chatRoomId");
         }
+
+        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
+        linearLayoutManager.setReverseLayout(false);
+        linearLayoutManager.setStackFromEnd(false);
+        chatRv.setLayoutManager(linearLayoutManager);
+        adapter = new ChatAdapter(chatList);
+        chatRv.setAdapter(adapter);
+
+        initializeListener();
+    }
+
+    private void initializeListener() {
+        chatSend.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (!chatEt.getText().toString().equals("")) {
+                    FirebaseDatabase.getInstance().getReference().child("chatroom").child(chatRoomId)
+                            .addListenerForSingleValueEvent(new ValueEventListener() {
+                                @Override
+                                public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
+                                    String friendId = "";
+                                    for(DataSnapshot userId : dataSnapshot.child("users").getChildren()) {
+                                        if (!((String) userId.getValue()).equals(PreferencesHelper.getToken(ChatRoomActivity.this))) {
+                                            friendId = (String) userId.getValue();
+                                            Log.d(TAG, "onDataChange: friendId " + friendId);
+                                        }
+                                    }
+                                    Chat sendChat = new Chat(PreferencesHelper.getToken(ChatRoomActivity.this),
+                                            PreferencesHelper.getUserName(ChatRoomActivity.this), friendId,
+                                            Calendar.getInstance().getTime(), chatEt.getText().toString());
+                                    String idChat = FirebaseHelper.dbMessage.push().getKey();
+                                    Log.d(TAG, "onDataChange: idChat" + idChat);
+                                    FirebaseHelper.dbMessage.child(idChat).setValue(sendChat);
+                                    String index = String.valueOf(dataSnapshot.child("messages").getChildrenCount());
+                                    Log.d(TAG, "onDataChange: index chat " + index);
+                                    FirebaseDatabase.getInstance().getReference("chatroom/" + chatRoomId + "/messages")
+                                            .child(index).setValue(idChat);
+                                    chatEt.setText("");
+                                }
+
+                                @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 478b325f5a64e11a620afd559fdfb5b1f43d70da..103498938afe720881cfd4177289dc558620c998 100644
--- a/android/app/src/main/java/com/chatman/adapter/ChatAdapter.java
+++ b/android/app/src/main/java/com/chatman/adapter/ChatAdapter.java
@@ -78,7 +78,7 @@ public class ChatAdapter extends RecyclerView.Adapter {
     @Override
     public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
         context = parent.getContext();
-        currentUser = PreferencesHelper.getUserFirebaseKey(context);
+        currentUser = PreferencesHelper.getToken(context);
         View view;
 
         if (viewType == VIEW_TYPE_MESSAGE_SENT) {
diff --git a/android/app/src/main/java/com/chatman/fragment/BotFragment.java b/android/app/src/main/java/com/chatman/fragment/BotFragment.java
index ea286bb37913e71ccbc49f4fc511d09c4ea3d2ad..6c1ce4fcf5eb897576ffadac46b32bb26cd55945 100644
--- a/android/app/src/main/java/com/chatman/fragment/BotFragment.java
+++ b/android/app/src/main/java/com/chatman/fragment/BotFragment.java
@@ -79,10 +79,10 @@ public class BotFragment extends Fragment {
             public void onClick(View view) {
                 if (!message.getText().toString().equals("")){
                     Toast.makeText(context, "Send: "+message.getText().toString(), Toast.LENGTH_SHORT).show();
-                    Chat sendMessage = new Chat(PreferencesHelper.getUserFirebaseKey(context), PreferencesHelper.getUserName(context), BOT_KEY, Calendar.getInstance().getTime(), message.getText().toString());
+                    Chat sendMessage = new Chat(PreferencesHelper.getToken(context), PreferencesHelper.getUserName(context), BOT_KEY, Calendar.getInstance().getTime(), message.getText().toString());
                     String key = FirebaseHelper.dbMessage.push().getKey();
                     FirebaseHelper.dbMessage.child(key).setValue(sendMessage);
-
+                    message.setText("");
                     // BALASAN DARI BOT
                     Chat botMessage = new Chat(BOT_KEY, "ChatMan Bot", PreferencesHelper.getUserFirebaseKey(context), Calendar.getInstance().getTime(), "Halo! Selamat datang di ChatMan");
                     String botKey = FirebaseHelper.dbMessage.push().getKey();
diff --git a/android/app/src/main/java/com/chatman/fragment/HomeFragment.java b/android/app/src/main/java/com/chatman/fragment/HomeFragment.java
index 653b8479631ccf0f7416a27fd201f1ef4ba2c879..78af406448138662c76d8f92771bccab9a8a4c11 100644
--- a/android/app/src/main/java/com/chatman/fragment/HomeFragment.java
+++ b/android/app/src/main/java/com/chatman/fragment/HomeFragment.java
@@ -223,7 +223,7 @@ public class HomeFragment extends Fragment {
                         for (DataSnapshot ds : userSnapshot.getChildren()) {
                             String instanceId = (String) ds.getValue();
                             Log.d(TAG, "onDataChange: instance id " + instanceId);
-                            if (!instanceId.equals(PreferencesHelper.getToken(getContext()))) {
+                            if (!instanceId.equals(PreferencesHelper.getToken(getActivity()))) {
                                 Log.d(TAG, "onDataChange: user found");
                                 Log.d(TAG, "onDataChange: instance id 2 " + instanceId);
                                 FirebaseDatabase.getInstance().getReference().child("user").orderByChild("key").limitToFirst(1)
diff --git a/android/app/src/main/res/layout/activity_chat_room.xml b/android/app/src/main/res/layout/activity_chat_room.xml
index 118f966b6ed15e47bf2edaf8a3375f4e9e006b7a..725d8fc5dc614f25e9341411b7ced70eebd036bf 100644
--- a/android/app/src/main/res/layout/activity_chat_room.xml
+++ b/android/app/src/main/res/layout/activity_chat_room.xml
@@ -38,10 +38,9 @@
 
     <android.support.v7.widget.RecyclerView
         android:id="@+id/chat_rv"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+        android:layout_width="0dp"
+        android:layout_height="0dp"
         android:layout_marginTop="8dp"
-        android:layout_marginBottom="8dp"
         app:layout_constraintBottom_toTopOf="@+id/constraintLayout"
         app:layout_constraintHorizontal_bias="0.0"
         app:layout_constraintLeft_toLeftOf="parent"
diff --git a/android/app/src/main/res/layout/fragment_bot.xml b/android/app/src/main/res/layout/fragment_bot.xml
index a97fa3abe080926c6da28fc85d51f23ecc9812da..084af57f3cc7d9d9e69941edbf8a4aa29fb3ea3e 100644
--- a/android/app/src/main/res/layout/fragment_bot.xml
+++ b/android/app/src/main/res/layout/fragment_bot.xml
@@ -9,20 +9,21 @@
     <android.support.v7.widget.RecyclerView
         android:id="@+id/chat_bot_room_rv"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="56dp"
-        app:layout_constraintTop_toTopOf="parent"
+        android:layout_height="0dp"
+        app:layout_constraintBottom_toTopOf="@+id/constraintLayout3"
         app:layout_constraintLeft_toLeftOf="parent"
-        app:layout_constraintRight_toRightOf="parent">
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
 
     </android.support.v7.widget.RecyclerView>
 
     <android.support.constraint.ConstraintLayout
+        android:id="@+id/constraintLayout3"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:minHeight="56dp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:orientation="horizontal">
+        android:orientation="horizontal"
+        app:layout_constraintBottom_toBottomOf="parent">
 
         <EditText
             android:id="@+id/chat_bot_room_et"