diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/InvitedRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/InvitedRest.java index 9ee5fa8..f2ae135 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/InvitedRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/InvitedRest.java @@ -22,10 +22,10 @@ //----------------------------------------------------------------- - @GET("accounts/{uid}/invited") + @GET("accounts/{uid}/invited/aidList") Call> getAccountInvited( - @Path("uid") Integer ownerUid, - @Query("token") Integer token + @Path("uid") Integer Uid, + @Query("token") String token ); //----------------------------------------------------------------- diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java index 6924959..516bbbc 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/WorkRest.java @@ -36,7 +36,7 @@ // 作品への参加を許可する @FormUrlEncoded @PUT("accounts/{uid}/work") - Call updateWork( + Call updateWork( @Path("uid")Integer invitedUid, @Field("token") String invitedToken, @Field("aid") Integer aid diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java index 7eb1d91..4fd72a7 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/create/CreateFragment.java @@ -55,10 +55,11 @@ Button appButton = view.findViewById(R.id.Paint_button_create); //ダミーユーザー - Integer uid = 1; - String token = "abc0"; + acanthus = (Acanthus) getActivity().getApplication(); + Integer uid = acanthus.getPreferenceUid(); + String token = acanthus.getPreferenceToken(); appButton.setOnClickListener(v -> { //Integer uid = acanthus.getPreferenceUid(); String name = ((EditText)view.findViewById(R.id.AnimationNameCreate)).getText().toString(); diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java index ad02038..0bc2c0a 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/edit/EditFragment.java @@ -84,8 +84,8 @@ editViewModel = new ViewModelProvider(this).get(EditViewModel.class); acanthus = (Acanthus) getActivity().getApplication(); - Integer uid = 1; - String token = "abc0"; + Integer uid = acanthus.getPreferenceUid(); + String token = acanthus.getPreferenceToken(); editViewModel.getWorkList(uid, token); userAidList = new ArrayList<>(); nameList = new ArrayList<>(); diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageFragment.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageFragment.java index 1b859c6..2d09f02 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageFragment.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageFragment.java @@ -30,6 +30,9 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; +import java.util.ArrayList; +import java.util.Collection; + //----------------------------------------------------------------- // public class MyPageFragment extends Fragment { @@ -95,9 +98,23 @@ // public void onClickAccept(View view) { Button buttonIsInvited = view.findViewById(org.ntlab.acanthus_client.R.id.buttonIsInvited); + TextView complete_text = view.findViewById(R.id.complete_text); buttonIsInvited.setOnClickListener(v -> { - mypageViewModel.acceptInviteRequest(); + mypageViewModel.startInvitedAid(); + mypageViewModel.getInvitedAid().observe(getViewLifecycleOwner(), new Observer>() { + @Override + public void onChanged(Collection aidList) { + ArrayList aidArrayList = new ArrayList<>(aidList); + mypageViewModel.acceptInviteRequest(aidArrayList.get(aidArrayList.size() - 1)); + } + }); + mypageViewModel.getAcceptInvited().observe(getViewLifecycleOwner(), new Observer() { + @Override + public void onChanged(Boolean acceptInvited) { + complete_text.setText("作品に参加しました"); + } + }); }); } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageViewModel.java index bfc4463..f2170fb 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageViewModel.java @@ -15,6 +15,8 @@ import org.ntlab.acanthus_client.resources.accounts.FollowersRest; import org.ntlab.acanthus_client.resources.accounts.FollowsRest; +import java.util.Collection; + //----------------------------------------------------------------- // マイページロジックの仲介者 @@ -24,6 +26,8 @@ private MutableLiveData mUidText = new MutableLiveData<>(); private MutableLiveData myFollowJsonMutableLiveData; private MutableLiveData myFollowerJsonMutableLiveData; + private MutableLiveData> invitedAid = new MutableLiveData<>(); + private MutableLiveData acceptInvited = new MutableLiveData<>(); //----------------------------------------------------------------- // getter @@ -42,6 +46,14 @@ public LiveData getMyFollowerJson() { return myFollowerJsonMutableLiveData; } + public LiveData> getInvitedAid() { + return invitedAid; + } + public LiveData getAcceptInvited() { + return acceptInvited; + } + + //----------------------------------------------------------------- //----------------------------------------------------------------- @@ -65,9 +77,14 @@ } //----------------------------------------------------------------- // 招待を承諾するリクエスト - public void acceptInviteRequest(){ - myPageModelContainer.getInvitedConnectionModel().acceptInvite(); + public void acceptInviteRequest(Integer aid){ + myPageModelContainer.getInvitedConnectionModel().acceptInvite(aid,acceptInvited); } + //----------------------------------------------------------------- + public void startInvitedAid(){ + myPageModelContainer.getInvitedConnectionModel().getInvitedAid(invitedAid); + } + //----------------------------------------------------------------- //ログイン中のユーザーのフォローリストを取得する @@ -126,4 +143,6 @@ } + + } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/model/Invited/InvitedConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/model/Invited/InvitedConnectionModel.java index e8548a4..a8d645f 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/model/Invited/InvitedConnectionModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/model/Invited/InvitedConnectionModel.java @@ -7,6 +7,8 @@ import org.ntlab.acanthus_client.resources.accounts.InvitedRest; import org.ntlab.acanthus_client.resources.accounts.WorkRest; +import java.util.Collection; + import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -22,6 +24,7 @@ private Acanthus acanthus; //----------------------------------------------------------------- private Boolean isInvited; + private String token; //----------------------------------------------------------------- // setter @@ -40,9 +43,10 @@ // 招待確認 public void checkInvited(MutableLiveData mIsInvited) { final InvitedRest invitedRest = retrofit.create(InvitedRest.class); - int dummyId = 2; +// int dummyId = 2; + Integer uid = acanthus.getPreferenceUid(); - Call call = invitedRest.checkAccountInvited(dummyId, acanthus.getAid()); + Call call = invitedRest.checkAccountInvited(uid, acanthus.getAid()); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { @@ -67,26 +71,27 @@ //----------------------------------------------------------------- // 招待承認 - public void acceptInvite() { + public void acceptInvite(Integer aid,MutableLiveData acceptInvited) { final WorkRest workRest = retrofit.create(WorkRest.class); - int dummy = 1111; - // 作品への参加 // 自身のID, token, 該当作品ID // ToDo: Aidを外部から取得する必要あり? -> AccountのInviteMapから任意の // ToDo: getAidを招待一覧画面で更新してから取得すれば変更しなくてよさそう +// Integer dummyUid = 2; +// String dummyToken = "abc1"; + String token = acanthus.getPreferenceToken(); + Integer uid = acanthus.getPreferenceUid(); - - - Call call = workRest.updateWork(acanthus.getPreferenceUid(), acanthus.getPreferenceToken(), dummy); - call.enqueue(new Callback() { + Call call = workRest.updateWork(uid, token, aid); + call.enqueue(new Callback() { @Override - public void onResponse(Call call, Response response) { + public void onResponse(Call call, Response response) { + acceptInvited.setValue(response.body()); } @Override - public void onFailure(Call call, Throwable t) { + public void onFailure(Call call, Throwable t) { } }); @@ -105,4 +110,25 @@ } //----------------------------------------------------------------- -} + public void getInvitedAid(MutableLiveData> invitedAid) { + final InvitedRest invitedRest = retrofit.create(InvitedRest.class); + //dummy + Integer uid = acanthus.getPreferenceUid(); + String token = acanthus.getPreferenceToken(); + + Call> call = invitedRest.getAccountInvited(uid, token); + call.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + if (response.isSuccessful()) + invitedAid.setValue(response.body()); + } + + @Override + public void onFailure(Call> call, Throwable t) { + + } + }); + + } +} \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java index 6e9bee7..b207c0f 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteActivity.java @@ -49,7 +49,7 @@ Acanthus acanthus = (Acanthus) getApplication(); inviteViewModel = new ViewModelProvider(this).get(InviteViewModel.class); aid = acanthus.getAid(); - uid = 1; + uid = acanthus.getPreferenceUid(); ownerToken = acanthus.getPreferenceToken(); diff --git a/app/src/main/res/layout/fragment_mypage.xml b/app/src/main/res/layout/fragment_mypage.xml index 46e5519..a8c7ee9 100644 --- a/app/src/main/res/layout/fragment_mypage.xml +++ b/app/src/main/res/layout/fragment_mypage.xml @@ -146,6 +146,16 @@ android:textColor="@color/silver" android:text="招待/作品" android:textSize="14sp" /> + +