diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 1248bb2..106a988 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -15,7 +15,6 @@
-
diff --git a/app/src/main/java/org/ntlab/irisclient/models/Member.java b/app/src/main/java/org/ntlab/irisclient/models/Member.java
new file mode 100644
index 0000000..00cd2a1
--- /dev/null
+++ b/app/src/main/java/org/ntlab/irisclient/models/Member.java
@@ -0,0 +1,34 @@
+package org.ntlab.irisclient.models;
+
+public class Member {
+
+ private String nickname;
+ // belongs) r:赤チーム b:青チーム n:無所属
+ private String belongs;
+ private boolean master;
+
+ //-----------------------------------------------------------------
+ //コンストラクト
+ public Member(String nickname) {
+ this.nickname = nickname;
+ this.belongs = "n";
+ this.master = false;
+ }
+
+ //-----------------------------------------------------------------
+ // setter
+ public void setNickname(String nickname) {this.nickname = nickname;}
+
+ public void setBelongs(String belongs) {this.belongs = belongs;}
+
+ public void setMaster(boolean master) {this.master = master;}
+
+ //-----------------------------------------------------------------
+ // getter
+ public String getNickname() {return this.nickname;}
+
+ public String getBelongs() {return this.belongs;}
+
+ public boolean isMaster() {return this.master;}
+
+}
diff --git a/app/src/main/java/org/ntlab/irisclient/models/Room.java b/app/src/main/java/org/ntlab/irisclient/models/Room.java
index 929b75b..ccd7b4a 100644
--- a/app/src/main/java/org/ntlab/irisclient/models/Room.java
+++ b/app/src/main/java/org/ntlab/irisclient/models/Room.java
@@ -1,4 +1,82 @@
package org.ntlab.irisclient.models;
-public class Room {
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class Room {
+
+ //フィールド
+ private String rid;
+ private String ownerName;
+ private Member redMaster;
+ private Member blueMaster;
+ private Map members= new HashMap<>();
+ private Settings settings = new Settings();
+
+ //--------------------------------------------------------------
+ /* public Room(String rid, String owner) {
+ this.rid = rid;
+ ownerName = owner;
+ }*/
+
+ //--------------------------------------------------------------
+ //getter
+ public String getRid(){
+ return rid;
+ }
+
+ public String getOwnerName() {
+ return ownerName;
+ }
+
+ public Member getRedMaster() {
+ return redMaster;
+ }
+
+ public Member getBlueMaster() {
+ return blueMaster;
+ }
+
+ public Member getMember(String nick) {
+ Member m = members.get(nick);
+ return m;
+ }
+
+ public List getMembers() {
+ List memberslist = new ArrayList(members.values()) ;
+ return memberslist;
+ }
+
+ public Settings getSettings() {
+ return settings;
+ }
+
+ //--------------------------------------------------------------
+ //setter
+ public void setOwnerName(String ownerName) {
+ this.ownerName = ownerName;
+ }
+
+ public Member setMember(String nick) {
+ Member m = members.get(nick);
+ return m;
+ }
+
+ public void setRedMaster(Member redMaster) {
+ this.redMaster = redMaster;
+ }
+
+ public void setBlueMaster(Member blueMaster) {
+ this.blueMaster = blueMaster;
+ }
+
+ public Settings setSettings() {
+ return settings;
+ }
+
+ //--------------------------------------------------------------
+
}
diff --git a/app/src/main/java/org/ntlab/irisclient/models/Settings.java b/app/src/main/java/org/ntlab/irisclient/models/Settings.java
new file mode 100644
index 0000000..407d419
--- /dev/null
+++ b/app/src/main/java/org/ntlab/irisclient/models/Settings.java
@@ -0,0 +1,64 @@
+package org.ntlab.irisclient.models;
+
+public class Settings {
+
+ private boolean drawingTimer;
+ private int drawingTimerTimes;
+ private boolean gameTimer;
+ private int gameTimerTimes;
+ private int gameTimerFirstThinkingTimes;
+
+ //--------------------------------------------------------------------
+ //コンストラクタで初期値設定
+ public Settings(){
+ drawingTimer = false;
+ drawingTimerTimes = 50;
+ gameTimer = true;
+ gameTimerTimes = 30;
+ gameTimerFirstThinkingTimes = 10;
+ }
+
+ //--------------------------------------------------------------------
+ //setter & getter
+ public boolean isDrawingTimer() {
+ return drawingTimer;
+ }
+
+ public void setDrawingTimer(boolean drawingTimer) {
+ this.drawingTimer = drawingTimer;
+ }
+
+ public int getDrawingTimerTimes() {
+ return drawingTimerTimes;
+ }
+
+ public void setDrawingTimerTimes(int drawingTimerTimes) {
+ this.drawingTimerTimes = drawingTimerTimes;
+ }
+
+ public boolean isGameTimer() {
+ return gameTimer;
+ }
+
+ public void setGameTimer(boolean gameTimer) {
+ this.gameTimer = gameTimer;
+ }
+
+ public int getGameTimerTimes() {
+ return gameTimerTimes;
+ }
+
+ public void setGameTimerTimes(int gameTimerTimes) {
+ this.gameTimerTimes = gameTimerTimes;
+ }
+
+ public int getGameTimerFirstThinkingTimes() {
+ return gameTimerFirstThinkingTimes;
+ }
+
+ public void setGameTimerFirstThinkingTimes(int gameTimerFirstThinkingTimes) {
+ this.gameTimerFirstThinkingTimes = gameTimerFirstThinkingTimes;
+ }
+
+
+}
diff --git a/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java b/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java
index 5fd027f..7b924f7 100644
--- a/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java
+++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java
@@ -1,8 +1,7 @@
package org.ntlab.irisclient.viewmodels;
-import org.ntlab.irisclient.models.Room;
-
-import java.net.URI;
+import org.ntlab.irisclient.entities.RoomJson;
+import org.ntlab.irisclient.resources.RoomsRest;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
@@ -12,15 +11,15 @@
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
-import retrofit2.converter.moshi.MoshiConverterFactory;
import retrofit2.converter.jackson.JacksonConverterFactory;
public class RoomViewModel extends ViewModel {
- private MutableLiveData roomMutableLiveData;
+ private MutableLiveData roomMutableLiveData;
private Retrofit retrofit;
//------------------------------------------------
+ //コンストラクタ
public RoomViewModel() {
this.roomMutableLiveData = new MutableLiveData<>();
this.retrofit = new Retrofit.Builder()
@@ -31,7 +30,50 @@
//-----------------------------------------------------------------
// getter
- public LiveData getLiveData() {
+ public LiveData getLiveData() {
return this.roomMutableLiveData;
}
+
+ //-----------------------------------------------------------------
+ // updates
+ //メンバーの更新、設定情報の更新
+ public void updateMembers(String rid) {
+ final RoomsRest roomsRest = retrofit.create(RoomsRest.class);
+
+ Call call = roomsRest.getRoomMember(rid);
+
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()){
+ roomMutableLiveData.setValue(response.body());
+ }
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+
+ }
+ });
+ }
+
+ public void updateSettings(String rid) {
+ final RoomsRest roomsRest = retrofit.create(RoomsRest.class);
+
+ Call call = roomsRest.getSettings(rid);
+
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()){
+ roomMutableLiveData.setValue(response.body());
+ }
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+
+ }
+ });
+ }
}