diff --git a/.idea/misc.xml b/.idea/misc.xml index 81be3c3..a187139 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -13,19 +13,23 @@ - - + + + + + - + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0a7c56c..a40b3e2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -80,7 +80,7 @@ - + + + + + RequestingDataList = new ArrayList<>(); + + //xmlからrvにRecyclerViewを取得、アダプターを宣言 + RecyclerView rv = (RecyclerView) findViewById(R.id.requestingList); + RequestingActivity.RequestingAdapter adapter = new RequestingActivity.RequestingAdapter(RequestingDataList); + + //一行ずつを縦に(LinearLayout)表示するLayoutManagerを宣言 + LinearLayoutManager llm = new LinearLayoutManager(this); + // + RecyclerView.ItemDecoration itemDecoration = + new DividerItemDecoration(this, DividerItemDecoration.VERTICAL); + rv.addItemDecoration(itemDecoration); + + rv.setHasFixedSize(true); + rv.setLayoutManager(llm); + } + + + //RecyclerViewのための内部クラス + //とりあえずnameのみで仮作成 + + //Adapter + public class RequestingAdapter extends RecyclerView.Adapter { + + private List list; + + public RequestingAdapter(List list) { + this.list =list; + } + + public void setList(List list) { + this.list = list; + } + + @NonNull + @Override + public RequestingActivity.RequestingViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + + //ShopActivityのレイアウトのままなので、ここを作って反映させる + View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_shop_activity_posts, parent,false); + RequestingActivity.RequestingViewHolder vh = new RequestingActivity.RequestingViewHolder(inflate); + return vh; + } + + @Override + public void onBindViewHolder(@NonNull RequestingActivity.RequestingViewHolder holder, int position) { + holder.nameView.setText(list.get(position).getName()); + } + + @Override + public int getItemCount() { + return list.size(); + } + } + + //ViewHolder + public class RequestingViewHolder extends RecyclerView.ViewHolder { + public TextView nameView; + + public RequestingViewHolder(@NonNull View itemView) { + super(itemView); + nameView = (TextView) itemView.findViewById(R.id.userName); + } + } + + //DataModel + public static class RequestingDataModel { + private String name; + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + + } + } \ No newline at end of file diff --git a/app/src/main/java/com/example/nemophila/RequestingDialogFragment.java b/app/src/main/java/com/example/nemophila/RequestingDialogFragment.java new file mode 100644 index 0000000..03fa52f --- /dev/null +++ b/app/src/main/java/com/example/nemophila/RequestingDialogFragment.java @@ -0,0 +1,29 @@ +package com.example.nemophila; + +import android.app.Dialog; +import android.content.DialogInterface; +import android.os.Bundle; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.appcompat.app.AlertDialog; +import androidx.fragment.app.DialogFragment; + +public class RequestingDialogFragment extends DialogFragment { + + @NonNull + @Override + public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + builder.setTitle("フレンド申請") + .setMessage("IDにあったユーザー") + .setPositiveButton("申請を送る", new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int id) { + // ボタンを押した時の処理 + } + }) + .setNegativeButton("キャンセル", null); + return builder.create(); + } + +} diff --git a/app/src/main/java/com/example/nemophila/ShopActivity.java b/app/src/main/java/com/example/nemophila/ShopActivity.java index 3b9d9bb..b99788f 100644 --- a/app/src/main/java/com/example/nemophila/ShopActivity.java +++ b/app/src/main/java/com/example/nemophila/ShopActivity.java @@ -253,7 +253,8 @@ } public String getDate() { - return date;} + return date; + } public void setDate(String date) { this.date = date; } 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..2c79201 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(); + friendsLiveData.setValue(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,112 @@ } }); } + + 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); + } + }); + } } diff --git a/app/src/main/res/layout/activity_requesting.xml b/app/src/main/res/layout/activity_requesting.xml index b0eb893..e3b2df7 100644 --- a/app/src/main/res/layout/activity_requesting.xml +++ b/app/src/main/res/layout/activity_requesting.xml @@ -6,4 +6,97 @@ android:layout_height="match_parent" tools:context=".RequestingActivity"> + +