diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a8a64b0..aaab359 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -16,6 +16,7 @@
android:theme="@style/Theme.Acanthus"
android:usesCleartextTraffic="true">
+
diff --git a/app/src/main/java/org/ntlab/acanthus_client/Acanthus.java b/app/src/main/java/org/ntlab/acanthus_client/Acanthus.java
index b8f859b..8adedf9 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/Acanthus.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/Acanthus.java
@@ -22,7 +22,7 @@
//-----------------------------------------------------------------
private Integer aid;
private Animation currentAnimation;
- private Collection animationJsonList;
+ private Collection animationJsonList = new ArrayList<>();
//-----------------------------------------------------------------
// getter
diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/AnimationJson.java b/app/src/main/java/org/ntlab/acanthus_client/entities/AnimationJson.java
index 1c9421e..ba82818 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/entities/AnimationJson.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/entities/AnimationJson.java
@@ -7,10 +7,13 @@
// アニメーション
public class AnimationJson {
private Integer aid;
- private Integer ownerUid;
private String animationName;
- private ArrayList editors;
+ private Integer owner;
+ //private ArrayList editors;
+ private Collection editorNames;
+ private Collection editorIds;
private String createdDate;
+ private String lastUpdate;
//-----------------------------------------------------------------
public AnimationJson() {
@@ -20,10 +23,23 @@
public Integer getAid() {return this.aid;}
- public ArrayList getEditor(){return this.editors;}
+ //public ArrayList getEditor(){return this.editors;}
+
+
+ public Collection getEditorNames() {
+ return editorNames;
+ }
+
+ public Collection getEditorIds() {
+ return editorIds;
+ }
public String getCreatedDate(){return this.createdDate;}
+ public String getLastUpdate() {
+ return lastUpdate;
+ }
+
public void setAid(Integer aid) {
this.aid = aid;
}
@@ -32,11 +48,15 @@
this.animationName = name;
}
- public void setOwnerUid(Integer uid) {
- this.ownerUid = uid;
+ public void setOwner(Integer uid) {
+ this.owner = uid;
}
- public void addEditors(Editor editor) {
- this.editors.add(editor);
+ public void setLastUpdate(String lastUpdate) {
+ this.lastUpdate = lastUpdate;
}
+
+ // public void addEditors(Editor editor) {
+// this.editors.add(editor);
+// }
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java
index c33928a..cd1eaf2 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/resources/gallery/StrokesRest.java
@@ -12,8 +12,11 @@
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
+import retrofit2.http.HTTP;
+import retrofit2.http.Headers;
import retrofit2.http.POST;
import retrofit2.http.Path;
+import retrofit2.http.Query;
//-----------------------------------------------------------------
// RestAPI: /gallery/{aid}/pageMap/{pid}/layers/{layerNo}/
@@ -46,7 +49,7 @@
//-----------------------------------------------------------------
//
@DELETE("gallery/{aid}/pageMap/0/layers/0/strokes")
- Call deleteStrokes(@Path("aid") Integer aid, @Field("uid") Integer uid);
+ Call deleteStrokes(@Path("aid") Integer aid, @Query("uid") Integer uid);
//-----------------------------------------------------------------
//
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java
index c5f65f5..bc85a71 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationActivity.java
@@ -2,17 +2,66 @@
import androidx.appcompat.app.AppCompatActivity;
+import android.app.Activity;
+import android.content.Intent;
import android.os.Bundle;
-import org.ntlab.acanthus_client.R;
+import android.view.View;
+import android.widget.Button;
+import org.ntlab.acanthus_client.Acanthus;
+import org.ntlab.acanthus_client.R;
+import org.ntlab.acanthus_client.databinding.ActivityPaintBinding;
+import org.ntlab.acanthus_client.views.animation_detail.AnimationDetailActivity;
+
+// 表示ページ
public class AnimationActivity extends AppCompatActivity {
+ private AnimationCanvas animationCanvas;
+ private ActivityPaintBinding binding;
+ private View view;
+
+ //animationCanvasの表示
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_animation);
- AnimationCanvas animation = new AnimationCanvas(this);
- setContentView(animation);
+ animationCanvas = this.findViewById(R.id.animationMyCanvas);
+ //アニメーションの再生停止
+ Button buttonPlayback = findViewById(R.id.button_playback);
+ buttonPlayback.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v) {
+ animationCanvas.onClickPlayback();
+ }
+ });
+
+ //最初に戻す
+ Button buttonReset = findViewById(R.id.button_reset);
+ buttonReset.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v) {
+ animationCanvas.resetAnimationPage();
+ }
+ });
+
+ //閉じる
+ Button buttonClose = findViewById(R.id.button_close);
+ buttonClose.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v) {
+ finish();
+ }
+ });
+
+ Button buttonDetail = findViewById(R.id.button_detail);
+ buttonDetail.setOnClickListener(new View.OnClickListener(){
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(AnimationActivity.this, AnimationDetailActivity.class);
+ startActivity(intent);
+ }
+ });
+
}
}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java
index 9241984..73aa4c4 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationCanvas.java
@@ -2,53 +2,82 @@
import android.content.Context;
import android.graphics.Canvas;
-import android.graphics.Color;
import android.graphics.Paint;
+import android.os.Handler;
+import android.os.Looper;
+import android.util.AttributeSet;
import android.view.View;
import org.ntlab.acanthus_client.Acanthus;
-import org.ntlab.acanthus_client.entities.Position;
-import org.ntlab.acanthus_client.entities.Stroke;
-import java.util.ArrayList;
-
-import retrofit2.Retrofit;
+import java.util.Timer;
+import java.util.TimerTask;
public class AnimationCanvas extends View {
- private Retrofit retrofit;
private Acanthus acanthus;
- private AnimationViewModel animation = new AnimationViewModel();
+ private AnimationViewModel animationViewModel = new AnimationViewModel();
private Paint paint = new Paint();
- public AnimationCanvas(Context context) {
- super(context);
+ //タイマー用の変数
+ private Timer timer;
+ private CountUpTimerTask timerTask;
+ private Handler handler = new Handler(Looper.getMainLooper());
+ private int msec = 100;
+
+ //ページ指定用の変数
+ private int pageNo = 0;
+
+
+ public AnimationCanvas(Context context, AttributeSet attrs) {
+ super(context, attrs);
}
-/*
- @Override
- protected void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- Stroke stroke = retrofit.create(Stroke.class);
- paint.setStrokeWidth(stroke.getThickness());
- paint.setColor(stroke.getColor());
- ArrayList pts = stroke.getPositions();
- //canvas.drawLines(pts, paint);
- }
-*/
- //ダミーです。
+
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
- //canvas.drawRect(100, 100, 200, 300, paint);
- //canvas.drawRect(300, 200, 400, 400, paint);
- //canvas.drawRect(500, 300, 600, 500, paint);
-
- //Stroke stroke = retrofit.create(Stroke.class);
- paint.setStrokeWidth(20);
- paint.setColor(Color.RED);
- float pts[] = {100, 1000, 500, 100, 500, 100, 900, 1000, 900, 1000, 250, 450, 250, 450, 800, 450};
- canvas.drawLines(pts, paint);
+ //ダミーです。
+ //100msごとに1pxずつ3つ目の四角が下に降りる
+ canvas.drawRect(100, 100, 200, 300, paint);
+ canvas.drawRect(300, 200, 400, 400, paint);
+ canvas.drawRect(500, 100 + pageNo, 600, 300 + pageNo, paint);
}
+ //アニメーションの再生停止
+ public void onClickPlayback(){
+ if(timer != null){
+ //timerの終了
+ timer.cancel();
+ timer = null;
+ }
+ else{
+ //timerの生成
+ this.timer = new Timer();
+ this.timerTask = new CountUpTimerTask();
+ this.timer.schedule(timerTask,0, msec);//スケジュールを100ms毎に設定する。
+ }
+ }
+
+ //ページを進める
+ class CountUpTimerTask extends TimerTask{
+ @Override
+ public void run(){
+ handler.post(new Runnable(){
+ public void run(){
+ pageNo++;
+ postInvalidate();
+ }
+ });
+ }
+ }
+
+ //アニメーションを最初のページに戻す。
+ public void resetAnimationPage(){
+ pageNo = 0;
+ postInvalidate();
+ }
+
+
+
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java
index 69a41a1..8b496c2 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation/AnimationViewModel.java
@@ -38,10 +38,11 @@
public class AnimationViewModel extends ViewModel {
private Retrofit retrofit;
private Acanthus acanthus;
- // getStrokes
+
+ // StrokesRestをGETする。
public void getAnimationStrokes() {
final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
- Call> call = strokesRest.getStrokes(acanthus.getAid());
-
+ Call> strokes = strokesRest.getStrokes(acanthus.getAid());
}
+
}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation_detail/AnimationDetailActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation_detail/AnimationDetailActivity.java
new file mode 100644
index 0000000..0c73651
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation_detail/AnimationDetailActivity.java
@@ -0,0 +1,47 @@
+package org.ntlab.acanthus_client.views.animation_detail;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.Button;
+
+import org.ntlab.acanthus_client.R;
+import org.ntlab.acanthus_client.databinding.ActivityPaintBinding;
+import org.ntlab.acanthus_client.views.animation.AnimationActivity;
+import org.ntlab.acanthus_client.views.animation.AnimationCanvas;
+import org.ntlab.acanthus_client.views.main_menu_ui.mypage.MyPageFragment;
+
+public class AnimationDetailActivity extends AppCompatActivity {
+
+ private AnimationCanvas animationDetails;
+ private View view;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_animation_detail);
+
+ //画面を閉じる
+ Button returnButton = findViewById(R.id.return_button);
+ returnButton.setOnClickListener(v -> finish());
+
+ //作成者のページに移動(今は仮でアニメーション画面へ)
+ Button buttonEditor1 = findViewById(R.id.button_editor1);
+ buttonEditor1.setOnClickListener((View v) -> {
+ Intent intent = new Intent(AnimationDetailActivity.this, AnimationActivity.class);
+ startActivity(intent);
+ }
+ );
+
+ //作成者のページに移動(今は仮でアニメーション画面へ)
+ Button buttonEditor2 = findViewById(R.id.button_editor2);
+ buttonEditor2.setOnClickListener((View v) -> {
+ Intent intent = new Intent(AnimationDetailActivity.this, AnimationActivity.class);
+ startActivity(intent);
+ }
+ );
+
+ }
+}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/animation_detail/AnimationDetailViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/animation_detail/AnimationDetailViewModel.java
new file mode 100644
index 0000000..71bc703
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/animation_detail/AnimationDetailViewModel.java
@@ -0,0 +1,17 @@
+package org.ntlab.acanthus_client.views.animation_detail;
+
+import androidx.lifecycle.ViewModel;
+
+import org.ntlab.acanthus_client.Acanthus;
+import org.ntlab.acanthus_client.entities.Stroke;
+import org.ntlab.acanthus_client.resources.gallery.StrokesRest;
+
+import java.util.Collection;
+
+import retrofit2.Call;
+import retrofit2.Retrofit;
+
+public class AnimationDetailViewModel {
+ private Retrofit retrofit;
+ private Acanthus acanthus;
+}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeViewModel.java
index bde7820..864d6e4 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeViewModel.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/HomeViewModel.java
@@ -54,9 +54,11 @@
call.enqueue(new Callback>() {
@Override
public void onResponse(Call> call, Response> response) {
- Collection animList = response.body();
- animationMutableLiveData.setValue(animList);
- acanthus.setAnimationJsonList(animList);
+ if (response.isSuccessful()){
+ Collection animList = response.body();
+ animationMutableLiveData.setValue(animList);
+ acanthus.setAnimationJsonList(animList);
+ }
}
@Override
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/ListAnimationViewAdapter.java b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/ListAnimationViewAdapter.java
index 8394294..a0f6b23 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/ListAnimationViewAdapter.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/main_menu_ui/home/ListAnimationViewAdapter.java
@@ -37,9 +37,9 @@
for(AnimationJson animationJson: animationJsons){
this.titles.add(animationJson.getAnimationName());
ArrayList editors = new ArrayList<>();
- for(Editor editor: animationJson.getEditor()){
- editors.add(editor.getEditorAccount().getName());
- }
+// for(Editor editor: animationJson.getEditor()){
+// editors.add(editor.getEditorAccount().getName());
+// }
animationEditors.add(editors);
this.createdDates.add(animationJson.getCreatedDate());
}
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 20d1ad8..3ceb9a0 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
@@ -6,9 +6,11 @@
import org.ntlab.acanthus_client.Acanthus;
import org.ntlab.acanthus_client.R;
+import org.ntlab.acanthus_client.entities.Editor;
import org.ntlab.acanthus_client.entities.Work;
import org.ntlab.acanthus_client.resources.accounts.InvitedRest;
import org.ntlab.acanthus_client.resources.accounts.WorkRest;
+import org.ntlab.acanthus_client.resources.gallery.EditorsRest;
import retrofit2.Call;
import retrofit2.Callback;
@@ -23,6 +25,14 @@
private Retrofit retrofit;
private Acanthus acanthus;
+ //-----------------------------------------------------------------
+ private Boolean isInvited;
+
+ //-----------------------------------------------------------------
+ // setter
+ private void setIsInvited(Boolean isInvited) {
+ this.isInvited = isInvited;
+ }
//-----------------------------------------------------------------
//-----------------------------------------------------------------
@@ -33,15 +43,16 @@
//-----------------------------------------------------------------
// 招待確認
- public void checkInvited(MutableLiveData mIsInvitedText) {
+ public void checkInvited(MutableLiveData mIsInvited) {
final InvitedRest invitedRest = retrofit.create(InvitedRest.class);
+ int dummyId = 2;
- Call call = invitedRest.checkAccountInvited(acanthus.getPreferenceUid(), acanthus.getAid());
+ Call call = invitedRest.checkAccountInvited(dummyId, acanthus.getAid());
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
if (response.isSuccessful())
- mIsInvitedText.setValue(response.body().toString());
+ mIsInvited.setValue(response.body());
}
@Override
@@ -53,16 +64,30 @@
}
//-----------------------------------------------------------------
+ // 招待されているリストの取得API
+ public void getAccountInvitedList(){
+
+ }
+
+
+ //-----------------------------------------------------------------
// 招待承認
public void acceptInvite() {
final WorkRest workRest = retrofit.create(WorkRest.class);
+ int dummy = 1111;
+
// 作品への参加
- Call call = workRest.updateWork(acanthus.getPreferenceUid(), acanthus.getPreferenceToken(), acanthus.getAid());
+ // 自身のID, token, 該当作品ID
+ // ToDo: Aidを外部から取得する必要あり? -> AccountのInviteMapから任意の
+ // ToDo: getAidを招待一覧画面で更新してから取得すれば変更しなくてよさそう
+
+
+
+ Call call = workRest.updateWork(acanthus.getPreferenceUid(), acanthus.getPreferenceToken(), dummy);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
- if (response.isSuccessful()) ;
}
@Override
@@ -83,6 +108,6 @@
.addConverterFactory(JacksonConverterFactory.create())
.build();
}
- //-----------------------------------------------------------------
+ //-----------------------------------------------------------------
}
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 2ac5e16..7654c96 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,14 +1,22 @@
package org.ntlab.acanthus_client.views.main_menu_ui.mypage;
+
+import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.EditText;
import android.widget.TextView;
import org.ntlab.acanthus_client.Acanthus;
+import org.ntlab.acanthus_client.R;
import org.ntlab.acanthus_client.databinding.FragmentMypageBinding;
+import org.ntlab.acanthus_client.entities.Animation;
+import org.ntlab.acanthus_client.views.animation.AnimationActivity;
+import org.ntlab.acanthus_client.views.paint.PaintActivity;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -16,6 +24,8 @@
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
+import static android.os.Build.VERSION_CODES.R;
+
//-----------------------------------------------------------------
//
public class MyPageFragment extends Fragment {
@@ -34,6 +44,13 @@
return root;
}
+ @Override
+ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
+ onClickAccept(view);
+ onClickAnimation(view);
+ }
+
//-----------------------------------------------------------------
//
@Override
@@ -43,6 +60,26 @@
}
//-----------------------------------------------------------------
+ //
+ public void onClickAccept(View view) {
+ Button buttonIsInvited = view.findViewById(org.ntlab.acanthus_client.R.id.buttonIsInvited);
+
+ buttonIsInvited.setOnClickListener(v -> {
+ mypageViewModel.acceptInviteRequest();
+ });
+ }
+
+ //-----------------------------------------------------------------
+ //
+ public void onClickAnimation(View view) {
+ Button button = view.findViewById(org.ntlab.acanthus_client.R.id.buttonAnimation);
+
+ button.setOnClickListener(v -> {
+ transitionAnimationActivity();
+ });
+ }
+
+ //-----------------------------------------------------------------
//-----------------------------------------------------------------
// init
private void init() {
@@ -65,11 +102,12 @@
//-----------------------------------------------------------------
// 招待されているテキストの変更監視
private void observeInvitedText() {
- final TextView textIsInvited = binding.textIsInvited;
- mypageViewModel.getImmutableIsInvitedText().observe(getViewLifecycleOwner(), new Observer() {
+ final Button buttonIsInvited = binding.buttonIsInvited;
+ mypageViewModel.getImmutableIsInvited().observe(getViewLifecycleOwner(), new Observer() {
@Override
- public void onChanged(@Nullable String s) {
- textIsInvited.setText(s);
+ public void onChanged(Boolean aBoolean) {
+ buttonIsInvited.setText(aBoolean.toString());
+ buttonIsInvited.setEnabled(aBoolean);
}
});
}
@@ -86,5 +124,14 @@
}
});
}
+
//-----------------------------------------------------------------
+ //
+ private void transitionAnimationActivity() {
+ Acanthus acanthus = (Acanthus) getActivity().getApplication();
+ Intent intent = new Intent(acanthus, AnimationActivity.class);
+ startActivity(intent);
+ }
+ //-----------------------------------------------------------------
+
}
\ No newline at end of file
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 d71590b..ba633d4 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
@@ -11,13 +11,13 @@
// マイページロジックの仲介者
public class MyPageViewModel extends ViewModel {
private MyPageModelContainer myPageModelContainer;
- private MutableLiveData mIsInvitedText = new MutableLiveData<>();
+ private MutableLiveData mIsInvited = new MutableLiveData<>();
private MutableLiveData mUidText = new MutableLiveData<>();
//-----------------------------------------------------------------
// getter
- public LiveData getImmutableIsInvitedText() {
- return mIsInvitedText;
+ public LiveData getImmutableIsInvited() {
+ return mIsInvited;
}
public LiveData getImmutableUidText() {
@@ -34,7 +34,7 @@
//-----------------------------------------------------------------
// 招待されているかを確認する通信リクエスト
public void checkInvitedRequest() {
- myPageModelContainer.getInvitedConnectionModel().checkInvited(mIsInvitedText);
+ myPageModelContainer.getInvitedConnectionModel().checkInvited(mIsInvited);
}
//-----------------------------------------------------------------
@@ -43,4 +43,9 @@
myPageModelContainer.getMyPageInfoConnectionModel().getAccountByUid(mUidText);
}
//-----------------------------------------------------------------
+ // 招待を承諾するリクエスト
+ public void acceptInviteRequest(){
+ myPageModelContainer.getInvitedConnectionModel().acceptInvite();
+ }
+ //-----------------------------------------------------------------
}
\ No newline at end of file
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
deleted file mode 100644
index 588d2b5..0000000
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/InvitesConnectionModel.java
+++ /dev/null
@@ -1,61 +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 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/PaintActivity.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java
index b54769a..af7d263 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintActivity.java
@@ -36,8 +36,8 @@
//-----------------------------------------------------------------
//
public void onClickInvite(View view) {
- Integer dummy1Id = 1;
- paintViewModel.inviteNewUserRequest(dummy1Id);
+ Integer dummyId = 2;
+ paintViewModel.inviteNewUserRequest(dummyId);
}
//-----------------------------------------------------------------
@@ -60,4 +60,9 @@
paintCanvas.setPaintViewModel(paintViewModel);
}
//-----------------------------------------------------------------
+ @Override
+ public void onDestroy(){
+ super.onDestroy();
+ paintViewModel.stop();
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java
index 54a3d4a..92802e8 100644
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java
@@ -10,6 +10,8 @@
import android.view.View;
import org.ntlab.acanthus_client.Acanthus;
+import org.ntlab.acanthus_client.entities.Position;
+import org.ntlab.acanthus_client.entities.Stroke;
import org.ntlab.acanthus_client.resources.HelloWorldRest;
import org.ntlab.acanthus_client.resources.gallery.StrokesRest;
@@ -32,7 +34,9 @@
public class PaintCanvas extends View {
private Path path;
+ private Path path2;
private Paint paint;
+ private Paint paint2;
private PaintViewModel paintViewModel;
//-----------------------------------------------------------------
@@ -41,11 +45,15 @@
super(context, attrs);
path = new Path(); // 図形描画
+ path2 = new Path(); // 図形描画
paint = new Paint();//筆の種類
-
- paint.setColor(Color.RED);//色の指定
+ paint2 = new Paint();//筆の種類
+ paint.setColor(Color.BLACK);//色の指定
paint.setStyle(Paint.Style.STROKE);//線をひく
paint.setStrokeWidth(20);//幅
+ paint2.setColor(Color.RED);//色の指定
+ paint2.setStyle(Paint.Style.STROKE);//線をひく
+ paint2.setStrokeWidth(20);//幅
}
//-----------------------------------------------------------------
@@ -61,6 +69,8 @@
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawPath(path, paint);
+ canvas.drawPath(path2, paint2);
+ getCanvas();
}
//-----------------------------------------------------------------
@@ -93,6 +103,7 @@
//-----------------------------------------------------------------
// 描画クリア
public void clearCanvas() {
+ paintViewModel.deleteStrokesRequest();
path.reset();
invalidate();
}
@@ -112,6 +123,32 @@
}
//-----------------------------------------------------------------
+ //-----------------------------------------------------------------
+ // 押した瞬間の処理
+ private void onTouched2(float x, float y) {
+ path2.moveTo(x, y);
+ invalidate();
+ }
-
+ //-----------------------------------------------------------------
+ // 押した後動かした時の処理
+ private void onTouchedMove2(float x, float y) {
+ path2.lineTo(x, y);
+ invalidate();
+ }
+ //描写するための取得
+ public void getCanvas(){
+ int cnt=0;
+ for (Stroke s : paintViewModel.getStroke().getValue()) {
+ for (Position p : s.getPositions()) {
+ if (cnt == 0) {
+ onTouched2(p.getX(), p.getY());
+ } else {
+ onTouchedMove2(p.getX(), p.getY());
+ }
+ cnt++;
+ }
+ cnt = 0;
+ }
+ }
}
\ No newline at end of file
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
deleted file mode 100644
index 4575893..0000000
--- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintConnectionModel.java
+++ /dev/null
@@ -1,134 +0,0 @@
-package org.ntlab.acanthus_client.views.paint;
-
-import androidx.lifecycle.MutableLiveData;
-import androidx.navigation.ActivityNavigator;
-
-import org.ntlab.acanthus_client.Acanthus;
-import org.ntlab.acanthus_client.entities.Animation;
-import org.ntlab.acanthus_client.entities.Position;
-import org.ntlab.acanthus_client.resources.gallery.GalleryRest;
-import org.ntlab.acanthus_client.resources.gallery.StrokesRest;
-
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import retrofit2.Call;
-import retrofit2.Callback;
-import retrofit2.Response;
-import retrofit2.Retrofit;
-import retrofit2.converter.jackson.JacksonConverterFactory;
-import retrofit2.converter.scalars.ScalarsConverterFactory;
-
-//-----------------------------------------------------------------
-// 描画通信
-public class PaintConnectionModel {
- private Animation editedAnimation;
- private Integer currentStrokeNo;
- private Retrofit retrofit;
- private Acanthus acanthus;
- private Collection getPaint;
-
- //-----------------------------------------------------------------
- //-----------------------------------------------------------------
- //
- public PaintConnectionModel(Acanthus acanthus) {
- init(acanthus);
- }
-
- //-----------------------------------------------------------------
- // setter
- public void setEditedAnimation(Animation editedAnimation) {
- this.editedAnimation = editedAnimation;
- }
-
- private void setCurrentStrokeNo(int strokeNo) {
- this.currentStrokeNo = strokeNo;
- }
-
- //-----------------------------------------------------------------
- //-----------------------------------------------------------------
- // init
- public void init(Acanthus acanthus) {
- this.acanthus = acanthus;
- this.getPaint = new ArrayList();
- 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 addLocalStroke() {
- final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
-
- //-----------------------------------------------------------------
- // ストローク追加API
- Call call = strokesRest.addStroke(
- acanthus.getAid(), acanthus.getPreferenceUid(), acanthus.getPreferenceToken(),
- 0, 0, 10);
-
- // strokeNoを更新
- call.enqueue(new Callback() {
- @Override
- public void onResponse(Call call, Response response) {
- if (response.isSuccessful()) setCurrentStrokeNo(response.body());
- }
-
- @Override
- public void onFailure(Call call, Throwable t) {
-
- }
- });
- }
-
- //-----------------------------------------------------------------
- // ローカルでの筆跡追加(POST)
- public void addPosition(float x, float y) {
- final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
-
- //-----------------------------------------------------------------
- // 筆跡追加API
- Call call = strokesRest.addPositions(acanthus.getAid(), this.currentStrokeNo, x, y);
- call.enqueue(new Callback() {
- @Override
- public void onResponse(Call call, Response response) {
-
- }
-
- @Override
- public void onFailure(Call call, Throwable t) {
-
- }
- });
- }
- //-----------------------------------------------------------------
- //Getを追加
- public void apigetPosition(MutableLiveData> paintPosition){
- final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
-
- //-----------------------------------------------------------------
- // 筆跡追加API
- Call> call = strokesRest.getPositions(acanthus.getAid(),0);
- call.enqueue(new Callback>() {
- @Override
- public void onResponse(Call> call, Response> response) {
- if (response.isSuccessful()) paintPosition.setValue(response.body());
- }
-
- @Override
- public void onFailure(Call> call, Throwable t) {
-
- }
- });
-
- }
-
- public Collection getPosition(){
- return this.getPaint;
- }
-
-}
\ No newline at end of file
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 a61430d..5ff4f92 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,6 +1,8 @@
package org.ntlab.acanthus_client.views.paint;
import org.ntlab.acanthus_client.Acanthus;
+import org.ntlab.acanthus_client.views.paint.models.InvitesConnectionModel;
+import org.ntlab.acanthus_client.views.paint.models.PaintConnectionModel;
//-----------------------------------------------------------------
// 各種モデルの保持者
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 93af18b..896ea6d 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
@@ -9,6 +9,7 @@
import org.jetbrains.annotations.NotNull;
import org.ntlab.acanthus_client.Acanthus;
import org.ntlab.acanthus_client.entities.Position;
+import org.ntlab.acanthus_client.entities.Stroke;
import java.util.ArrayList;
import java.util.Collection;
@@ -22,6 +23,14 @@
private PaintModelContainer paintModelContainer;
private MutableLiveData> paintPosition;
+ private MutableLiveData> mStrokes;
+ private ScheduledThreadPoolExecutor thread = new ScheduledThreadPoolExecutor(1);
+
+ //-----------------------------------------------------------------
+ // getter
+ public MutableLiveData> getStroke(){
+ return this.mStrokes;
+ }
//-----------------------------------------------------------------
//-----------------------------------------------------------------
@@ -31,7 +40,9 @@
paintModelContainer.getPaintConnectionModel().init(acanthus);
paintModelContainer.getInvitesConnectionModel().init(acanthus);
paintPosition = new MutableLiveData<>();
- ScheduledThreadPoolExecutor thread = new ScheduledThreadPoolExecutor(1);
+ mStrokes = new MutableLiveData<>();
+ mStrokes.setValue(new ArrayList<>());
+ mStrokes.getValue().add(new Stroke());
thread.scheduleWithFixedDelay(this, 1000L, 100L, TimeUnit.MICROSECONDS);
}
@@ -59,12 +70,23 @@
}
//-----------------------------------------------------------------
+ // 描画情報の全クリア
+ public void deleteStrokesRequest(){
+ paintModelContainer.getPaintConnectionModel().deleteStrokes();
+ }
+
+ //-----------------------------------------------------------------
// 一定間隔でサーバー上の筆跡を取得する(GET)
@Override
public void run() {
Log.d("debug", "run: ");
- paintModelContainer.getPaintConnectionModel().apigetPosition(paintPosition);
+ paintModelContainer.getPaintConnectionModel().getStrokeSize(mStrokes);
+ //paintModelContainer.getPaintConnectionModel().apiGetPosition(paintPosition,i);
}
//-----------------------------------------------------------------
+ //
+ public void stop(){
+ thread.shutdown();
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/InvitesConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/InvitesConnectionModel.java
new file mode 100644
index 0000000..09c4c66
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/InvitesConnectionModel.java
@@ -0,0 +1,63 @@
+package org.ntlab.acanthus_client.views.paint.models;
+
+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);
+ Integer owner = 1;
+ String token = "abc0";
+ int dummy = 1111;
+
+ //-----------------------------------------------------------------
+ // 招待リクエストを送るAPI
+ Call call = invitesRest.addInvite(dummy, owner.toString(), invitedUid.toString(), token);
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if(response.isSuccessful());
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+
+ }
+ });
+ }
+ //-----------------------------------------------------------------
+
+}
diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PaintConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PaintConnectionModel.java
new file mode 100644
index 0000000..791fa24
--- /dev/null
+++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PaintConnectionModel.java
@@ -0,0 +1,177 @@
+package org.ntlab.acanthus_client.views.paint.models;
+
+import android.util.Log;
+
+import androidx.lifecycle.MutableLiveData;
+import androidx.navigation.ActivityNavigator;
+
+import org.ntlab.acanthus_client.Acanthus;
+import org.ntlab.acanthus_client.entities.Animation;
+import org.ntlab.acanthus_client.entities.Position;
+import org.ntlab.acanthus_client.entities.Stroke;
+import org.ntlab.acanthus_client.resources.gallery.GalleryRest;
+import org.ntlab.acanthus_client.resources.gallery.StrokesRest;
+
+import java.lang.reflect.Array;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import retrofit2.Call;
+import retrofit2.Callback;
+import retrofit2.Response;
+import retrofit2.Retrofit;
+import retrofit2.converter.jackson.JacksonConverterFactory;
+import retrofit2.converter.scalars.ScalarsConverterFactory;
+
+//-----------------------------------------------------------------
+// 描画通信
+public class PaintConnectionModel {
+ private Animation editedAnimation;
+ private Integer currentStrokeNo;
+ private Retrofit retrofit;
+ private Acanthus acanthus;
+ private Collection getPaint;
+
+ //-----------------------------------------------------------------
+ //-----------------------------------------------------------------
+ //
+ public PaintConnectionModel(Acanthus acanthus) {
+ init(acanthus);
+ }
+
+ //-----------------------------------------------------------------
+ // setter
+ public void setEditedAnimation(Animation editedAnimation) {
+ this.editedAnimation = editedAnimation;
+ }
+
+ private void setCurrentStrokeNo(int strokeNo) {
+ this.currentStrokeNo = strokeNo;
+ }
+
+ //-----------------------------------------------------------------
+ //-----------------------------------------------------------------
+ // init
+ public void init(Acanthus acanthus) {
+ this.acanthus = acanthus;
+ this.getPaint = new ArrayList();
+ 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 addLocalStroke() {
+ final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
+
+ //-----------------------------------------------------------------
+ // ストローク追加API
+ Call call = strokesRest.addStroke(
+ acanthus.getAid(), acanthus.getPreferenceUid(), acanthus.getPreferenceToken(),
+ 0, 0, 10);
+
+ // strokeNoを更新
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()) setCurrentStrokeNo(response.body());
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+
+ }
+ });
+ }
+
+ //-----------------------------------------------------------------
+ // ローカルでの筆跡追加(POST)
+ public void addPosition(float x, float y) {
+ final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
+
+ //-----------------------------------------------------------------
+ // 筆跡追加API
+ Call call = strokesRest.addPositions(acanthus.getAid(), this.currentStrokeNo, x, y);
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+
+ }
+ });
+ }
+
+ //-----------------------------------------------------------------
+ //Getを追加
+ public void apiGetPosition(MutableLiveData> paintPosition, int num) {
+ final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
+
+ //-----------------------------------------------------------------
+ // 筆跡追加API
+ Call> call = strokesRest.getPositions(acanthus.getAid(), num);
+ call.enqueue(new Callback>() {
+ @Override
+ public void onResponse(Call> call, Response> response) {
+ if (response.isSuccessful()) paintPosition.setValue(response.body());
+ }
+
+ @Override
+ public void onFailure(Call> call, Throwable t) {
+
+ }
+ });
+
+ }
+
+ //-----------------------------------------------------------------
+ //Getを追加
+ public void getStrokeSize(MutableLiveData> strokes) {
+ final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
+
+ //-----------------------------------------------------------------
+ // 筆跡追加API
+ Call> call = strokesRest.getStrokes(acanthus.getAid());
+ call.enqueue(new Callback>() {
+ @Override
+ public void onResponse(Call> call, Response> response) {
+ if (response.isSuccessful()) strokes.setValue(response.body());
+ }
+
+ @Override
+ public void onFailure(Call> call, Throwable t) {
+
+ }
+ });
+
+ }
+
+ //-----------------------------------------------------------------
+ // "Clear"ボタンによる描画の全消去 / サーバー側の筆跡全削除
+ public void deleteStrokes() {
+ final StrokesRest strokesRest = retrofit.create(StrokesRest.class);
+
+ //-----------------------------------------------------------------
+ // 筆跡をすべて削除する
+ Call call = strokesRest.deleteStrokes(acanthus.getAid(), acanthus.getPreferenceUid());
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ }
+ });
+ }
+
+ //-----------------------------------------------------------------
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_animation.xml b/app/src/main/res/layout/activity_animation.xml
index 86095c2..69e0a2e 100644
--- a/app/src/main/res/layout/activity_animation.xml
+++ b/app/src/main/res/layout/activity_animation.xml
@@ -6,4 +6,60 @@
android:layout_height="match_parent"
tools:context=".views.animation.AnimationActivity">
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_animation_detail.xml b/app/src/main/res/layout/activity_animation_detail.xml
new file mode 100644
index 0000000..66148e1
--- /dev/null
+++ b/app/src/main/res/layout/activity_animation_detail.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_mypage.xml b/app/src/main/res/layout/fragment_mypage.xml
index c5246db..1f62ce2 100644
--- a/app/src/main/res/layout/fragment_mypage.xml
+++ b/app/src/main/res/layout/fragment_mypage.xml
@@ -7,29 +7,12 @@
tools:context=".views.main_menu_ui.mypage.MyPageFragment">
-
-
@@ -57,4 +40,27 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
+
+
+
+
\ No newline at end of file