diff --git a/android/app/src/main/java/com/chatman/BotFragment.java b/android/app/src/main/java/com/chatman/BotFragment.java index 254883abd9dc124eea6f5391a9f1d04515b10f4e..bb02667a643341a7b4ddacd788c6814fda3f2d0a 100644 --- a/android/app/src/main/java/com/chatman/BotFragment.java +++ b/android/app/src/main/java/com/chatman/BotFragment.java @@ -7,6 +7,17 @@ import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageButton; +import android.widget.Toast; + +import com.chatman.helper.FirebaseHelper; +import com.chatman.helper.PreferencesHelper; +import com.chatman.model.Chat; +import com.chatman.model.User; + +import java.util.Calendar; /** @@ -20,6 +31,10 @@ import android.view.ViewGroup; public class BotFragment extends Fragment { private OnFragmentInteractionListener mListener; + private ImageButton sentButton; + private EditText message; + private Context context; + private static final String BOT_KEY = "BOT_KEY"; public BotFragment() { // Required empty public constructor @@ -34,16 +49,36 @@ public class BotFragment extends Fragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + context = getContext(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_bot, container, false); + + sentButton = view.findViewById(R.id.chat_bot_room_send); + message = view.findViewById(R.id.chat_bot_room_et); + + sentButton.setOnClickListener(new View.OnClickListener() { + @Override + 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()); + String key = FirebaseHelper.dbMessage.push().getKey(); + FirebaseHelper.dbMessage.child(key).setValue(sendMessage); + } + } + }); + // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_bot, container, false); + return view; } + + public void onButtonPressed(Uri uri) { if (mListener != null) { mListener.onFragmentInteraction(uri); @@ -82,4 +117,6 @@ public class BotFragment extends Fragment { void onFragmentInteraction(Uri uri); } + + } diff --git a/android/app/src/main/java/com/chatman/helper/FirebaseHelper.java b/android/app/src/main/java/com/chatman/helper/FirebaseHelper.java index 393a0f32a0624e9e596eef188a73a0aee6efb736..005c3faac65686d2aaebcd1b26fa6b81ba10a3b6 100644 --- a/android/app/src/main/java/com/chatman/helper/FirebaseHelper.java +++ b/android/app/src/main/java/com/chatman/helper/FirebaseHelper.java @@ -6,7 +6,7 @@ import com.google.firebase.database.FirebaseDatabase; public class FirebaseHelper { private static final String DB_USER = "user"; - private static final String DB_MESSAGE = "MESSAGE"; + private static final String DB_MESSAGE = "message"; public static String USER_KEY, USER_EMAIL, USER_NAMA, USER_PASSWORD; private static DatabaseReference reference = FirebaseDatabase.getInstance().getReference(); diff --git a/android/app/src/main/java/com/chatman/model/Chat.java b/android/app/src/main/java/com/chatman/model/Chat.java index ecb083b637e0c916d08f94dacd4da6f051359ae8..4c3f882fa6414a9c4e2869ec0c26ab36e214be89 100644 --- a/android/app/src/main/java/com/chatman/model/Chat.java +++ b/android/app/src/main/java/com/chatman/model/Chat.java @@ -4,12 +4,14 @@ import java.util.Date; public class Chat { private String idSender; + private String nameSender; private String idReceiver; private Date date; private String message; - public Chat(String idSender, String idReceiver, Date date, String message) { + public Chat(String idSender, String nameSender, String idReceiver, Date date, String message) { this.idSender = idSender; + this.nameSender = nameSender; this.idReceiver = idReceiver; this.date = date; this.message = message; @@ -23,6 +25,14 @@ public class Chat { this.idSender = idSender; } + public String getNameSender() { + return nameSender; + } + + public void setNameSender(String nameSender) { + this.nameSender = nameSender; + } + public String getIdReceiver() { return idReceiver; } diff --git a/android/app/src/main/res/drawable/rounded_rectangle_green.xml b/android/app/src/main/res/drawable/rounded_rectangle_green.xml new file mode 100644 index 0000000000000000000000000000000000000000..134effe53af91a24dc1ea6c5d89635d99b04e1d1 --- /dev/null +++ b/android/app/src/main/res/drawable/rounded_rectangle_green.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle" > + + <!-- View background color --> + <solid + android:color="@color/colorAccent" > + </solid> + + <!-- The radius makes the corners rounded --> + <corners + android:radius="20dp"> + </corners> +</shape> + diff --git a/android/app/src/main/res/drawable/rounded_rectangle_orange.xml b/android/app/src/main/res/drawable/rounded_rectangle_orange.xml new file mode 100644 index 0000000000000000000000000000000000000000..ef340ba09d065934882b2678c1af55c287e398c6 --- /dev/null +++ b/android/app/src/main/res/drawable/rounded_rectangle_orange.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android" + android:shape="rectangle" > + + <!-- View background color --> + <solid + android:color="#FF6E00" > + </solid> + + <!-- The radius makes the corners rounded --> + <corners + android:radius="20dp"> + </corners> +</shape> + diff --git a/android/app/src/main/res/layout/item_message_received.xml b/android/app/src/main/res/layout/item_message_received.xml new file mode 100644 index 0000000000000000000000000000000000000000..4d830f9978dc2d35f44d5024d4edef0e3be374f6 --- /dev/null +++ b/android/app/src/main/res/layout/item_message_received.xml @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="utf-8"?> + +<android.support.constraint.ConstraintLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingTop="8dp"> + + <de.hdodenhof.circleimageview.CircleImageView + android:id="@+id/received_image_message_profile" + android:layout_width="32dp" + android:layout_height="32dp" + app:layout_constraintTop_toTopOf="parent" + android:layout_marginStart="8dp" + app:layout_constraintLeft_toLeftOf="parent" /> + + <TextView + android:id="@+id/received_text_message_name" + android:text="John Doe" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textSize="12sp" + app:layout_constraintLeft_toRightOf="@+id/received_image_message_profile" + android:layout_marginStart="8dp" + app:layout_constraintTop_toTopOf="parent" + android:layout_marginTop="4dp" /> + + <TextView + android:id="@+id/received_text_message_body" + android:text="hi man, how are you?" + android:background="@drawable/rounded_rectangle_orange" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:maxWidth="240dp" + android:padding="8dp" + android:textColor="#ffffff" + android:layout_marginTop="4dp" + app:layout_constraintTop_toBottomOf="@+id/received_text_message_name" + app:layout_constraintLeft_toRightOf="@+id/received_image_message_profile" + android:layout_marginStart="8dp" /> + + <TextView + android:id="@+id/received_text_message_time" + android:text="11:40" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textSize="10sp" + app:layout_constraintLeft_toRightOf="@+id/received_text_message_body" + android:layout_marginStart="4dp" + app:layout_constraintBottom_toBottomOf="@+id/received_text_message_body" /> + +</android.support.constraint.ConstraintLayout> \ No newline at end of file diff --git a/android/app/src/main/res/layout/item_message_sent.xml b/android/app/src/main/res/layout/item_message_sent.xml new file mode 100644 index 0000000000000000000000000000000000000000..92fc7a2aac591a96b2c7c634af6132b8f8dbd332 --- /dev/null +++ b/android/app/src/main/res/layout/item_message_sent.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.constraint.ConstraintLayout + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:paddingTop="8dp"> + + <TextView + android:id="@+id/sent_text_message_body" + android:text="hello, hello!" + android:background="@drawable/rounded_rectangle_green" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:maxWidth="240dp" + android:padding="8dp" + android:textColor="#ffffff" + android:layout_marginEnd="8dp" + app:layout_constraintRight_toRightOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/sent_text_message_time" + android:text="11:40" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:textSize="10sp" + android:layout_marginEnd="4dp" + app:layout_constraintBottom_toBottomOf="@+id/sent_text_message_body" + app:layout_constraintRight_toLeftOf="@+id/sent_text_message_body" /> + +</android.support.constraint.ConstraintLayout> \ No newline at end of file