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 76fef14..8022d53 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 @@ -58,10 +58,14 @@ this.chatroomResource = retrofit.create(ChatroomResource.class); } - public ChatViewModel(String userId, String token, String chatroomId) { + public void setChatRoomId(String chatRoomId) { + this.chatroomId = chatRoomId; + }//追加しました。作られたときはchatroomIdが決まってないので、後からchatroomIdをセットできるようにしました。 + + public ChatViewModel(String userId, String token) { this.userId = userId; this.token = token; - this.chatroomId = chatroomId; + this.chatroomId = null;//nullにしました引数をなくしました。 this.retrofit = new Retrofit.Builder() @@ -83,7 +87,8 @@ }, 10_000); // 10秒後に通知 } foundChatroom(userId,token); - loadLatestMessage(chatroomId, userId, token); + if (chatroomId != null) loadLatestMessage(chatroomId, userId, token); + //chatroomIdがnullの時は呼び出さないようにしました }; } diff --git a/app/src/main/java/com/example/tampopo_client/viewmodels/ChatViewModelFactory.java b/app/src/main/java/com/example/tampopo_client/viewmodels/ChatViewModelFactory.java index 48d5ce0..d9d8ec4 100644 --- a/app/src/main/java/com/example/tampopo_client/viewmodels/ChatViewModelFactory.java +++ b/app/src/main/java/com/example/tampopo_client/viewmodels/ChatViewModelFactory.java @@ -9,20 +9,18 @@ public class ChatViewModelFactory implements ViewModelProvider.Factory { private final String userId; private final String token; - private final String chatroomId; - public ChatViewModelFactory(String userId, String token, String chatroomId) { + public ChatViewModelFactory(String userId, String token) { this.userId = userId; this.token = token; - this.chatroomId = chatroomId; - } + }//chatroomIdを削除しました。 @NonNull @Override public T create(@NonNull Class modelClass) { if (modelClass.isAssignableFrom(ChatViewModel.class)) { try { - return modelClass.getConstructor(String.class, String.class).newInstance(userId, token); + return modelClass.getConstructor(String.class,String.class).newInstance(userId, token); } catch (InvocationTargetException | IllegalAccessException | InstantiationException | NoSuchMethodException e) { throw new RuntimeException(e); diff --git a/app/src/main/java/com/example/tampopo_client/views/MainActivity.java b/app/src/main/java/com/example/tampopo_client/views/MainActivity.java index 9911876..b9fea32 100644 --- a/app/src/main/java/com/example/tampopo_client/views/MainActivity.java +++ b/app/src/main/java/com/example/tampopo_client/views/MainActivity.java @@ -117,9 +117,10 @@ //追加しました!!!!!!!!!!! // ChatViewModelを初期化する - ChatViewModelFactory factory1 = new ChatViewModelFactory(tampopo.getUserId(), tampopo.getToken(), tampopo.getChatroomId()); + ChatViewModelFactory factory1 = new ChatViewModelFactory(tampopo.getUserId(), tampopo.getToken()); chatViewModel = new ViewModelProvider(this, factory1).get(ChatViewModel.class); + MutableLiveData> friendsLiveData = activityViewModel.getFriendUserIdsLiveData(); friendsLiveData.observe(this, new Observer>() {