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 cd1eaf2..0b9211a 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 @@ -24,14 +24,15 @@ //----------------------------------------------------------------- // - @GET("gallery/{aid}/pageMap/0/layers/0/strokes") - Call> getStrokes(@Path("aid") Integer aid); + @GET("gallery/{aid}/pageMap/{pid}/layers/{layerNo}/strokes") + Call> getStrokes(@Path("aid") Integer aid, @Path("pid") Integer pid, @Path("layerNo") Integer layerNo); //----------------------------------------------------------------- // @FormUrlEncoded - @POST("gallery/{aid}/pageMap/0/layers/0/strokes") - Call addStroke(@Path("aid") Integer aid, @Field("uid") Integer uid, @Field("uidToken") String uidToken, + @POST("gallery/{aid}/pageMap/{pid}/layers/{layerNo}/strokes") + Call addStroke(@Path("aid") Integer aid, @Path("pid") Integer pid, @Path("layerNo") Integer layerNo, + @Field("uid") Integer uid, @Field("uidToken") String uidToken, @Field("pen") Integer pen, @Field("color") Integer color, @Field("thick") Integer thick); //----------------------------------------------------------------- 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 8b496c2..50eb155 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 @@ -42,7 +42,7 @@ // StrokesRestをGETする。 public void getAnimationStrokes() { final StrokesRest strokesRest = retrofit.create(StrokesRest.class); - Call> strokes = strokesRest.getStrokes(acanthus.getAid()); + Call> strokes = strokesRest.getStrokes(acanthus.getAid(), 0, 0); } } 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 6609dbb..008dfce 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 @@ -6,6 +6,7 @@ import android.os.Bundle; import android.view.View; +import android.widget.TextView; import org.ntlab.acanthus_client.Acanthus; import org.ntlab.acanthus_client.R; @@ -58,20 +59,34 @@ //----------------------------------------------------------------- // init private void init() { - setContentView(R.layout.activity_paint); Acanthus acanthus = (Acanthus) getApplication(); paintViewModel = new ViewModelProvider(this).get(PaintViewModel.class); paintViewModel.init(acanthus); initView(); + + startObserve(); } //----------------------------------------------------------------- // private void initView() { binding = ActivityPaintBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + paintCanvas = (PaintCanvas) findViewById(R.id.myCanvas); paintCanvas.setPaintViewModel(paintViewModel); } + //----------------------------------------------------------------- + // + private void startObserve() { + paintViewModel.getPageNo().observe(this, new Observer() { + @Override + public void onChanged(Integer i) { + binding.buttonAddPage.setText(String.valueOf(i)); + } + }); + } + //------------------------------------------------------------------ } \ 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 92802e8..5d96119 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 @@ -105,6 +105,7 @@ public void clearCanvas() { paintViewModel.deleteStrokesRequest(); path.reset(); + path2.reset(); invalidate(); } 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 87b3081..b2ae71d 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 @@ -25,6 +25,7 @@ private PaintModelContainer paintModelContainer; private MutableLiveData> paintPosition; + private MutableLiveData mPageNo = new MutableLiveData<>(); private MutableLiveData> mStrokes = new MutableLiveData<>(); private ScheduledThreadPoolExecutor thread = new ScheduledThreadPoolExecutor(1); @@ -35,6 +36,10 @@ return this.mStrokes; } + public LiveData getPageNo() { + return this.mPageNo; + } + //----------------------------------------------------------------- //----------------------------------------------------------------- // init @@ -81,7 +86,7 @@ //----------------------------------------------------------------- // ページの追加通信リクエスト public void addPageRequest() { - paintModelContainer.getPageConnectionModel().addPage(); + paintModelContainer.getPageConnectionModel().addPage(mPageNo); } //----------------------------------------------------------------- diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageConnectionModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageConnectionModel.java index 394c716..80f2e93 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageConnectionModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageConnectionModel.java @@ -42,14 +42,14 @@ //----------------------------------------------------------------- //----------------------------------------------------------------- // ページ追加API - public void addPage() { + public void addPage(MutableLiveData mPageNo) { final PagesRest pagesRest = retrofit.create(PagesRest.class); Call call = pagesRest.addPage(acanthus.getAid()); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { - if (response.isSuccessful()) ; + if (response.isSuccessful()) mPageNo.setValue(response.body()); } @Override 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 index 791fa24..bfcb33a 100644 --- 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 @@ -71,7 +71,7 @@ //----------------------------------------------------------------- // ストローク追加API Call call = strokesRest.addStroke( - acanthus.getAid(), acanthus.getPreferenceUid(), acanthus.getPreferenceToken(), + acanthus.getAid(), 0, 0, acanthus.getPreferenceUid(), acanthus.getPreferenceToken(), 0, 0, 10); // strokeNoを更新 @@ -138,7 +138,7 @@ //----------------------------------------------------------------- // 筆跡追加API - Call> call = strokesRest.getStrokes(acanthus.getAid()); + Call> call = strokesRest.getStrokes(acanthus.getAid(), 0, 0); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { diff --git a/app/src/main/res/drawable/ic_paint_tool_button.xml b/app/src/main/res/drawable/ic_paint_tool_button.xml new file mode 100644 index 0000000..78664bd --- /dev/null +++ b/app/src/main/res/drawable/ic_paint_tool_button.xml @@ -0,0 +1,13 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_paint.xml b/app/src/main/res/layout/activity_paint.xml index a8be3dd..dd0e520 100644 --- a/app/src/main/res/layout/activity_paint.xml +++ b/app/src/main/res/layout/activity_paint.xml @@ -27,11 +27,13 @@