diff --git a/app/src/main/java/com/example/tampopo_client/Tampopo.java b/app/src/main/java/com/example/tampopo_client/Tampopo.java index 3cff24c..c452c41 100644 --- a/app/src/main/java/com/example/tampopo_client/Tampopo.java +++ b/app/src/main/java/com/example/tampopo_client/Tampopo.java @@ -6,10 +6,9 @@ private String token; private String userId; private String password; + private String chatroomId; - public String getToken() { - return token; - } + public String getToken() {return token;} public void setToken(String token) { this.token = token; @@ -30,4 +29,12 @@ public void setPassword(String password) { this.password = password; } + + public String getChatroomId() { + return chatroomId; + } + + public void setChatroomId(String ChatroomId) { + this.chatroomId = ChatroomId; + } } 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 new file mode 100644 index 0000000..10cc5ed --- /dev/null +++ b/app/src/main/java/com/example/tampopo_client/views/ChatActivity.java @@ -0,0 +1,98 @@ +package com.example.tampopo_client.views; + +import android.os.Bundle; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.Button; +import android.widget.EditText; +import androidx.activity.EdgeToEdge; +import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; +import androidx.core.view.WindowInsetsCompat.Type; +import androidx.lifecycle.ViewModelProvider; +import com.example.tampopo_client.R; +import com.example.tampopo_client.Tampopo; +import com.example.tampopo_client.viewmodels.ChatroomViewModel; +import com.example.tampopo_client.viewmodels.NotificationListener; +import com.example.tampopo_client.viewmodels.UserViewModel; + +public class ChatActivity extends AppCompatActivity { + + private ChatroomViewModel chatViewModel; + + //メンバー変数 + private EditText senderMessage; + private EditText receiverMessage; + private Button buttonSend; + + Tampopo tampopo; + + @Override + protected void onCreate(Bundle savedInstanceState) { + tampopo = (Tampopo)getApplication(); + + super.onCreate(savedInstanceState);//Activityの基本的な初期化処理 + EdgeToEdge.enable(this);//画面の端っこまで使う(Edge-to-Edge)表示 + setContentView(R.layout.activity_chat);//表示する画面のレイアウトXMLファイル(activity_chat.xml)を指定 + + chatViewModel = new ViewModelProvider(this).get(ChatroomViewModel.class); + + senderMessage = findViewById(R.id.sender_message); + receiverMessage = findViewById(R.id.receiver_message); + buttonSend = findViewById(R.id.buttonSend); + + receiverMessage.setKeyListener(null);//受信メッセージ編集不可 + +// buttonSend.setOnClickListener(new OnClickListener() { +// @Override +// public void onClick(View view) { +// String receiverText = receiverMessage.getText().toString();//receiverMessageにユーザーが入力した文字を取り出して、String型の 変数receiverText に入れる +// if (!receiverText.isEmpty()) { +// String senderId = tampopo.getUserId(); +// String token = tampopo.getToken(); +// ChatroomViewModel.loadLatestMessage(null, senderId, token); +// receiverMessage.setText(receiverText);//受信欄に表示 +// senderMessage.setText("");//送信欄をクリア +// } +// } +// }); + +// 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.senderMessage(chatroomId, senderId, senderText, token); + senderMessage.setText(senderText);//送信欄に表示 + } + } + }); + + chatViewModel.getLatestMessageLiveData().observe(this, receiverText -> { + if (receiverText != null) { + receiverMessage.setText(receiverText.getContent()); + } + }); + + + + ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> { + Insets systemBars = insets.getInsets(Type.systemBars()); + v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom); + return insets; + }); + + + } + +} diff --git a/app/src/main/res/drawable/phone.png b/app/src/main/res/drawable/phone.png new file mode 100644 index 0000000..1589b7d --- /dev/null +++ b/app/src/main/res/drawable/phone.png Binary files differ diff --git a/app/src/main/res/layout/activity_chat.xml b/app/src/main/res/layout/activity_chat.xml new file mode 100644 index 0000000..ec31135 --- /dev/null +++ b/app/src/main/res/layout/activity_chat.xml @@ -0,0 +1,63 @@ + + + + + + + + +