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/paint/PaintCanvas.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintCanvas.java index 56ad218..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 @@ -70,7 +70,7 @@ super.onDraw(canvas); canvas.drawPath(path, paint); canvas.drawPath(path2, paint2); - getcanvas(); + getCanvas(); } //----------------------------------------------------------------- @@ -103,6 +103,7 @@ //----------------------------------------------------------------- // 描画クリア public void clearCanvas() { + paintViewModel.deleteStrokesRequest(); path.reset(); invalidate(); } @@ -136,7 +137,7 @@ invalidate(); } //描写するための取得 - public void getcanvas(){ + public void getCanvas(){ int cnt=0; for (Stroke s : paintViewModel.getStroke().getValue()) { for (Position p : s.getPositions()) { 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 c4bd203..ac86d13 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 @@ -1,5 +1,7 @@ package org.ntlab.acanthus_client.views.paint; +import android.util.Log; + import androidx.lifecycle.MutableLiveData; import androidx.navigation.ActivityNavigator; @@ -106,14 +108,15 @@ } }); } + //----------------------------------------------------------------- //Getを追加 - public void apigetPosition(MutableLiveData> paintPosition,int num){ + public void apiGetPosition(MutableLiveData> paintPosition, int num) { final StrokesRest strokesRest = retrofit.create(StrokesRest.class); //----------------------------------------------------------------- // 筆跡追加API - Call> call = strokesRest.getPositions(acanthus.getAid(),num); + Call> call = strokesRest.getPositions(acanthus.getAid(), num); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { @@ -130,7 +133,7 @@ //----------------------------------------------------------------- //Getを追加 - public void getStrokesize(MutableLiveData> strokes){ + public void getStrokeSize(MutableLiveData> strokes) { final StrokesRest strokesRest = retrofit.create(StrokesRest.class); //----------------------------------------------------------------- @@ -150,6 +153,24 @@ } + //----------------------------------------------------------------- + //DELETE + 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/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintViewModel.java index e6d1f34..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 @@ -23,10 +23,16 @@ private PaintModelContainer paintModelContainer; private MutableLiveData> paintPosition; - private MutableLiveData> strokes; + private MutableLiveData> mStrokes; private ScheduledThreadPoolExecutor thread = new ScheduledThreadPoolExecutor(1); //----------------------------------------------------------------- + // getter + public MutableLiveData> getStroke(){ + return this.mStrokes; + } + + //----------------------------------------------------------------- //----------------------------------------------------------------- // init public void init(Acanthus acanthus) { @@ -34,9 +40,9 @@ paintModelContainer.getPaintConnectionModel().init(acanthus); paintModelContainer.getInvitesConnectionModel().init(acanthus); paintPosition = new MutableLiveData<>(); - strokes = new MutableLiveData<>(); - strokes.setValue(new ArrayList<>()); - strokes.getValue().add(new Stroke()); + mStrokes = new MutableLiveData<>(); + mStrokes.setValue(new ArrayList<>()); + mStrokes.getValue().add(new Stroke()); thread.scheduleWithFixedDelay(this, 1000L, 100L, TimeUnit.MICROSECONDS); } @@ -64,20 +70,22 @@ } //----------------------------------------------------------------- + // 描画情報の全クリア + public void deleteStrokesRequest(){ + paintModelContainer.getPaintConnectionModel().deleteStrokes(); + } + + //----------------------------------------------------------------- // 一定間隔でサーバー上の筆跡を取得する(GET) @Override public void run() { Log.d("debug", "run: "); - paintModelContainer.getPaintConnectionModel().getStrokesize(strokes); - //paintModelContainer.getPaintConnectionModel().apigetPosition(paintPosition,i); + paintModelContainer.getPaintConnectionModel().getStrokeSize(mStrokes); + //paintModelContainer.getPaintConnectionModel().apiGetPosition(paintPosition,i); } //----------------------------------------------------------------- - - public MutableLiveData> getStroke(){ - return strokes; - } - + // public void stop(){ thread.shutdown(); }