diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index b268ef3..49d03f9 100644 --- a/.idea/deploymentTargetSelector.xml +++ b/.idea/deploymentTargetSelector.xml @@ -4,6 +4,14 @@ diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 0897082..639c779 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,6 +4,7 @@ diff --git a/app/src/main/java/com/example/tampopo_client/views/FriendIconView.java b/app/src/main/java/com/example/tampopo_client/views/FriendIconView.java index e4c197e..4b4bba9 100644 --- a/app/src/main/java/com/example/tampopo_client/views/FriendIconView.java +++ b/app/src/main/java/com/example/tampopo_client/views/FriendIconView.java @@ -33,6 +33,7 @@ private String friendUserId; private String friendUserNickname; private ChatViewModel chatViewModel; + private boolean isActivityObserverRegistered = false; //ActivityLiveData private final Observer> activitiesObserver = new Observer>() { @@ -64,6 +65,14 @@ return chatObserver; } + public boolean isActivityObserverRegistered() { + return isActivityObserverRegistered; + } + + public void setActivityObserverRegistered(boolean registered) { + isActivityObserverRegistered = registered; + } + public FriendIconView(Context context, String friendUserId, String friendUserNickname, ChatViewModel chatViewModel) { this(context); this.friendUserId = friendUserId; 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 f6b4111..7211ab7 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 @@ -350,9 +350,12 @@ userViews.put(friendId, container); userView = container; //messageList.addView(container); + } - // TODO: CHANGE - activitiesLiveData.observeForever(container.getActivitiesObserver()); + // Observerがまだ登録されていない場合は登録する + if (!userView.isActivityObserverRegistered()) { + activitiesLiveData.observeForever(userView.getActivitiesObserver()); + userView.setActivityObserverRegistered(true); } ConstraintSet set = new ConstraintSet();