diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 1c02558..28ac697 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/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b19b47f..4f46913 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -104,10 +104,10 @@ android:exported="true" android:label="@string/title_activity_requesting" android:windowSoftInputMode="adjustPan"> - - - - + + + + myPageActDataset = new ArrayList<>(); - MyPageActAdapter adapter = new MyPageActAdapter(myPageActDataset); + MyPageActAdapter adapter = new MyPageActAdapter(myPageActDataset) { + @Override + void onDeleteButtonClick(View view, int position, MyPageActDataModel dataModel) { + new AlertDialog.Builder(MyPageActivity.this) + .setTitle("警告") + .setMessage("この投稿を削除しますか?") + .setPositiveButton("Yes", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialogInterface, int i) { + Toast.makeText(MyPageActivity.this, dataModel.getPid(), Toast.LENGTH_SHORT).show(); + System.out.println("投稿を削除しました。"); +// accountViewModel.deleteAccountPost(dataModel.getSid(), uid, dataModel.getPid(), token); + } + }) + .setNegativeButton("No", null) + .create() + .show(); + } + }; rv.setHasFixedSize(true); rv.setLayoutManager(llm); @@ -138,22 +162,24 @@ /* ここからMyPageActivityの内部クラス */ // Adapter - public class MyPageActAdapter extends RecyclerView.Adapter { - + abstract public class MyPageActAdapter extends RecyclerView.Adapter { private List list; - - public void setList(List list) { - this.list = list; - } - - public MyPageActAdapter(List list) { - this.list = list; - } + public void setList(List list) { this.list = list; } + public MyPageActAdapter(List list) { this.list = list; } @Override public MyPageActViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout_my_page_activity_posts, parent,false); MyPageActViewHolder vh = new MyPageActViewHolder(inflate); + + vh.deleteButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + int position = vh.getBindingAdapterPosition(); + onDeleteButtonClick(view, position, list.get(position)); + } + }); + return vh; } @@ -166,9 +192,9 @@ } @Override - public int getItemCount() { - return list.size(); - } + public int getItemCount() { return list.size(); } + + abstract void onDeleteButtonClick(View view, int position, MyPageActDataModel dataModel); } // ViewHolder @@ -177,13 +203,15 @@ public TextView rateView; public TextView genreView; public TextView commentView; + public ImageButton deleteButton; - public MyPageActViewHolder(View itemView) { - super(itemView); - dateView = (TextView) itemView.findViewById(R.id.date); - rateView = (TextView) itemView.findViewById(R.id.rate); - genreView = (TextView) itemView.findViewById(R.id.genre); - commentView = (TextView) itemView.findViewById(R.id.comment); + public MyPageActViewHolder(View view) { + super(view); + dateView = (TextView) view.findViewById(R.id.date); + rateView = (TextView) view.findViewById(R.id.rate); + genreView = (TextView) view.findViewById(R.id.genre); + commentView = (TextView) view.findViewById(R.id.comment); + deleteButton = view.findViewById(R.id.deleteButton); } } @@ -193,6 +221,8 @@ private String rate; private String genre; private String comment; + private String sid; + private String pid; public String getDate() { return date; @@ -221,5 +251,11 @@ public void setComment(String comment) { this.comment = comment; } + + public String getSid() { return sid; } + public void setSid(String sid) { this.sid = sid; } + + public String getPid() { return pid; } + public void setPid(String sid) { this.pid = pid; } } } diff --git a/app/src/main/java/com/example/nemophila/RequestedActivity.java b/app/src/main/java/com/example/nemophila/RequestedActivity.java index 19e1515..6a1ef91 100644 --- a/app/src/main/java/com/example/nemophila/RequestedActivity.java +++ b/app/src/main/java/com/example/nemophila/RequestedActivity.java @@ -61,7 +61,7 @@ public void onClick(DialogInterface dialogInterface, int i) { Toast.makeText(RequestedActivity.this, userModel.getName(), Toast.LENGTH_SHORT).show(); System.out.println("承諾ボタンが押されました: " + userModel.getName()); - friendViewModel.putFriend(uid, userModel.getName() ,userModel.getId(), token); + friendViewModel.putFriend(uid, userModel.getId() ,userModel.getName(), token); } }) .setNegativeButton("Cancel", null) diff --git a/app/src/main/java/com/example/nemophila/RequestingActivity.java b/app/src/main/java/com/example/nemophila/RequestingActivity.java index 988fadd..e8a6639 100644 --- a/app/src/main/java/com/example/nemophila/RequestingActivity.java +++ b/app/src/main/java/com/example/nemophila/RequestingActivity.java @@ -49,8 +49,6 @@ uid = ((Nemophila)getApplication()).getUid(); token = ((Nemophila)getApplication()).getToken(); - - //左上のボタンでマイページへ遷移 Button returnButton = (Button)findViewById(R.id.requestingAcReturnButton); returnButton.setOnClickListener(new View.OnClickListener(){ @@ -94,8 +92,9 @@ dialog.show(getSupportFragmentManager(), "Requesting_dialog"); //OK押したら申請するメソッドにuid、requestingId、tokenを渡す } - }); + + }); } }); @@ -125,7 +124,6 @@ } }; - //一行ずつを縦に(LinearLayout)表示するLayoutManagerを宣言 LinearLayoutManager llm = new LinearLayoutManager(this); //データごとの区切り線を入れる diff --git a/app/src/main/java/com/example/nemophila/resources/AccountsRest.java b/app/src/main/java/com/example/nemophila/resources/AccountsRest.java index e8b46a1..a3bf6ff 100644 --- a/app/src/main/java/com/example/nemophila/resources/AccountsRest.java +++ b/app/src/main/java/com/example/nemophila/resources/AccountsRest.java @@ -34,7 +34,8 @@ @Path("uid") String uid ); - @DELETE("accounts/{uid}") + @FormUrlEncoded + @POST("accounts/{uid}") Call deleteAccount( @Path("uid") String uid, @Field("token") String token @@ -69,7 +70,8 @@ @Path("uid") String uid ); - @DELETE("shops/{sid}/posts/{uid}/{pid}") + @FormUrlEncoded + @POST("shops/{sid}/posts/{uid}/{pid}") Call deletePost( @Path("sid") String sid, @Path("uid") String uid, 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 03cc094..85c6305 100644 --- a/app/src/main/java/com/example/nemophila/resources/FriendsRest.java +++ b/app/src/main/java/com/example/nemophila/resources/FriendsRest.java @@ -10,6 +10,7 @@ import retrofit2.http.Field; import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; +import retrofit2.http.POST; import retrofit2.http.PUT; import retrofit2.http.Path; @@ -27,7 +28,8 @@ @Field("token") String token ); - @DELETE("accounts/{uid}/friends/{fid}") + @FormUrlEncoded + @POST("accounts/{uid}/friends/{fid}") Call deleteFriend( @Path("uid") String uid, @Path("fid") String fid, @@ -48,7 +50,7 @@ ); @FormUrlEncoded - @DELETE("accounts/{uid}/requesting/{requesting_id}") + @POST("accounts/{uid}/requesting/{requesting_id}") Call deleteRequesting( @Path("uid") String uid, @Path("requesting_id") String requesting_id, @@ -61,7 +63,7 @@ ); @FormUrlEncoded - @DELETE("accounts/{uid}/requested/{requested_id}") + @POST("accounts/{uid}/requested/{requested_id}") Call deleteRequested( @Path("uid") String uid, @Path("requested_id") String requested_id, diff --git a/app/src/main/java/com/example/nemophila/resources/ShopsRest.java b/app/src/main/java/com/example/nemophila/resources/ShopsRest.java index 5626822..c781f22 100644 --- a/app/src/main/java/com/example/nemophila/resources/ShopsRest.java +++ b/app/src/main/java/com/example/nemophila/resources/ShopsRest.java @@ -45,7 +45,8 @@ @Path("sid") String sid ); - @DELETE("shops/{sid}/posts/{uid}/{pid}") + @FormUrlEncoded + @POST("shops/{sid}/posts/{uid}/{pid}") Call deletePost( @Path("sid") String sid, 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 a7493ca..474849b 100644 --- a/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java +++ b/app/src/main/java/com/example/nemophila/viewmodels/FriendViewModel.java @@ -147,13 +147,13 @@ } // 対象のアカウントのフレンド申請を行うときの情報削除 public void deleteRequesting(String uid,String requesting_id, String token) { - Call call = friendsRest.deleteRequesting(uid,requesting_id,token); + Call call = friendsRest.deleteRequesting(uid, requesting_id, token); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()) { removeRequestingLiveData(requesting_id); - System.out.println("Successful"); + System.out.println("Successful Delete"); } else { System.out.println("ResponseError: " + response.code()); } @@ -236,8 +236,8 @@ continue; } preData.add(anj); - friendsLiveData.setValue(preData); } + friendsLiveData.setValue(preData); } private void removeRequestingLiveData(String id) { @@ -247,8 +247,8 @@ continue; } preData.add(anj); - requestingLiveData.setValue(preData); } + requestingLiveData.setValue(preData); } private void removeRequestedLiveData(String id) { @@ -258,7 +258,7 @@ continue; } preData.add(anj); - requestedLiveData.setValue(preData); } + requestedLiveData.setValue(preData); } } diff --git a/app/src/main/res/drawable/blue_circle_button.xml b/app/src/main/res/drawable/blue_circle_button.xml index e007807..182023f 100644 --- a/app/src/main/res/drawable/blue_circle_button.xml +++ b/app/src/main/res/drawable/blue_circle_button.xml @@ -2,5 +2,5 @@ + android:color="@color/design_default_color_secondary"/> diff --git a/app/src/main/res/layout/activity_mypage.xml b/app/src/main/res/layout/activity_mypage.xml index 9dcff08..5ba4e04 100644 --- a/app/src/main/res/layout/activity_mypage.xml +++ b/app/src/main/res/layout/activity_mypage.xml @@ -106,7 +106,7 @@