diff --git a/app/src/main/java/com/example/tampopo_client/views/ChatActivity.java b/app/src/main/java/com/example/tampopo_client/views/ChatActivity.java index c88c250..70ecb39 100644 --- a/app/src/main/java/com/example/tampopo_client/views/ChatActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/ChatActivity.java @@ -1,5 +1,6 @@ package com.example.tampopo_client.views; +import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; @@ -22,7 +23,8 @@ //メンバー変数 private EditText senderMessage; private EditText receiverMessage; - private Button buttonSend; + private Button sendButton; + private Button backButton; Tampopo tampopo; @@ -38,7 +40,8 @@ senderMessage = findViewById(R.id.sender_message); receiverMessage = findViewById(R.id.receiver_message); - buttonSend = findViewById(R.id.buttonSend); + sendButton = findViewById(R.id.send_Button); + backButton = findViewById(R.id.back_Button); receiverMessage.setKeyListener(null);//受信メッセージ編集不可 @@ -56,32 +59,44 @@ // } // }); -// String receiverText = senderMessage.getText().toString();//senderMessageにユーザーが入力した文字を取り出して、String型の 変数receiverText に入れる -// if (!receiverText.isEmpty()) { -// receiverMessage.setText(ChatroomViewModel.latestMessage); -// } - buttonSend.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View view) { - String senderText = senderMessage.getText().toString();//senderMessageにユーザーが入力した文字を取り出して、String型の 変数receiverText に入れる - if (!senderText.isEmpty()) { - String senderId = tampopo.getUserId(); - String token = tampopo.getToken(); - String chatroomId = tampopo.getChatroomId(); - chatroomViewModel.sendMessage(chatroomId, senderId, senderText, token); - senderMessage.setText(senderText);//送信欄に表示 - } - } - }); - - chatroomViewModel.getLatestMessageLiveData().observe(this, receiverText -> { - if (receiverText != null) { - receiverMessage.setText(receiverText.getContent()); + //メッセージ送信 + sendButton.setOnClickListener(new OnClickListener() { //sendButtonがクリックされたときの処理 + @Override + public void onClick(View view) { //ボタンがクリックされたときに実行される処理本体 + String senderText = senderMessage.getText().toString(); //senderMessageにユーザーが入力した文字を取り出して、String型の 変数receiverText に入れる + if (!senderText.isEmpty()) { //senderTextが空でなければ + String senderId = tampopo.getUserId(); + String token = tampopo.getToken(); + String chatroomId = tampopo.getChatroomId(); + chatroomViewModel.sendMessage(chatroomId, senderId, senderText, token); + senderMessage.setText(senderText);//自分のメッセージを送信欄に表示 + } } }); + //メッセージ受信 + chatroomViewModel.getLatestMessageLiveData().observe(this, chatMessage -> { + if (chatMessage != null) { + String myUserId = tampopo.getUserId(); // 自分のIDを取得 + String senderId = chatMessage.getSenderId(); //相手(メッセージ送信者)のIDを取得 + + if (!myUserId.equals(senderId)) { //自分のIDが相手のIDと異なっていれば,(相手からのメッセージと判断) + receiverMessage.setText(chatMessage.getContent());// 相手からのメッセージを受信欄に表示 + } + } + }); + + + //戻るボタン + backButton.setOnClickListener(new OnClickListener() { //backButtonがクリックされたときの処理 + public void onClick(View view) { //ボタンがクリックされたときに実行される処理本体 + Intent intent = new Intent(ChatActivity.this, MainActivity.class); //ChatActivity から MainActivity に画面遷移 + startActivity(intent); + } + }); + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { Insets systemBars = insets.getInsets(Type.systemBars());