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 new file mode 100644 index 0000000..1aee07f --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/InvitedConnectionModel.java @@ -0,0 +1,62 @@ +package org.ntlab.acanthus_client.views.main_menu_ui.mypage; + +import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.resources.accounts.InvitedRest; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; + +//----------------------------------------------------------------- +// +public class InvitedConnectionModel { + + private Retrofit retrofit; + private Acanthus acanthus; + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // + public InvitedConnectionModel(Acanthus acanthus) { + init(acanthus); + } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // + public void init(Acanthus acanthus) { + this.acanthus = acanthus; + this.retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + } + + //----------------------------------------------------------------- + // + public void checkInvited() { + final InvitedRest invitedRest = retrofit.create(InvitedRest.class); + + Call call = invitedRest.checkAccountInvited( + acanthus.getPreferenceUid(), acanthus.getAid()); + + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + + } + + @Override + public void onFailure(Call call, Throwable t) { + + } + }); + + } + //----------------------------------------------------------------- + +} 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 20d33e9..0820991 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 @@ -1,5 +1,7 @@ package org.ntlab.acanthus_client.views.main_menu_ui.mypage; +import android.app.Activity; +import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; @@ -7,6 +9,7 @@ import android.widget.TextView; +import org.ntlab.acanthus_client.Acanthus; import org.ntlab.acanthus_client.databinding.FragmentMypageBinding; import androidx.annotation.NonNull; @@ -15,19 +18,45 @@ import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModelProvider; +//----------------------------------------------------------------- +// public class MyPageFragment extends Fragment { private MyPageViewModel mypageViewModel; private FragmentMypageBinding binding; - public View onCreateView(@NonNull LayoutInflater inflater, - ViewGroup container, Bundle savedInstanceState) { - mypageViewModel = - new ViewModelProvider(this).get(MyPageViewModel.class); - + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // + public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { binding = FragmentMypageBinding.inflate(inflater, container, false); View root = binding.getRoot(); + init(); + + return root; + } + + //----------------------------------------------------------------- + // + @Override + public void onDestroyView() { + super.onDestroyView(); + binding = null; + } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // init + private void init() { + Acanthus acanthus = (Acanthus) getActivity().getApplication(); + mypageViewModel = new ViewModelProvider(this).get(MyPageViewModel.class); + mypageViewModel.init(acanthus); + } + + //----------------------------------------------------------------- + // + private void startObserve() { final TextView textView = binding.textMypage; mypageViewModel.getText().observe(getViewLifecycleOwner(), new Observer() { @Override @@ -35,12 +64,7 @@ textView.setText(s); } }); - return root; } + //----------------------------------------------------------------- - @Override - public void onDestroyView() { - super.onDestroyView(); - binding = null; - } } \ No newline at end of file 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 new file mode 100644 index 0000000..b8a6e8f --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/mypage/MyPageModelContainer.java @@ -0,0 +1,15 @@ +package org.ntlab.acanthus_client.views.main_menu_ui.mypage; + +import org.ntlab.acanthus_client.Acanthus; + +public class MyPageModelContainer { + private InvitedConnectionModel invitedConnectionModel; + + //----------------------------------------------------------------- + // + public void init(Acanthus acanthus){ + invitedConnectionModel = new InvitedConnectionModel(acanthus); + } + //----------------------------------------------------------------- + +} 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 e43bc5e..3541b40 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 @@ -4,16 +4,43 @@ import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; +import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.resources.accounts.InvitedRest; + +import retrofit2.Call; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; + + +//----------------------------------------------------------------- +// public class MyPageViewModel extends ViewModel { + private MyPageModelContainer myPageModelContainer; private MutableLiveData mText; + //----------------------------------------------------------------- + //----------------------------------------------------------------- public MyPageViewModel() { + myPageModelContainer = new MyPageModelContainer(); mText = new MutableLiveData<>(); mText.setValue("This is mypage fragment"); } + //----------------------------------------------------------------- + // getter public LiveData getText() { return mText; } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // init + public void init(Acanthus acanthus) { + myPageModelContainer.init(acanthus); + } + //----------------------------------------------------------------- + //----------------------------------------------------------------- + } \ No newline at end of file diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteConnectionModel.java deleted file mode 100644 index c100d3d..0000000 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InviteConnectionModel.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.ntlab.acanthus_client.views.paint; - -import org.ntlab.acanthus_client.Acanthus; -import org.ntlab.acanthus_client.resources.gallery.InvitesRest; -import org.ntlab.acanthus_client.resources.gallery.StrokesRest; - -import retrofit2.Call; -import retrofit2.Callback; -import retrofit2.Response; -import retrofit2.Retrofit; -import retrofit2.converter.jackson.JacksonConverterFactory; -import retrofit2.converter.scalars.ScalarsConverterFactory; - -//----------------------------------------------------------------- -// 招待関係通信 -public class InviteConnectionModel { - private Retrofit retrofit; - private Acanthus acanthus; - - //----------------------------------------------------------------- - // - public InviteConnectionModel() { - this.retrofit = new Retrofit.Builder() - .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") - .addConverterFactory(ScalarsConverterFactory.create()) - .addConverterFactory(JacksonConverterFactory.create()) - .build(); - } - - //----------------------------------------------------------------- - //----------------------------------------------------------------- - // init - public void init(Acanthus acanthus) { - this.acanthus = acanthus; - } - - //----------------------------------------------------------------- - // 新しい編集者の追加(POST) - public void inviteNewEditor(Integer invitedUid) { - final InvitesRest invitesRest = retrofit.create(InvitesRest.class); - - //----------------------------------------------------------------- - // 招待リクエストを送るAPI - Call call = invitesRest.addInvite( - acanthus.getAid(), acanthus.getPreferenceUid().toString(), invitedUid.toString(), acanthus.getPreferenceToken()); - call.enqueue(new Callback() { - @Override - public void onResponse(Call call, Response response) { - - } - - @Override - public void onFailure(Call call, Throwable t) { - - } - }); - } - //----------------------------------------------------------------- - -} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InvitesConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InvitesConnectionModel.java new file mode 100644 index 0000000..588d2b5 --- /dev/null +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/InvitesConnectionModel.java @@ -0,0 +1,61 @@ +package org.ntlab.acanthus_client.views.paint; + +import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.resources.gallery.InvitesRest; +import org.ntlab.acanthus_client.resources.gallery.StrokesRest; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.jackson.JacksonConverterFactory; +import retrofit2.converter.scalars.ScalarsConverterFactory; + +//----------------------------------------------------------------- +// 招待関係通信 +public class InvitesConnectionModel { + private Retrofit retrofit; + private Acanthus acanthus; + + //----------------------------------------------------------------- + // + public InvitesConnectionModel(Acanthus acanthus) { + init(acanthus); + } + + //----------------------------------------------------------------- + //----------------------------------------------------------------- + // init + public void init(Acanthus acanthus) { + this.acanthus = acanthus; + this.retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(JacksonConverterFactory.create()) + .build(); + } + + //----------------------------------------------------------------- + // 新しい編集者の追加(POST) + public void inviteNewEditor(Integer invitedUid) { + final InvitesRest invitesRest = retrofit.create(InvitesRest.class); + + //----------------------------------------------------------------- + // 招待リクエストを送るAPI + Call call = invitesRest.addInvite( + acanthus.getAid(), acanthus.getPreferenceUid().toString(), invitedUid.toString(), acanthus.getPreferenceToken()); + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + + } + + @Override + public void onFailure(Call call, Throwable t) { + + } + }); + } + //----------------------------------------------------------------- + +} diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintConnectionModel.java index be7f575..883feee 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintConnectionModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintConnectionModel.java @@ -25,12 +25,8 @@ //----------------------------------------------------------------- //----------------------------------------------------------------- // - public PaintConnectionModel() { - retrofit = new Retrofit.Builder() - .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") - .addConverterFactory(ScalarsConverterFactory.create()) - .addConverterFactory(JacksonConverterFactory.create()) - .build(); + public PaintConnectionModel(Acanthus acanthus) { + init(acanthus); } //----------------------------------------------------------------- @@ -48,6 +44,11 @@ // init public void init(Acanthus acanthus) { this.acanthus = acanthus; + this.retrofit = new Retrofit.Builder() + .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/acanthus/") + .addConverterFactory(ScalarsConverterFactory.create()) + .addConverterFactory(JacksonConverterFactory.create()) + .build(); } //----------------------------------------------------------------- diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModelContainer.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModelContainer.java index 9a6ec32..a61430d 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModelContainer.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintModelContainer.java @@ -1,17 +1,19 @@ package org.ntlab.acanthus_client.views.paint; +import org.ntlab.acanthus_client.Acanthus; + //----------------------------------------------------------------- // 各種モデルの保持者 public class PaintModelContainer { private PaintConnectionModel paintConnectionModel; - private InviteConnectionModel inviteConnectionModel; + private InvitesConnectionModel invitesConnectionModel; //----------------------------------------------------------------- //----------------------------------------------------------------- //  - public PaintModelContainer() { - this.paintConnectionModel = new PaintConnectionModel(); - this.inviteConnectionModel = new InviteConnectionModel(); + public PaintModelContainer(Acanthus acanthus) { + this.paintConnectionModel = new PaintConnectionModel(acanthus); + this.invitesConnectionModel = new InvitesConnectionModel(acanthus); } //----------------------------------------------------------------- @@ -20,8 +22,8 @@ return this.paintConnectionModel; } - public InviteConnectionModel getInviteConnectionModel() { - return this.inviteConnectionModel; + public InvitesConnectionModel getInvitesConnectionModel() { + return this.invitesConnectionModel; } //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java index 7dd65d2..1f403a2 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java @@ -16,16 +16,11 @@ //----------------------------------------------------------------- //----------------------------------------------------------------- - public PaintViewModel() { - paintModelContainer = new PaintModelContainer(); - } - - //----------------------------------------------------------------- - //----------------------------------------------------------------- // init public void init(Acanthus acanthus) { + paintModelContainer = new PaintModelContainer(acanthus); paintModelContainer.getPaintConnectionModel().init(acanthus); - paintModelContainer.getInviteConnectionModel().init(acanthus); + paintModelContainer.getInvitesConnectionModel().init(acanthus); } //----------------------------------------------------------------- @@ -48,7 +43,7 @@ //----------------------------------------------------------------- // 招待APIの通信リクエスト public void inviteNewUserRequest(Integer invitedUid) { - paintModelContainer.getInviteConnectionModel().inviteNewEditor(invitedUid); + paintModelContainer.getInvitesConnectionModel().inviteNewEditor(invitedUid); } //-----------------------------------------------------------------