diff --git a/app/src/main/java/com/example/tampopo_client/resources/ChatroomResource.java b/app/src/main/java/com/example/tampopo_client/resources/ChatroomResource.java index 4ea005d..48f8d72 100644 --- a/app/src/main/java/com/example/tampopo_client/resources/ChatroomResource.java +++ b/app/src/main/java/com/example/tampopo_client/resources/ChatroomResource.java @@ -6,12 +6,10 @@ import java.util.List; import retrofit2.Call; -import retrofit2.http.Body; import retrofit2.http.DELETE; import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; -import retrofit2.http.Header; import retrofit2.http.POST; import retrofit2.http.PUT; import retrofit2.http.Path; @@ -59,9 +57,9 @@ //チャットルームにメッセージを追加する - @POST("chat-rooms/{chatroom-id}/{user-id}/message") + @PUT("chat-rooms/{chatroom-id}/{user-id}/message") @FormUrlEncoded - Call sendMessage( + Call sendMessage( @Path("chatroom-id") String chatRoomId, @Path("user-id") String senderId, @Field("message") String message, diff --git a/app/src/main/java/com/example/tampopo_client/viewmodels/ChatViewModel.java b/app/src/main/java/com/example/tampopo_client/viewmodels/ChatViewModel.java index a765945..a3c0bab 100644 --- a/app/src/main/java/com/example/tampopo_client/viewmodels/ChatViewModel.java +++ b/app/src/main/java/com/example/tampopo_client/viewmodels/ChatViewModel.java @@ -5,8 +5,10 @@ import android.util.Log; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; + import com.example.tampopo_client.models.ChatMessage; import com.example.tampopo_client.models.Chatroom; +import com.example.tampopo_client.models.Chatroom; import com.example.tampopo_client.resources.ChatroomResource; import java.io.IOException; @@ -26,7 +28,7 @@ // --- LiveData --- private final MutableLiveData chatroomIdLiveData = new MutableLiveData<>(); - private final MutableLiveData> chatMessages = new MutableLiveData<>(new ArrayList<>()); + private final MutableLiveData> chatMessages = new MutableLiveData<>(new ArrayList<>()); private final MutableLiveData latestMessage = new MutableLiveData<>(); private final MutableLiveData chatroomClosed = new MutableLiveData<>(); @@ -88,7 +90,10 @@ } foundChatroom(userId,token); System.out.println(chatroomIdLiveData.getValue()); - if (chatroomId != null) loadLatestMessage(chatroomId, userId, token); + if (chatroomId != null){ + loadLatestMessage(chatroomId, userId, token); + }; + //chatroomIdがnullの時は呼び出さないようにしました }; } @@ -99,7 +104,7 @@ return chatroomIdLiveData; } - public MutableLiveData> getChatMessages() { + public MutableLiveData> getChatMessages() { return chatMessages; } @@ -187,19 +192,19 @@ // 2. メッセージ送信 // =============================== public void sendMessage(String chatroomId, String senderId, String message, String token) { - Call call = chatroomResource.sendMessage(chatroomId, senderId, message, token); - call.enqueue(new Callback() { + Call call = chatroomResource.sendMessage(chatroomId, senderId, message, token); + call.enqueue(new Callback() { @Override - public void onResponse(Call call, Response response) { + public void onResponse(Call call, Response response) { if (response.isSuccessful() && response.body() != null) { - ChatMessage newMessage = response.body(); - latestMessage.setValue(newMessage); - } + Chatroom newMessage = response.body(); + } + } @Override - public void onFailure(Call call, Throwable t) { + public void onFailure(Call call, Throwable t) { Log.e("ChatVM", "sendMessage error: " + t.getMessage()); } }); @@ -209,7 +214,7 @@ // 3. 最新メッセージ取得 // =============================== public void loadLatestMessage(String chatroomId, String userId, String token) { - Call> call = chatroomResource.getMessages(token, chatroomId, userId); + Call> call = chatroomResource.getMessages(chatroomId, userId, token); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) {