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 0f8ee1e..20e42ae 100644 --- a/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java +++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java @@ -28,10 +28,12 @@ final private MutableLiveData dnoMutableLiveData=new MutableLiveData<>(); final private MutableLiveData drawingMutableLiveData = new MutableLiveData<>(); final private MutableLiveData> keywordsMutableLiveData = new MutableLiveData<>(); + final private MutableLiveData timerMutableLiveData = new MutableLiveData<>(); final private Retrofit retrofit; private Integer drawingStatePreData; private Integer dnoPreData = null; + private Integer timerPreData; private String drawingPreData; private List keywords; @@ -124,6 +126,32 @@ } + public void updateTimer(String rid) { + + final DrawingRest drawingRest = retrofit.create(DrawingRest.class); + Call call = drawingRest.getTime(rid); + + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()){ + + if(response.body().equals(timerPreData)){ + //値が一緒なら書き換えない + }else{ + //値が異なるときのみライブデータを上書き + timerMutableLiveData.setValue(response.body()); + timerPreData = response.body(); + } + } + } + + @Override + public void onFailure(Call call, Throwable t) { + } + }); + } + // public LiveData> getMembers(String rid){ // RoomViewModel members = new RoomViewModel(); // return members.getMembersLiveData(); @@ -138,6 +166,7 @@ public LiveData getState(){ return this.stateMutableLiveData; } + public LiveData getTimer(){return this.timerMutableLiveData;} public void start(int interval, Iris iris) { super.start(interval, iris); @@ -151,6 +180,7 @@ String nickName = iris.getNickname(); updateState(rid); updateDno(rid, nickName); + updateTimer(rid); } public void putDrawing(Bitmap image) { @@ -162,13 +192,13 @@ final DrawingRest drawingRest = retrofit.create(DrawingRest.class); Integer dno = dnoMutableLiveData.getValue(); + Call call = drawingRest.putDrawing(iris.getRid(), dno, encoded ); call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()){ System.out.println("success"); -// System.out.println(encoded); } } @Override