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 2896e5f..05da37c 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 @@ -53,13 +53,14 @@ protected void onResume() { super.onResume(); paintViewModel.start(); + paintCanvas.clearCanvas(); } //----------------------------------------------------------------- @Override protected void onPause() { super.onPause(); - paintViewModel.stop(); +// paintViewModel.stop(); } //----------------------------------------------------------------- @@ -85,7 +86,6 @@ paintOnionCanvas = findViewById(R.id.paintOnionCanvas); paintOnionCanvas.init(paintViewModel); - paintToolBar = new PaintToolBar(this, paintCanvas, paintOnionCanvas); } 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 4304e5b..81ae629 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 @@ -101,7 +101,6 @@ for (int i = 0; i < paths.size(); i++) { try { canvas.drawPath(paths.get(i), paints.get(i)); - curCanvas.drawPath(paths.get(i), paints.get(i)); } catch (IndexOutOfBoundsException ex) { } } @@ -109,7 +108,6 @@ for (int i = 0; i < clonePaths.size(); i++) { try { canvas.drawPath(clonePaths.get(i), clonePaints.get(i)); - curCanvas.drawPath(clonePaths.get(i), clonePaints.get(i)); } catch (IndexOutOfBoundsException ex) { } } @@ -216,6 +214,14 @@ //----------------------------------------------------------------- @RequiresApi(api = Build.VERSION_CODES.O) public void canvassc() { + + for (int i = 0; i < clonePaths.size(); i++) { + try { + curCanvas.drawPath(clonePaths.get(i), clonePaints.get(i)); + } catch (IndexOutOfBoundsException ex) { + } + } + ByteArrayOutputStream stream = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.PNG, 100, stream); byte[] byteArray = stream.toByteArray(); diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintOnionCanvas.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintOnionCanvas.java index 77ff9ed..e5fd319 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintOnionCanvas.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintOnionCanvas.java @@ -81,6 +81,12 @@ path.reset(); invalidate(); } + + //----------------------------------------------------------------- + // + public void stopUpdate(){ + paintViewModel.stop(); + } //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintToolBar.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintToolBar.java index 12795e5..083b05b 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintToolBar.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/PaintToolBar.java @@ -58,6 +58,8 @@ //----------------------------------------------------------------- case R.id.navigation_page: + + paintOnionCanvas.stopUpdate(); paintOnionCanvas.clearCanvas(); paintCanvas.canvassc(); 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 8b5c4d3..5a71ede 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 @@ -108,28 +108,43 @@ Call call = pagesRest.getPage(acanthus.getAid(), acanthus.getEditingPageNo()); - try { - Response response = call.execute(); - // ページ番号とページIDを取得する - acanthus.setEditingPageId(response.body().getPid()); - mPageId.setValue(response.body().getPid()); - - Log.d("curPageNo", acanthus.getEditingPageNo().toString()); - Log.d("curPageID", acanthus.getEditingPageId().toString()); - } catch (Exception ex) { - } call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()) { + //----------------------------------------------------------------- // ページ番号とページIDを取得する acanthus.setEditingPageId(response.body().getPid()); mPageId.setValue(response.body().getPid()); Log.d("curPageNo", acanthus.getEditingPageNo().toString()); Log.d("curPageID", acanthus.getEditingPageId().toString()); + + //----------------------------------------------------------------- + // ページが後ろにあれば取得 + if (1 < acanthus.getEditingPageNo()) { + final PagesRest pagesRest = retrofit.create(PagesRest.class); + + Call call2 = pagesRest.getPage(acanthus.getAid(), acanthus.getEditingPageNo() - 1); + + call2.enqueue(new Callback() { + @Override + public void onResponse(Call call2, Response response) { + + if (response.isSuccessful()) { + acanthus.setPrePageId(response.body().getPid()); + Log.d("prePageID", acanthus.getPrePageId().toString()); + } + } + + @Override + public void onFailure(Call call, Throwable t) { + } + }); + //----------------------------------------------------------------- + } } } @@ -161,21 +176,14 @@ //----------------------------------------------------------------- // 前のページのIDを取得する - public void getPrePageId() { - - // ページが後ろにあれば取得 - if (1 < acanthus.getEditingPageNo()) { - final PagesRest pagesRest = retrofit.create(PagesRest.class); - - Call call = pagesRest.getPage(acanthus.getAid(), acanthus.getEditingPageNo() - 1); - - try { - Response response = call.execute(); - acanthus.setPrePageId(response.body().getPid()); - } catch (Exception ex) { - } - - +// public void getPrePageId() { +// +// // ページが後ろにあれば取得 +// if (1 < acanthus.getEditingPageNo()) { +// final PagesRest pagesRest = retrofit.create(PagesRest.class); +// +// Call call = pagesRest.getPage(acanthus.getAid(), acanthus.getEditingPageNo() - 1); +// // call.enqueue(new Callback() { // @Override // public void onResponse(Call call, Response response) { @@ -190,9 +198,9 @@ // public void onFailure(Call call, Throwable t) { // } // }); - - } - } +// +// } +// } //----------------------------------------------------------------- } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageOperationModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageOperationModel.java index 026450e..6dd7ef8 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageOperationModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/models/PageOperationModel.java @@ -70,7 +70,7 @@ Integer editingNo = acanthus.getEditingPageNo(); if (1 < editingNo) { - acanthus.setEditingPageNo(acanthus.getEditingPageNo() - 1); + acanthus.setEditingPageNo(editingNo - 1); mPageNo.setValue(acanthus.getEditingPageNo()); } } diff --git a/app/src/main/java/org/ntlab/acanthus_client/views/paint/page/PageViewModel.java b/app/src/main/java/org/ntlab/acanthus_client/views/paint/page/PageViewModel.java index d9b2f3c..75d4ae7 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/views/paint/page/PageViewModel.java +++ b/app/src/main/java/org/ntlab/acanthus_client/views/paint/page/PageViewModel.java @@ -91,7 +91,7 @@ // ひとつ前のページを記憶する private void updatePrePageId(){ PageConnectionModel pageConnectionModel = paintModelContainer.getPageConnectionModel(); - pageConnectionModel.getPrePageId(); +// pageConnectionModel.getPrePageId(); } //-----------------------------------------------------------------