diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/AccountTokenJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/AccountTokenJson.java deleted file mode 100644 index f0b17ea..0000000 --- a/app/src/main/java/org/ntlab/acanthus_client/entities/AccountTokenJson.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.ntlab.acanthus_client.entities; - -//----------------------------------------------------------------- -// アカウントに発行されたトークン -public class AccountTokenJson { - private String token; - - //----------------------------------------------------------------- - // getter - public String getToken() { - return token; - } -} diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/LoginResponseJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/LoginResponseJson.java new file mode 100644 index 0000000..078e70f --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/entities/LoginResponseJson.java @@ -0,0 +1,19 @@ +package org.ntlab.acanthus_client.entities; + +//----------------------------------------------------------------- +// アカウントに発行されたトークン +public class LoginResponseJson { + private Integer uid; + private String token; + + //----------------------------------------------------------------- + // getter + public Integer getUid() { + return this.uid; + } + + public String getToken() { + return this.token; + } + //----------------------------------------------------------------- +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java index 675c3b9..222638e 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/AccountsRest.java @@ -2,7 +2,6 @@ import org.ntlab.acanthus_client.entities.Account; import org.ntlab.acanthus_client.entities.AccountJson; -import org.ntlab.acanthus_client.entities.AccountTokenJson; import org.ntlab.acanthus_client.entities.AccountUidJson; import java.util.Collection; @@ -12,7 +11,6 @@ import retrofit2.http.FormUrlEncoded; import retrofit2.http.GET; import retrofit2.http.POST; -import retrofit2.http.PUT; import retrofit2.http.Path; import retrofit2.http.Query; diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/LoginRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/LoginRest.java index 228511b..c78370a 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/LoginRest.java +++ b/app/src/main/java/org/ntlab/acanthus_client/resources/accounts/LoginRest.java @@ -1,6 +1,6 @@ package org.ntlab.acanthus_client.resources.accounts; -import org.ntlab.acanthus_client.entities.AccountTokenJson; +import org.ntlab.acanthus_client.entities.LoginResponseJson; import retrofit2.Call; import retrofit2.http.Field; @@ -23,7 +23,7 @@ // トークンの発行 @FormUrlEncoded @PUT("accounts/login") - Call issueLoginToken( + Call issueLoginToken( @Field("email")String email, @Field("password")String password ); diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenActivity.java index 9bf96e2..e3afb6c 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenActivity.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenActivity.java @@ -44,8 +44,6 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); init(); - //Acanthus acanthus = (Acanthus) getApplication(); - //loginScreenViewModel.LoginToken(acanthus,acanthus.getEmail(),acanthus.getPassword()); } //----------------------------------------------------------------- diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java index 9e78106..b0d7c1c 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/login/LoginScreenViewModel.java @@ -2,12 +2,13 @@ import android.widget.EditText; +import androidx.annotation.RestrictTo; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; import org.ntlab.acanthus_client.Acanthus; -import org.ntlab.acanthus_client.entities.AccountTokenJson; +import org.ntlab.acanthus_client.entities.LoginResponseJson; import org.ntlab.acanthus_client.resources.accounts.LoginRest; import retrofit2.Call; @@ -21,12 +22,17 @@ public class LoginScreenViewModel extends ViewModel { private MutableLiveData acanthusMutableLiveData; + private Retrofit retrofit; //----------------------------------------------------------------- //----------------------------------------------------------------- // public LoginScreenViewModel() { this.acanthusMutableLiveData = new MutableLiveData<>(); + this.retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(JacksonConverterFactory.create()) + .build(); } //----------------------------------------------------------------- @@ -39,50 +45,22 @@ //----------------------------------------------------------------- // トークンの発行APIの呼び出し public void issueLoginToken(Acanthus acanthus, EditText emailForm, EditText passwordForm) { - Retrofit retrofit = new Retrofit.Builder() - .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") - .addConverterFactory(JacksonConverterFactory.create()) - .build(); final LoginRest loginRest = retrofit.create(LoginRest.class); String emailAddress = emailForm.getText().toString(); String password = passwordForm.getText().toString(); // ログイン - Call call = loginRest.issueLoginToken(emailAddress,password); - call.enqueue(new Callback() { + Call call = loginRest.issueLoginToken(emailAddress, password); + call.enqueue(new Callback() { @Override - public void onResponse(Call call, Response response) { + public void onResponse(Call call, Response response) { if (response.isSuccessful()) - setVariableFromResponse(acanthus, response.body().getToken(),emailAddress,password); + setVariableFromResponse(acanthus, response.body(), emailAddress, password); } @Override - public void onFailure(Call call, Throwable t) { - } - }); - } - public void LoginToken(Acanthus acanthus, String emailForm, String passwordForm) { - Retrofit retrofit = new Retrofit.Builder() - .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") - .addConverterFactory(JacksonConverterFactory.create()) - .build(); - final LoginRest loginRest = retrofit.create(LoginRest.class); - - String emailAddress = emailForm; - String password = passwordForm; - - // ログイン - Call call = loginRest.issueLoginToken(emailAddress, password); - call.enqueue(new Callback() { - @Override - public void onResponse(Call call, Response response) { - if (response.isSuccessful()) - setVariableFromResponse(acanthus, response.body().getToken(),emailAddress,password); - } - - @Override - public void onFailure(Call call, Throwable t) { + public void onFailure(Call call, Throwable t) { } }); } @@ -90,8 +68,9 @@ //----------------------------------------------------------------- //----------------------------------------------------------------- // ログイン成功時に値の変更を行う - private void setVariableFromResponse(Acanthus acanthus, String token, String email,String password ) { - acanthus.setPreferenceToken(token); + private void setVariableFromResponse(Acanthus acanthus, LoginResponseJson loginResponse, String email, String password) { + acanthus.setPreferenceUid(loginResponse.getUid()); + acanthus.setPreferenceToken(loginResponse.getToken()); acanthus.setPreferenceEmail(email); acanthus.setPreferencePassword(password); acanthusMutableLiveData.setValue(acanthus); diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/InvitedConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/InvitedConnectionModel.java index 1aee07f..816d368 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/InvitedConnectionModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/InvitedConnectionModel.java @@ -1,6 +1,7 @@ package org.ntlab.acanthus_client.views.main_menu_ui.mypage; import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.R; import org.ntlab.acanthus_client.resources.accounts.InvitedRest; import retrofit2.Call; @@ -14,6 +15,8 @@ // public class InvitedConnectionModel { + private String successMessage; + private Retrofit retrofit; private Acanthus acanthus; @@ -25,6 +28,12 @@ } //----------------------------------------------------------------- + // getter + public String getSuccessMessage() { + return successMessage; + } + + //----------------------------------------------------------------- //----------------------------------------------------------------- // public void init(Acanthus acanthus) { @@ -34,20 +43,23 @@ .addConverterFactory(ScalarsConverterFactory.create()) .addConverterFactory(JacksonConverterFactory.create()) .build(); + checkInvited(); } //----------------------------------------------------------------- - // + // 招待確認 public void checkInvited() { final InvitedRest invitedRest = retrofit.create(InvitedRest.class); - Call call = invitedRest.checkAccountInvited( - acanthus.getPreferenceUid(), acanthus.getAid()); + Integer uid = acanthus.getPreferenceUid(); + Integer aid = acanthus.getAid(); + + Call call = invitedRest.checkAccountInvited(2, aid); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { - + if (response.isSuccessful()) successMessage = "招待されています"; } @Override 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 0820991..2adff03 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 @@ -52,6 +52,8 @@ Acanthus acanthus = (Acanthus) getActivity().getApplication(); mypageViewModel = new ViewModelProvider(this).get(MyPageViewModel.class); mypageViewModel.init(acanthus); + + startObserve(); } //----------------------------------------------------------------- diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageModelContainer.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageModelContainer.java index b8a6e8f..b298612 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageModelContainer.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageModelContainer.java @@ -7,9 +7,15 @@ //----------------------------------------------------------------- // - public void init(Acanthus acanthus){ + public void init(Acanthus acanthus) { invitedConnectionModel = new InvitedConnectionModel(acanthus); } + + //----------------------------------------------------------------- + // getter + public InvitedConnectionModel getInvitedConnectionModel() { + return invitedConnectionModel; + } //----------------------------------------------------------------- } 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 3541b40..c457bd6 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 @@ -25,7 +25,6 @@ public MyPageViewModel() { myPageModelContainer = new MyPageModelContainer(); mText = new MutableLiveData<>(); - mText.setValue("This is mypage fragment"); } //----------------------------------------------------------------- @@ -39,6 +38,7 @@ // init public void init(Acanthus acanthus) { myPageModelContainer.init(acanthus); + mText.setValue(myPageModelContainer.getInvitedConnectionModel().getSuccessMessage()); } //----------------------------------------------------------------- //----------------------------------------------------------------- diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleViewModel.java index d768851..77c9600 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/title/TitleViewModel.java @@ -1,7 +1,7 @@ package org.ntlab.acanthus_client.views.title; import org.ntlab.acanthus_client.Acanthus; -import org.ntlab.acanthus_client.entities.AccountTokenJson; +import org.ntlab.acanthus_client.entities.LoginResponseJson; import org.ntlab.acanthus_client.resources.accounts.LoginRest; import androidx.lifecycle.LiveData; @@ -42,10 +42,10 @@ String password = passwordForm; // ログイン - Call call = loginRest.issueLoginToken(emailAddress, password); - call.enqueue(new Callback() { + Call call = loginRest.issueLoginToken(emailAddress, password); + call.enqueue(new Callback() { @Override - public void onResponse(Call call, Response response) { + public void onResponse(Call call, Response response) { if (response.isSuccessful()) { if(response.body()!=null){ setVariableFromResponse(acanthus, response.body().getToken(), emailAddress, password); @@ -58,7 +58,7 @@ } @Override - public void onFailure(Call call, Throwable t) { + public void onFailure(Call call, Throwable t) { loginStatus.setValue(false); } });