diff --git a/.idea/misc.xml b/.idea/misc.xml index c75bd47..4779aec 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -7,7 +7,9 @@ + + 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 bc884f8..47ccf45 100644 --- a/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java +++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java @@ -21,18 +21,18 @@ //フィールド private String rid; - final private MutableLiveData roomMutableLiveData; + final private MutableLiveData> membersLiveData; final private MutableLiveData settingsMutableLiveData; final private Retrofit retrofit; //更新比較用フィールド + private List membersPreData; private Settings settingsPreData; - private RoomJson roomJsonPreData; //------------------------------------------------------------------ //コンストラクタ public RoomViewModel() { - this.roomMutableLiveData = new MutableLiveData<>(); + this.membersLiveData = new MutableLiveData<>(); this.settingsMutableLiveData = new MutableLiveData<>(); this.retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/iris/") @@ -46,8 +46,8 @@ this.rid = rid; } // getter - public LiveData getRoomLiveData() { - return this.roomMutableLiveData; + public LiveData> getMembersLiveData() { + return this.membersLiveData; } public LiveData getSettingsLiveData() { return this.settingsMutableLiveData; @@ -57,12 +57,12 @@ // updates @Override public void update(){ - updateRoom(rid); + updateMembers(rid); updateSettings(rid); } //部屋の情報の更新(RoomJson) - public void updateRoom(String rid) { + public void updateMembers(String rid) { final RoomsRest roomsRest = retrofit.create(RoomsRest.class); Call> call = roomsRest.getRoomMember(rid); @@ -72,13 +72,18 @@ public void onResponse(Call> call, Response> response) { if (response.isSuccessful()){ + membersLiveData.setValue(response.body()); + membersPreData = response.body(); + + /* if(response.body().equals(roomJsonPreData)){ //値が一緒なら書き換えない }else{ //値が異なるときのみライブデータを上書き - roomMutableLiveData.setValue((RoomJson) response.body()); - roomJsonPreData = (RoomJson) response.body(); + membersLiveData.setValue(response.body()); + roomJsonPreData = response.body(); } + */ } } @@ -99,13 +104,18 @@ public void onResponse(Call call, Response response) { if (response.isSuccessful()){ + settingsMutableLiveData.setValue(response.body()); + settingsPreData = response.body(); + + /* if(response.body().equals(settingsPreData)){ //値が一緒なら書き換えない }else{ //値が異なるときのみライブデータを上書き settingsMutableLiveData.setValue(response.body()); settingsPreData = response.body(); - } + }*/ + } }