diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index e58179e..c71e415 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -7,11 +7,11 @@ - + - + \ No newline at end of file diff --git a/app/src/main/java/com/example/nemophila/MapsActivity.java b/app/src/main/java/com/example/nemophila/MapsActivity.java index 43eb9b0..13efa24 100644 --- a/app/src/main/java/com/example/nemophila/MapsActivity.java +++ b/app/src/main/java/com/example/nemophila/MapsActivity.java @@ -43,6 +43,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; +import java.util.HashSet; import java.util.List; @@ -360,8 +361,12 @@ for (Shop shop : shops) { Marker setMarker = shopsViewModel.getMarker(shop); + ArrayList userIdSet = (ArrayList)shop.getUserIdSet().clone(); + friendsData.add(nemophila.getUid()); + userIdSet.retainAll(friendsData); + //自分とそのフレンド以外の投稿は確認しない - if (shop.getUserIdSet().contains(nemophila.getUid()) || shop.getUserIdSet().contains(friendsData)) { + if( userIdSet.size() > 0) { //場合分け //フィルターを一切かけていないとき if(nemophila.getSelectGenres().isEmpty() && nemophila.getSelectFriends().isEmpty()){ @@ -372,6 +377,7 @@ for(String genre : nemophila.getSelectGenres()) { if(shop.getGenreSet().contains(genre)) { setMarker.setVisible(true); + break; } else { setMarker.setVisible(false); } @@ -382,6 +388,7 @@ for(String friendId : nemophila.getSelectFriends()) { if(shop.getUserIdSet().contains(friendId)) { setMarker.setVisible(true); + break; } else { setMarker.setVisible(false); } @@ -393,6 +400,7 @@ for(String friendId : nemophila.getSelectFriends()) { if (shop.getGenreSet().contains(genre) && shop.getUserIdSet().contains(friendId)) { setMarker.setVisible(true); + break; } else { setMarker.setVisible(false); } diff --git a/app/src/main/java/com/example/nemophila/MapsFragment.java b/app/src/main/java/com/example/nemophila/MapsFragment.java index 6092d87..20e9e3d 100644 --- a/app/src/main/java/com/example/nemophila/MapsFragment.java +++ b/app/src/main/java/com/example/nemophila/MapsFragment.java @@ -128,8 +128,12 @@ shopsViewModel.setShopAndMarker(shop, createMarker); System.out.println(friendsData); - //自分またはフレンドの投稿が含まれていない場合は非表示 - if (shop.getUserIdSet().contains(nemophila.getUid()) || shop.getUserIdSet().contains(friendsData)) { + ArrayList userIdSet = (ArrayList)shop.getUserIdSet().clone(); + friendsData.add(nemophila.getUid()); + userIdSet.retainAll(friendsData); + + //自分とそのフレンド以外の投稿は確認しない + if( userIdSet.size() > 0) { //場合分け //フィルターを一切かけていないとき if(nemophila.getSelectGenres().isEmpty() && nemophila.getSelectFriends().isEmpty()){ @@ -140,6 +144,7 @@ for(String genre : nemophila.getSelectGenres()) { if(shop.getGenreSet().contains(genre)) { createMarker.setVisible(true); + break; } else { createMarker.setVisible(false); } @@ -150,6 +155,7 @@ for(String friendId : nemophila.getSelectFriends()) { if(shop.getUserIdSet().contains(friendId)) { createMarker.setVisible(true); + break; } else { createMarker.setVisible(false); } @@ -161,6 +167,7 @@ for(String friendId : nemophila.getSelectFriends()) { if (shop.getGenreSet().contains(genre) && shop.getUserIdSet().contains(friendId)) { createMarker.setVisible(true); + break; } else { createMarker.setVisible(false); }