diff --git a/.idea/misc.xml b/.idea/misc.xml index d5d35ec..860da66 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + 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 e65b460..658684a 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 @@ -50,7 +50,7 @@ //----------------------------------------------------------------- // - @GET("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/positions") + @DELETE("gallery/{aid}/pageMap/0/layers/0/strokes/{strokeNo}/positions") Call deleteStrokeNo(@Path("aid") Integer aid, @Path("strokeNo") Integer strokeNo); //----------------------------------------------------------------- } 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 883feee..1708f5e 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,12 +1,18 @@ 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; @@ -21,6 +27,7 @@ private Integer currentStrokeNo; private Retrofit retrofit; private Acanthus acanthus; + private Collection getPaint; //----------------------------------------------------------------- //----------------------------------------------------------------- @@ -44,6 +51,7 @@ // 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()) @@ -98,5 +106,29 @@ }); } //----------------------------------------------------------------- + //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; + } } 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 1f403a2..aace200 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 @@ -1,18 +1,27 @@ package org.ntlab.acanthus_client.views.paint; +import android.util.Log; import android.view.MotionEvent; +import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; import org.jetbrains.annotations.NotNull; import org.ntlab.acanthus_client.Acanthus; +import org.ntlab.acanthus_client.entities.Position; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.concurrent.ScheduledThreadPoolExecutor; +import java.util.concurrent.TimeUnit; //----------------------------------------------------------------- // 描画処理の仲介 -public class PaintViewModel extends ViewModel { +public class PaintViewModel extends ViewModel implements Runnable{ private PaintModelContainer paintModelContainer; + private MutableLiveData> paintPosition; //----------------------------------------------------------------- //----------------------------------------------------------------- @@ -21,6 +30,9 @@ paintModelContainer = new PaintModelContainer(acanthus); paintModelContainer.getPaintConnectionModel().init(acanthus); paintModelContainer.getInvitesConnectionModel().init(acanthus); + paintPosition = new MutableLiveData<>(); + ScheduledThreadPoolExecutor thread = new ScheduledThreadPoolExecutor(1); + thread.scheduleWithFixedDelay(this, 1000L, 100L, TimeUnit.MICROSECONDS); } //----------------------------------------------------------------- @@ -48,7 +60,10 @@ //----------------------------------------------------------------- // 一定間隔でサーバー上の筆跡を取得する(GET) - public void startObservationOfChangedStroke() { + @Override + public void run() { + Log.d("debug", "run: "); + paintModelContainer.getPaintConnectionModel().apigetPosition(paintPosition); } //-----------------------------------------------------------------