diff --git a/app/src/main/java/com/example/nemophila/ShopActivity.java b/app/src/main/java/com/example/nemophila/ShopActivity.java index 6a0e6fa..7159f20 100644 --- a/app/src/main/java/com/example/nemophila/ShopActivity.java +++ b/app/src/main/java/com/example/nemophila/ShopActivity.java @@ -19,11 +19,13 @@ import android.widget.TextView; import com.example.nemophila.entities.Account; +import com.example.nemophila.entities.AccountNameJson; import com.example.nemophila.entities.Post; import com.example.nemophila.entities.Shop; import com.example.nemophila.viewmodels.PostsViewModel; import java.util.ArrayList; +import java.util.Collection; import java.util.HashSet; import java.util.List; @@ -64,6 +66,9 @@ } }); + //フレンドを取得 + Collection friends = ((Nemophila)getApplication()).getFriends(); + //RecyclerViewに表示する中身を格納するリストを宣言 List postsDataset = new ArrayList<>(); @@ -108,6 +113,8 @@ //postsDatasetを一旦クリアし、LiveDataから受け取ったデータを一つずつセット(重複しないように) postsDataset.clear(); + int friendFrag; + for (Post post: ShopPosts){ //dataを宣言 dataに投稿の必要なデータをセットし、それをpostsDatasetに追加してリストを作る ShopAcDataModel data = new ShopAcDataModel(); @@ -116,27 +123,39 @@ String uid = post.getUid(); String name = post.getName(); - //選択が何もない場合は全ての投稿を、選択がある場合は一致する投稿をdataにセット - if(selectingGenre.isEmpty() || selectingGenre.contains(genre)) { - if(selectingFriend.isEmpty() || selectingFriend.contains(uid)) { - data.setName(name); - data.setDate(post.getDate()); - //rateはintで受け取った評価に対応した星の数のStringに変換してセット - int intRate = post.getRate(); - String strRate = ""; - for (int i = 0; i < 5; i++) { - if (intRate > i) { - strRate += "★"; - } else { - strRate += "☆"; - } - } - data.setRate(strRate); - data.setGenre(genre); - data.setComment(post.getComment()); +// //投稿がフレンドのものかチェック +// friendFrag = 0; +// for(AccountNameJson friendNJ: friends){ +// if(friendNJ.getUid() == uid){ +// friendFrag = 1; +// } +// } - //投稿一つの情報がdataに全部セットされたらDatasetに追加 - postsDataset.add(data); + //フレンドの投稿のみdataにセット +// if(friendFrag == 1) { + if(friends.contains(uid)){ + //選択が何もない場合は全ての投稿を、選択がある場合は一致する投稿をdataにセット + if (selectingGenre.isEmpty() || selectingGenre.contains(genre)) { + if (selectingFriend.isEmpty() || selectingFriend.contains(uid)) { + data.setName(name); + data.setDate(post.getDate()); + //rateはintで受け取った評価に対応した星の数のStringに変換してセット + int intRate = post.getRate(); + String strRate = ""; + for (int i = 0; i < 5; i++) { + if (intRate > i) { + strRate += "★"; + } else { + strRate += "☆"; + } + } + data.setRate(strRate); + data.setGenre(genre); + data.setComment(post.getComment()); + + //投稿一つの情報がdataに全部セットされたらDatasetに追加 + postsDataset.add(data); + } } } //フレンド名を表示用HashSetにセット