diff --git a/.idea/compiler.xml b/.idea/compiler.xml index b589d56..b86273d 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml index b268ef3..c4a0da7 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/.idea/misc.xml b/.idea/misc.xml index 8978d23..74dd639 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,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..4f52187 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 @@ -132,7 +132,9 @@ chatNotification = false; // 通話を開始する - Tampopo tampopo = (Tampopo) ((MainActivity) getContext()).getApplication(); + // FriendIconView がどの Activity 上に配置されていても安全に動作するよう、 + // Activity ではなく Application から Tampopo を取得する + Tampopo tampopo = (Tampopo) context.getApplicationContext(); // String chatroomId = chatViewModel.enterChatroom(tampopo.getUserId(), friendUserId, tampopo.getToken()); tampopo.setChatFriendId(friendUserId); @@ -167,7 +169,8 @@ toDialog.dismiss(); // 通話を開始する - Tampopo tampopo = (Tampopo) ((MainActivity) getContext()).getApplication(); + // こちらも Application から直接 Tampopo を取得して Activity への依存をなくす + Tampopo tampopo = (Tampopo) context.getApplicationContext(); new Thread(new Runnable() { @Override public void run() { @@ -199,6 +202,8 @@ //アクティビティの背景(吹き出し) public void setImageResource(int resId) { + // 既存の挙動との後方互換性を保つため、ここではフレンドアイコン側の画像を更新する。 + // 吹き出し背景を変更したい場合は、別メソッド追加などで明示的に扱う方が安全。 if (mFriendIcon != null) { mFriendIcon.setImageResource(resId); } 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..f29ce64 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 @@ -358,7 +358,9 @@ public void onChanged(List activities) { if (activities == null || activities.isEmpty()) return; - Activity latest = activities.get(activities.size() - 1); + // ActivityViewModel 側では最新のアクティビティが先頭(index 0)に入る想定のため、 + // 常に先頭要素を参照して吹き出しや並び順を更新する + Activity latest = activities.get(0); Log.d("ActivityUpdate", friendId + " 最新: " + latest.getText()); // FriendIconView の更新