diff --git a/.idea/misc.xml b/.idea/misc.xml
index ed4facc..a187139 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -10,7 +10,13 @@
+
+
+
+
+
+
diff --git a/app/src/main/java/com/example/nemophila/FriendActivity.java b/app/src/main/java/com/example/nemophila/FriendActivity.java
index 8168255..ffb93c8 100644
--- a/app/src/main/java/com/example/nemophila/FriendActivity.java
+++ b/app/src/main/java/com/example/nemophila/FriendActivity.java
@@ -2,6 +2,7 @@
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
@@ -15,6 +16,8 @@
import android.widget.ImageView;
import android.widget.TextView;
+import com.example.nemophila.viewmodels.FriendViewModel;
+
import java.util.ArrayList;
import java.util.List;
@@ -30,6 +33,9 @@
List friendsDataset = new ArrayList<>(); // 1行分の情報を持つDataModelを格納するリスト
RecyclerView rv = findViewById(R.id.friendsList); // recyclerViewを取得
adapter = new FriendActivityAdapter(friendsDataset); // adapterを取得
+ FriendViewModel friendViewModel = new ViewModelProvider(this).get(FriendViewModel.class); // ViewModelを取得
+ Nemophila nemophila = (Nemophila) this.getApplication();
+
//一行ずつを縦に(LinearLayout)表示するLayoutManagerを宣言
LinearLayoutManager llm = new LinearLayoutManager(this);
@@ -41,6 +47,10 @@
rv.setHasFixedSize(true);
rv.setLayoutManager(llm);
+ String myUid = nemophila.getUid(); // 自身のidを取得
+// friendViewModel.getFriends(myUid); // 自身のフレンドの一覧を取得するメソッドを呼び出す
+
+
// マイページ画面に画面遷移する
Button backButton = findViewById(R.id.backMyPage);
backButton.setOnClickListener(v -> {
diff --git a/app/src/main/java/com/example/nemophila/FriendActivityAdapter.java b/app/src/main/java/com/example/nemophila/FriendActivityAdapter.java
deleted file mode 100644
index f4490da..0000000
--- a/app/src/main/java/com/example/nemophila/FriendActivityAdapter.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.example.nemophila;
-
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import java.util.List;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-public class FriendActivityAdapter extends RecyclerView.Adapter {
- private List list;
-
- public FriendActivityAdapter(List list) {
- this.list = list;
- }
-
- public void setList(List list) {
- this.list = list;
- }
-
- @NonNull
- @Override
- public FriendsViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int ViewType) {
- View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_friends_activity, parent,false);
- FriendsViewHolder vh = new FriendsViewHolder(inflate);
- return vh;
- }
-
- @Override
- public void onBindViewHolder(@NonNull FriendsViewHolder holder, int position) {
- // 後からアイコンの登録をできるようにする
- holder.nameView.setText(list.get(position).getName());
- }
-
- @Override
- public int getItemCount() {
- return list.size();
- }
-}
diff --git a/app/src/main/java/com/example/nemophila/FriendDataModel.java b/app/src/main/java/com/example/nemophila/FriendDataModel.java
deleted file mode 100644
index 1eaaefc..0000000
--- a/app/src/main/java/com/example/nemophila/FriendDataModel.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.example.nemophila;
-
-public class FriendDataModel {
- private String name;
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-}
diff --git a/app/src/main/java/com/example/nemophila/FriendsViewHolder.java b/app/src/main/java/com/example/nemophila/FriendsViewHolder.java
deleted file mode 100644
index 393098a..0000000
--- a/app/src/main/java/com/example/nemophila/FriendsViewHolder.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.example.nemophila;
-
-import android.view.View;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.recyclerview.widget.RecyclerView;
-
-public class FriendsViewHolder extends RecyclerView.ViewHolder {
- public ImageView iconView;
- public TextView nameView;
- public Button deleteButton;
-
- public FriendsViewHolder(@NonNull View itemView) {
- super(itemView);
- iconView = itemView.findViewById(R.id.friendIcon);
- nameView = itemView.findViewById(R.id.friendName);
- deleteButton = itemView.findViewById(R.id.friendDelete);
- }
-}
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);
+ }
}
}
+
});
}
}
diff --git a/app/src/main/java/com/example/nemophila/entities/AccountNameJson.java b/app/src/main/java/com/example/nemophila/entities/AccountNameJson.java
new file mode 100644
index 0000000..d865620
--- /dev/null
+++ b/app/src/main/java/com/example/nemophila/entities/AccountNameJson.java
@@ -0,0 +1,6 @@
+package com.example.nemophila.entities;
+
+public class AccountNameJson {
+ private String name;
+ private String id;
+}
diff --git a/app/src/main/java/com/example/nemophila/resources/FriendsRest.java b/app/src/main/java/com/example/nemophila/resources/FriendsRest.java
index dd66b14..52b4fbf 100644
--- a/app/src/main/java/com/example/nemophila/resources/FriendsRest.java
+++ b/app/src/main/java/com/example/nemophila/resources/FriendsRest.java
@@ -1,5 +1,6 @@
package com.example.nemophila.resources;
+import com.example.nemophila.entities.AccountNameJson;
import com.example.nemophila.entities.PostJson;
import java.util.Collection;
@@ -13,9 +14,8 @@
import retrofit2.http.Path;
public interface FriendsRest {
-
@GET("accounts/{uid}/friends")
- Call> getFriends(
+ Call> getFriends(
@Path("uid") String uid
);
@@ -35,7 +35,7 @@
);
@GET("/accounts/{uid}/requesting")
- Call> getRequesting(
+ Call> getRequesting(
@Path("uid") String uid
);
@@ -56,7 +56,7 @@
);
@GET("accounts/{uid}/reqested")
- Call> getRequested(
+ Call> getRequested(
@Path("uid") String uid
);
diff --git a/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java b/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java
index bf32a70..a9cfb11 100644
--- a/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java
+++ b/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java
@@ -3,7 +3,9 @@
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;
+import com.example.nemophila.entities.AccountNameJson;
import com.example.nemophila.entities.Post;
+import com.example.nemophila.entities.PostJson;
import com.example.nemophila.resources.AccountsRest;
import com.example.nemophila.resources.FriendsRest;
@@ -20,9 +22,9 @@
private final Retrofit retrofit;
private final FriendsRest friendsRest;
// ライブデータ
- private final MutableLiveData friendsLiveData;
- private final MutableLiveData requestedLiveData;
- private final MutableLiveData> requestingLiveData;
+ private final MutableLiveData friendsLiveData;
+ private final MutableLiveData requestedLiveData;
+ private final MutableLiveData> requestingLiveData;
// コンストラクタ
public FriendViewModel() {
@@ -37,15 +39,38 @@
}
// ライブデータの取得(ゲッター)
- public MutableLiveData getFriendsLiveData() {
+ public MutableLiveData getFriendsLiveData() {
return friendsLiveData;
}
- public MutableLiveData getRequestedLiveData() {
+ public MutableLiveData getRequestedLiveData() {
return requestedLiveData;
}
- public MutableLiveData> getRequestingLiveData() { return requestingLiveData; }
+ public MutableLiveData> getRequestingLiveData() { return requestingLiveData; }
- public void searchFriend(String uid,String fid, String token) {
+
+
+ public void getFriends(String uid) {
+ Call> call = friendsRest.getFriends(uid);
+ call.enqueue(new Callback>() {
+ @Override
+ public void onResponse(Call> call, Response> response) {
+ if (response.isSuccessful()) {
+ System.out.println("Successful");
+ Collection AccountNameJson = response.body();
+// setFriendsLiveDataFromJson(AccountNameJson);
+
+ } else {
+ System.out.println("ResponseError");
+ }
+ }
+ @Override
+ public void onFailure(Call> call, Throwable t) {
+ System.out.println(" NetworkError" + t);
+ }
+ });
+ }
+
+ public void putFriend(String uid,String fid, String token) {
Call call = friendsRest.putFriend(uid,fid,token);
call.enqueue(new Callback() {
@Override
@@ -62,4 +87,111 @@
}
});
}
+
+ public void deleteFriend(String uid,String fid, String token) {
+ Call call = friendsRest.deleteFriend(uid,fid,token);
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()) {
+ System.out.println("Successful");
+ } else {
+ System.out.println("ResponseError");
+ }
+ }
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ System.out.println(" NetworkError" + t);
+ }
+ });
+ }
+
+ public void getRequesting(String uid) {
+ Call> call = friendsRest.getRequesting(uid);
+ call.enqueue(new Callback>() {
+ @Override
+ public void onResponse(Call> call, Response> response) {
+ if (response.isSuccessful()) {
+ System.out.println("Successful");
+ } else {
+ System.out.println("ResponseError");
+ }
+ }
+ @Override
+ public void onFailure(Call> call, Throwable t) {
+ System.out.println(" NetworkError" + t);
+ }
+ });
+ }
+
+ public void putRequesting(String uid,String requesting_id, String token) {
+ Call call = friendsRest.putRequesting(uid,requesting_id,token);
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()) {
+ System.out.println("Successful");
+ } else {
+ System.out.println("ResponseError");
+ }
+ }
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ System.out.println(" NetworkError" + t);
+ }
+ });
+ }
+ public void deleteRequesting(String uid,String requesting_id, String token) {
+ Call call = friendsRest.deleteRequesting(uid,requesting_id,token);
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()) {
+ System.out.println("Successful");
+ } else {
+ System.out.println("ResponseError");
+ }
+ }
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ System.out.println(" NetworkError" + t);
+ }
+ });
+ }
+
+ public void getRequested(String uid) {
+ Call> call = friendsRest.getRequested(uid);
+ call.enqueue(new Callback>() {
+ @Override
+ public void onResponse(Call> call, Response> response) {
+ if (response.isSuccessful()) {
+ System.out.println("Successful");
+ } else {
+ System.out.println("ResponseError");
+ }
+ }
+ @Override
+ public void onFailure(Call> call, Throwable t) {
+ System.out.println(" NetworkError" + t);
+ }
+ });
+ }
+
+ public void deleteRequested(String uid,String fid, String token) {
+ Call call = friendsRest.deleteRequested(uid,fid,token);
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()) {
+ System.out.println("Successful");
+ } else {
+ System.out.println("ResponseError");
+ }
+ }
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ System.out.println(" NetworkError" + t);
+ }
+ });
+ }
}