diff --git a/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java b/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java index 1c15164..be74306 100644 --- a/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java +++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java @@ -1,5 +1,8 @@ package org.ntlab.irisclient.viewmodels; +import android.os.Debug; + + import org.ntlab.irisclient.models.DrawingState; import org.ntlab.irisclient.resources.DrawingRest; import org.ntlab.irisclient.resources.RoomsRest; @@ -9,6 +12,7 @@ import androidx.lifecycle.ViewModel; import java.util.List; +import java.util.Timer; import retrofit2.Retrofit; import retrofit2.Call; @@ -38,6 +42,7 @@ return this.stateMutableLiveData; } + public void updateState(String rid) { final RoomsRest roomsRest = retrofit.create(RoomsRest.class); diff --git a/app/src/main/java/org/ntlab/irisclient/viewmodels/TimerViewModel.java b/app/src/main/java/org/ntlab/irisclient/viewmodels/TimerViewModel.java new file mode 100644 index 0000000..9254669 --- /dev/null +++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/TimerViewModel.java @@ -0,0 +1,48 @@ +package org.ntlab.irisclient.viewmodels; + + +import android.util.Log; + import android.view.MotionEvent; + + import androidx.lifecycle.LiveData; + import androidx.lifecycle.MutableLiveData; + import androidx.lifecycle.ViewModel; + + import java.util.ArrayList; + import java.util.Collection; + import java.util.HashMap; + import java.util.Random; + import java.util.concurrent.ScheduledThreadPoolExecutor; + import java.util.concurrent.TimeUnit; + + +//----------------------------------------------------------------- +// +abstract class TimerViewModel extends ViewModel implements Runnable { + + private ScheduledThreadPoolExecutor thread = null; + + + //----------------------------------------------------------------- + // 一定間隔でサーバー上の筆跡を取得する(GET) + @Override + public void run() { + update(); + } + + public abstract void update(); + + //----------------------------------------------------------------- + //何ミリ秒ごとにrun()を実行するかを決める + public void start(int interval) { + thread = new ScheduledThreadPoolExecutor(1); + thread.scheduleWithFixedDelay(this, interval, 1000L, TimeUnit.MILLISECONDS); + } + + //----------------------------------------------------------------- + // + public void stop() { + thread.shutdown(); + } + //----------------------------------------------------------------- +} \ No newline at end of file