diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/Layer.java b/app/src/main/java/org/ntlab/acanthus_client/entities/Layer.java index 99927bc..702ba20 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/entities/Layer.java +++ b/app/src/main/java/org/ntlab/acanthus_client/entities/Layer.java @@ -1,6 +1,23 @@ package org.ntlab.acanthus_client.entities; +import java.util.ArrayList; + //----------------------------------------------------------------- // レイヤー情報 public class Layer { + private ArrayList strokes; + + //----------------------------------------------------------------- + // getter + public ArrayList getStrokes() { + return strokes; + } + + //----------------------------------------------------------------- + // setter + public void setStrokes(ArrayList strokes) { + this.strokes = strokes; + } + //----------------------------------------------------------------- + } diff --git a/app/src/main/java/org/ntlab/acanthus_client/entities/Page.java b/app/src/main/java/org/ntlab/acanthus_client/entities/Page.java index 61b4502..baf5612 100644 --- a/app/src/main/java/org/ntlab/acanthus_client/entities/Page.java +++ b/app/src/main/java/org/ntlab/acanthus_client/entities/Page.java @@ -3,4 +3,19 @@ //----------------------------------------------------------------- // ページ情報 public class Page { + private Layer layers; + + //----------------------------------------------------------------- + // getter + public Layer getLayers() { + return layers; + } + + //----------------------------------------------------------------- + // setter + public void setLayers(Layer layers) { + this.layers = layers; + } + //----------------------------------------------------------------- + } 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 85121e8..b20240d 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 @@ -4,6 +4,7 @@ import org.ntlab.acanthus_client.entities.Stroke; import java.util.ArrayList; +import java.util.Collection; import retrofit2.Call; import retrofit2.http.Field; @@ -19,7 +20,7 @@ //----------------------------------------------------------------- // @GET("gallery/{aid}/pageMap/0/layers/0/strokes") - Call> getStrokes(@Path("aid") Integer aid); + Call> getStrokes(@Path("aid") Integer aid); //----------------------------------------------------------------- // @@ -31,7 +32,7 @@ //----------------------------------------------------------------- // @GET("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/position") - Call> getPositions(@Path("aid") Integer aid, @Path("strokeNo") Integer strokeNo); + Call> getPositions(@Path("aid") Integer aid, @Path("strokeNo") Integer strokeNo); //----------------------------------------------------------------- // 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 eccf29b..97da274 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 @@ -3,12 +3,21 @@ import android.graphics.Paint; import android.view.View; +import androidx.appcompat.app.AppCompatActivity; import androidx.lifecycle.ViewModel; import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.entities.Stroke; import org.ntlab.acanthus_client.resources.accounts.LoginRest; import org.ntlab.acanthus_client.resources.gallery.StrokesRest; +import java.text.CollationElementIterator; +import java.util.ArrayList; +import java.util.Collection; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; + import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; @@ -20,9 +29,11 @@ //----------------------------------------------------------------- // public class PaintViewModel extends ViewModel implements Runnable { - private Retrofit retrofit; private int currentStrokeNo; + private Acanthus acanthus; + private Retrofit retrofit; + //----------------------------------------------------------------- //----------------------------------------------------------------- public PaintViewModel() { @@ -31,6 +42,8 @@ .addConverterFactory(ScalarsConverterFactory.create()) .addConverterFactory(JacksonConverterFactory.create()) .build(); + + startObserveChangedStroke(); } //----------------------------------------------------------------- @@ -63,29 +76,31 @@ } //----------------------------------------------------------------- - // - public void getRemoteAnimationInfo() { + // 一定間隔でサーバー上の筆跡を取得する + public void startObserveChangedStroke() { + ScheduledThreadPoolExecutor threadPoolExecutor = new ScheduledThreadPoolExecutor(1); + threadPoolExecutor.scheduleWithFixedDelay(this, 1000L, 100L, TimeUnit.MICROSECONDS); } //----------------------------------------------------------------- - // + // 筆跡取得APIを叩く @Override public void run() { -// final -// -// Call call = strokesRest.addPositions(acanthus.getAid(), this.currentStrokeNo, x, y); -// call.enqueue(new Callback() { -// @Override -// public void onResponse(Call call, Response response) { -// if (response.isSuccessful()) { -// } -// } -// -// @Override -// public void onFailure(Call call, Throwable t) { -// -// } -// }); + final StrokesRest strokesRest = retrofit.create(StrokesRest.class); + + Call> call = strokesRest.getStrokes(acanthus.getAid()); + call.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + if (response.isSuccessful()) { + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + + } + }); } }