diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java index fc9b7c3..c1cf82d 100644 --- a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java @@ -16,20 +16,21 @@ public class DrawingActivity extends AppCompatActivity implements View.OnClickListener { private DrawingCanvas drawingCanvas; - DrawingStateViewModel drawingStateViewModel = new ViewModelProvider(this).get(DrawingStateViewModel.class); + private DrawingStateViewModel drawingStateViewModel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_drawing); - drawingCanvas = (DrawingCanvas) findViewById(R.id.canvas); + // drawingCanvas = (DrawingCanvas) findViewById(R.id.canvas); //Irisから必要な情報を取得 Iris iris = (Iris) this.getApplication(); String rid = iris.getRid(); String nickName = iris.getNickname(); + drawingStateViewModel= new ViewModelProvider(this).get(DrawingStateViewModel.class); //viewModelに必用な情報をセット drawingStateViewModel.setRid(rid); drawingStateViewModel.setNickName(nickName); @@ -38,14 +39,14 @@ TextView textKeyword =(TextView)findViewById(R.id.textKeyword);//keywordのTextView //getKeywords - List keywords = drawingStateViewModel.getKeywords(rid); + //List keywords = drawingStateViewModel.getKeywords(rid); //getDno drawingStateViewModel.getDno().observe(this, new Observer() { @Override public void onChanged(Integer dno) { - String keyword = keywords.get(dno); - textKeyword.setText(keyword); + //String keyword = keywords.get(dno); + //textKeyword.setText(keyword); } }); diff --git a/app/src/main/java/org/ntlab/irisclient/EnterRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/EnterRoomActivity.java index b5c51d3..5d62adb 100644 --- a/app/src/main/java/org/ntlab/irisclient/EnterRoomActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/EnterRoomActivity.java @@ -74,7 +74,7 @@ ((Iris) getApplication()).setNickname(name); Intent intent = new Intent(EnterRoomActivity.this,MemberRoomActivity.class); - //intent.putExtra("nickname", name); + intent.putExtra("nickname", name); startActivity(intent); }else { Snackbar.make(v, "部屋に同名のプレイヤーがいるか,満席です", Snackbar.LENGTH_LONG).show(); diff --git a/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java index 9a73037..d56cda0 100644 --- a/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java @@ -48,8 +48,8 @@ String nickname = ((Iris) getApplication()).getNickname(); //自分のなまえ - //Intent intentMain = getIntent(); - //myName = intentMain.getStringExtra("nickname"); + Intent intentMain = getIntent(); + myName = intentMain.getStringExtra("nickname"); //-------------------------------------------------------------------------- //RoomViewModelへのアクセス @@ -89,21 +89,15 @@ m2.setBelongs("b"); m2.setMaster(true); - Member m3 = new Member("m3"); - m2.setBelongs("r"); - m2.setMaster(false); - Member m4 = new Member("m4"); - m2.setBelongs("b"); - m2.setMaster(false); - Member m5 = new Member("m5"); - m2.setBelongs("r"); - m2.setMaster(false); + Member mn = new Member(myName); + mn.setBelongs("g"); + mn.setMaster(false); members.add(m1.getNickname()); members.add(m2.getNickname()); - members.add(m3.getNickname()); - members.add(m4.getNickname()); - members.add(m5.getNickname()); + + members.add(mn.getNickname()); + ListView membersList = (ListView) findViewById(R.id.MembersList); diff --git a/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java b/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java index 167a452..df4f05a 100644 --- a/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java +++ b/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java @@ -47,5 +47,3 @@ public int sizeOpenList(){return openlist.size();} */ - -} 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 034be15..64d51ea 100644 --- a/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java +++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java @@ -26,14 +26,13 @@ final private MutableLiveData stateMutableLiveData=new MutableLiveData<>(); final private MutableLiveData dnoMutableLiveData=new MutableLiveData<>(); final private Retrofit retrofit; - private Integer drawingStatePreData; private Integer dnoPreData; private String rid; private String nickName; //フィールド - public DrawingStateViewModel(MutableLiveData stateMutableLiveData) { + public DrawingStateViewModel() { this.retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/iris/") .addConverterFactory(JacksonConverterFactory.create()) @@ -98,9 +97,7 @@ } public List getKeywords(String rid){ - final DrawingRest drawingRest = retrofit.create(DrawingRest.class); - List call = (List) drawingRest.getKeywords(rid); - return call; + return null; } public LiveData getDno(){ return this.dnoMutableLiveData; diff --git a/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java b/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java index 1c45183..b771cc7 100644 --- a/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java +++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java @@ -1,6 +1,7 @@ package org.ntlab.irisclient.viewmodels; import org.ntlab.irisclient.entities.RoomJson; +import org.ntlab.irisclient.entities.TurnJson; import org.ntlab.irisclient.models.Member; import org.ntlab.irisclient.models.Settings; import org.ntlab.irisclient.resources.RoomsRest; @@ -9,6 +10,8 @@ import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.ViewModel; +import com.squareup.moshi.Json; + import java.util.List; import retrofit2.Call; @@ -22,13 +25,12 @@ //フィールド private String rid; - private String nickname; - private String hints; - private Integer num; - private List map; - final private MutableLiveData> membersLiveData; - final private MutableLiveData roomMutableLiveData; - final private MutableLiveData settingsMutableLiveData; + private Integer turns; + private String hint; + private Integer max; + private Integer openlist; + final private MutableLiveData turnsMutableLiveData; + final private MutableLiveData turnMutableLiveData; final private Retrofit retrofit; @@ -47,9 +49,8 @@ //------------------------------------------------------------------ //コンストラクタ public GameViewModel() { - this.membersLiveData = new MutableLiveData<>(); - this.roomMutableLiveData = new MutableLiveData<>(); - this.settingsMutableLiveData = new MutableLiveData<>(); + this.turnsMutableLiveData = new MutableLiveData<>(); + this.turnMutableLiveData = new MutableLiveData<>(); this.retrofit = new Retrofit.Builder() .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/iris/") .addConverterFactory(JacksonConverterFactory.create()) @@ -64,84 +65,28 @@ //-------------------------------------------------------------- // getter - public LiveData> getMembersLiveData() { - return this.membersLiveData; + public LiveData getTurnsLiveData() { + return this.turnsMutableLiveData; } - public LiveData getRoomLiveData() { - return this.roomMutableLiveData; - } - public LiveData getSettingsLiveData() { - return this.settingsMutableLiveData; + public LiveData getTurnLiveData() { + return this.turnMutableLiveData; } //----------------------------------------------------------------------------- // updates @Override public void update() { - updateRoom(rid); - updateSus(nickname, map); - updateStatus(map); - updateOpen(nickname, map); - updateHints(hints, num); + updateTurns(turns); + updateTurn(hint, max, openlist); } - //部屋の情報の更新(RoomJson) - public void updateRoom(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()){ - - //membersLiveData.setValue(response.body()); - //membersPreData = response.body(); - - /* - if(response.body().equals(roomJsonPreData)){ - //値が一緒なら書き換えない - }else{ - //値が異なるときのみライブデータを上書き - membersLiveData.setValue(response.body()); - roomJsonPreData = response.body(); - } - */ - - } - } - @Override - public void onFailure(Call> call, Throwable t) { - } - }); - } - - //候補選択情報の更新 - public void updateSus(String nickname, List map) { + //ターン数の取得(赤か青のターンの判別) + public void updateTurns(Integer turns) { final RoomsRest roomsRest = retrofit.create(RoomsRest.class); } - //マスの開閉状況の更新 - public void updateStatus(List map) { + //hint,openlist,maxの取得 + public void updateTurn(String hint, Integer max, Integer openlist) { final RoomsRest roomsRest = retrofit.create(RoomsRest.class); - } - - //誰がどこを開けたかの情報の更新(ログ用?) - public void updateOpen(String nickname, List map) { - final RoomsRest roomsRest = retrofit.create(RoomsRest.class); - - } - - //ヒントの内容(文、数) - public void updateHints(String hints, Integer num) { - final RoomsRest roomsRest = retrofit.create(RoomsRest.class); - - - - } - - - - } 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 ba4c58b..6f6458f 100644 --- a/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java +++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/RoomViewModel.java @@ -62,7 +62,7 @@ //----------------------------------------------------------------------------- //各Activityでのボタン処理 //チーム&マスター変更 - public void changeTeamAndMaster(String rid,String nickname,String belongs,Boolean isMaster) { + public void changeBelongsAndMaster(String rid,String nickname,String belongs,Boolean isMaster) { final RoomsRest roomsRest = retrofit.create(RoomsRest.class); Call call = roomsRest.putMember(rid,nickname,belongs,isMaster); @@ -70,14 +70,32 @@ @Override public void onResponse(Call call, Response response) { if (response.isSuccessful()){ - //サーバーで返り値変更しておく(String→void) - //return 変更しましたの返り値がどう、とかいうエラー起きる + System.out.println("通信成功:changeBelongsAndMaster"); } } @Override public void onFailure(Call call, Throwable t) { - //System.out.println("通信失敗"); - //System.out.println(t); + System.out.println("通信失敗:changeBelongsAndMaster"); + System.out.println(t); + } + }); + } + + public void startDrawing(String rid,String nickname) { + final RoomsRest roomsRest = retrofit.create(RoomsRest.class); + Call call = roomsRest.putState(rid,nickname,2); + + call.enqueue(new Callback() { + @Override + public void onResponse(Call call, Response response) { + if (response.isSuccessful()){ + System.out.println("通信成功:startDrawing"); + } + } + @Override + public void onFailure(Call call, Throwable t) { + System.out.println("通信失敗:startDrawing"); + System.out.println(t); } }); } diff --git a/app/src/main/res/layout/activity_drawing.xml b/app/src/main/res/layout/activity_drawing.xml index db68bde..55763c7 100644 --- a/app/src/main/res/layout/activity_drawing.xml +++ b/app/src/main/res/layout/activity_drawing.xml @@ -8,50 +8,74 @@