diff --git a/app/src/main/java/com/example/nemophila/PostActivity.java b/app/src/main/java/com/example/nemophila/PostActivity.java index 6282a6f..cf0b6b2 100644 --- a/app/src/main/java/com/example/nemophila/PostActivity.java +++ b/app/src/main/java/com/example/nemophila/PostActivity.java @@ -1,6 +1,7 @@ package com.example.nemophila; import androidx.appcompat.app.AppCompatActivity; +import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; import android.content.Intent; @@ -15,11 +16,17 @@ import com.example.nemophila.entities.Account; +import com.example.nemophila.entities.Post; import com.example.nemophila.entities.Shop; +import com.example.nemophila.resources.ShopsRest; import com.example.nemophila.viewmodels.PostsViewModel; import com.example.nemophila.viewmodels.ShopsViewModel; import com.google.android.material.snackbar.Snackbar; +import java.util.Collection; +import java.util.Collections; +import java.util.List; + import retrofit2.Retrofit; @@ -53,6 +60,24 @@ postsViewModel = new ViewModelProvider(this).get(PostsViewModel.class); shopsViewModel = new ViewModelProvider(this).get(ShopsViewModel.class); +//店舗新規作成のオブザーバー + shopsViewModel.getCurrentLiveData().observe(this, new Observer() { + @Override + public void onChanged(Shop shop) { + System.out.println("店舗新規作成完了"); + postsViewModel.createPost(uid, token, shop.getSid(), rate, genre, comment, img1, img2, img3); + + System.out.println("lat" + nemophila.getCurrentLatitude() + "\nlong" + nemophila.getCurrentLongitude()); + + //投稿時にリセット + nemophila.setDummyShop(null); + nemophila.setCurrentShop(null); + + Intent intent = new Intent(getApplication(), MainActivity.class); + startActivity(intent); + } + }); + uid = nemophila.getUid(); token = nemophila.getToken(); shop = nemophila.getCurrentShop(); @@ -169,17 +194,24 @@ // startActivity(intent); } else { //評価入力済の時 - shopsViewModel.createShop(shopName, nemophila.getCurrentLongitude(), nemophila.getCurrentLatitude()); - postsViewModel.createPost(uid, token, sid, rate, genre, comment, img1, img2, img3); - //投稿時にリセット - nemophila.setDummyShop(null); - nemophila.setCurrentShop(null); + if (shop == null) { + shopsViewModel.createShop(shopName, nemophila.getCurrentLongitude(), nemophila.getCurrentLatitude()); + } else { + postsViewModel.createPost(uid, token, sid, rate, genre, comment, img1, img2, img3); + System.out.println("既存店舗に投稿"); + System.out.println("lat" + nemophila.getCurrentLatitude() + "\nlong" + nemophila.getCurrentLongitude()); - Intent intent = new Intent(getApplication(), MainActivity.class); - startActivity(intent); + //投稿時にリセット + nemophila.setDummyShop(null); + nemophila.setCurrentShop(null); + + Intent intent = new Intent(getApplication(), MainActivity.class); + startActivity(intent); + } } } + }); } }