diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml
index b268ef3..3279e27 100644
--- a/.idea/deploymentTargetSelector.xml
+++ b/.idea/deploymentTargetSelector.xml
@@ -4,6 +4,14 @@
+
+
+
+
+
+
+
+
diff --git a/app/src/main/java/com/example/tampopo_client/views/FriendReceivedFragment.java b/app/src/main/java/com/example/tampopo_client/views/FriendReceivedFragment.java
index b5a8976..32d987f 100644
--- a/app/src/main/java/com/example/tampopo_client/views/FriendReceivedFragment.java
+++ b/app/src/main/java/com/example/tampopo_client/views/FriendReceivedFragment.java
@@ -102,8 +102,40 @@
// LiveData に変更があったとき(新しい友達リクエストのリストが届いたとき)に呼ばれるメソッド
@Override
public void onChanged(List friendRequests) {
- for (FriendRequest f: friendRequests) {
- FriendRequestContent.addItem(new FriendRequestContent.FriendRequestItem(f.getSenderId(), "ユーザー名"));
+ // null 安全のためガード
+ if (friendRequests == null) {
+ return;
+ }
+
+ // 既存データをクリアしてから新しいリストで再構築
+ FriendRequestContent.clearItems();
+
+ // この端末でログインしているユーザー(受信者)のID
+ String myUserId = tampopo.getUserId();
+
+ // API から返ってきた一覧のうち「自分宛て(receiverId == myUserId)」の
+ // フレンド申請だけを抽出して表示用リストに追加する
+ for (FriendRequest f : friendRequests) {
+ if (myUserId != null && myUserId.equals(f.getReceiverId())) {
+ // RecyclerView では senderId を "ID" として表示
+ FriendRequestContent.addItem(
+ new FriendRequestContent.FriendRequestItem(
+ f.getSenderId(),
+ "ユーザー名" // TODO: 必要であればユーザー名取得に差し替える
+ )
+ );
+ }
+ }
+
+ // RecyclerView が FriendRequestContent.ITEMS を参照しているので、
+ // データ変更を通知して再描画させる
+ View rootView = getView();
+ if (rootView instanceof RecyclerView) {
+ RecyclerView recyclerView = (RecyclerView) rootView;
+ RecyclerView.Adapter adapter = recyclerView.getAdapter();
+ if (adapter != null) {
+ adapter.notifyDataSetChanged();
+ }
}
}
});
diff --git a/app/src/main/java/com/example/tampopo_client/views/placeholder/FriendRequestContent.java b/app/src/main/java/com/example/tampopo_client/views/placeholder/FriendRequestContent.java
index a52b3af..a548ffc 100644
--- a/app/src/main/java/com/example/tampopo_client/views/placeholder/FriendRequestContent.java
+++ b/app/src/main/java/com/example/tampopo_client/views/placeholder/FriendRequestContent.java
@@ -29,6 +29,12 @@
ITEM_MAP.put(item.id, item);
}
+ // 一覧を再読み込みする際に古いデータを消すためのメソッド
+ public static void clearItems() {
+ ITEMS.clear();
+ ITEM_MAP.clear();
+ }
+
//位置(1,2,...)に応じたFriendRequestItem を生成するメソッド
// public static FriendRequestItem createPlaceholderItem(int position) {
// return new FriendRequestItem(String.valueOf(position), "ユーザー名 ", makeDetails(position));