diff --git a/.idea/misc.xml b/.idea/misc.xml
index 432cce0..c94d993 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -9,6 +9,9 @@
+
+
+
diff --git a/app/src/main/java/com/example/nemophila/MapsFragment.java b/app/src/main/java/com/example/nemophila/MapsFragment.java
index aa88095..1ee5dd6 100644
--- a/app/src/main/java/com/example/nemophila/MapsFragment.java
+++ b/app/src/main/java/com/example/nemophila/MapsFragment.java
@@ -9,6 +9,7 @@
import androidx.core.content.res.ResourcesCompat;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.Fragment;
+import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import android.Manifest;
@@ -29,9 +30,11 @@
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
+import android.widget.TextView;
import android.widget.Toast;
import com.example.nemophila.databinding.ActivityMainBinding;
+import com.example.nemophila.entities.Post;
import com.example.nemophila.entities.Shop;
import com.example.nemophila.viewmodels.FriendViewModel;
import com.example.nemophila.viewmodels.PostsViewModel;
@@ -51,6 +54,7 @@
import com.google.android.gms.maps.model.MarkerOptions;
import com.google.common.collect.Maps;
+import java.util.ArrayList;
import java.util.Map;
public class MapsFragment extends Fragment implements LocationListener {
@@ -72,7 +76,7 @@
private Marker currentMarker;
private BitmapDescriptor bd;
private boolean isLongClick;
- private
+
LocationManager locationManager;
@@ -89,6 +93,7 @@
friendViewModel = new ViewModelProvider(getActivity()).get(FriendViewModel.class);
postsViewModel = new ViewModelProvider(getActivity()).get(PostsViewModel.class);
+
//フレンドの更新が入った時の処理(LiveDataへの購読)
friendViewModel.getFriends(nemophila.getUid());
friendViewModel.getFriendsLiveData().observe(getActivity(), friends -> {
@@ -100,6 +105,8 @@
nemophila.setFriends(friends);
});
+
+
// 店情報の更新が入った時の処理(LiveDataへの購読)
shopsViewModel.getShopsLiveData().observe(getActivity(), shops -> {
Toast.makeText(getActivity(),
@@ -109,6 +116,32 @@
for (Shop shop : shops) {
//受け取ったshopsにfriendsの投稿が含まれているかを確認,受け取ったshopsに対してMarkerが立っているかを確認
+
+ //observeの中にobserveはうまくいかなかった
+// postsViewModel.loadShopPost(shop.getSid());
+// postsViewModel.getShopPostLiveData().observe(getActivity(), new Observer >() {
+// @Override
+// public void onChanged(ArrayList posts) {
+// ArrayList ids = postsViewModel.getUserIds();
+//
+// for(int i = 0; i < ids.size(); i++) {
+// ArrayList fids = nemophila.getFriendIds();
+// for(int j = 0; j < fids.size(); j++) {
+// if( ( ids.get(i).equals(fids.get(j)) || ids.get(i).equals(nemophila.getUid()) ) && shopsViewModel.getMarker(shop) == null ){
+// //各shopに対応するMarkerがなければMarkerを立てる
+// shopLatlng = new LatLng(shop.getLatitude(), shop.getLongitude());
+// System.out.println(shopLatlng);
+// Marker createMaker = mMap.addMarker(new MarkerOptions().position(shopLatlng).title(""));
+// //マーカーに店情報を持たせる
+// createMaker.setTag(shop);
+// //ShopToMarkerに紐づけ
+// shopsViewModel.setShopAndMarker(shop, createMaker);
+// }
+// }
+// }
+// }
+// });
+
if ( shopsViewModel.getMarker(shop) == null) { //フレンド以外の投稿のピンも立てたい場合
//if( && shopsViewModel.getMarker(shop) == null) {
diff --git a/app/src/main/java/com/example/nemophila/Nemophila.java b/app/src/main/java/com/example/nemophila/Nemophila.java
index a41a04d..00a9120 100644
--- a/app/src/main/java/com/example/nemophila/Nemophila.java
+++ b/app/src/main/java/com/example/nemophila/Nemophila.java
@@ -8,6 +8,7 @@
import com.example.nemophila.entities.Shop;
import com.google.type.LatLng;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -198,4 +199,12 @@
public void removeFavoriteFriends(String favoriteFriend){
this.favoriteFriends.remove(favoriteFriend);
}
+ public ArrayList getFriendIds() {
+ ArrayList friendIds = new ArrayList<>();
+ for(AccountNameJson anj: friends) {
+ friendIds.add(anj.getUid());
+ }
+ return friendIds;
+ }
+
}