diff --git a/.idea/misc.xml b/.idea/misc.xml index 840b3f6..7299e9f 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -10,6 +10,7 @@ + diff --git a/app/src/main/java/org/ntlab/irisclient/GameMasterActivity.java b/app/src/main/java/org/ntlab/irisclient/GameMasterActivity.java index 9461d79..96a6da2 100644 --- a/app/src/main/java/org/ntlab/irisclient/GameMasterActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/GameMasterActivity.java @@ -79,9 +79,6 @@ //画面に反映 EditText Hint = findViewById(R.id.GameHint); Hint.setText(hint); - - //操作できるかを判断する。 - isActive = CheckActivity(); } }); @@ -93,10 +90,6 @@ //画面に反映 EditText HintMax = findViewById(R.id.GameHintMax); HintMax.setText(hintMax); - - //操作できるかを判断する。 - isActive = CheckActivity(); - } }); @@ -105,7 +98,7 @@ @Override public void onChanged(String new_currentTeam) { - //画面に反映 + //チームの情報を更新 currentTeam = new_currentTeam; //操作できるかを判断する。 @@ -113,6 +106,21 @@ } }); + /* //「ヒント入力」か「カード選択」かを監視 + gameViewModel.getTurnStateLiveData().observe(this, new Observer() { + @Override + public void onChanged(Integer new_turnState) { + + //チームの情報を更新 + turnState = new_turnState; + + //操作できるかを判断する。 + isActive = CheckActivity(); + } + });*/ + + + } private void buttonProcesses(){ @@ -161,6 +169,14 @@ isActive = true; } + //非アクティブであればヒントの入力を禁止する + if(isActive == false){ + EditText Hint = findViewById(R.id.GameHint); + EditText HintMax = findViewById(R.id.GameHintMax); + Hint.setFocusable(false); + HintMax.setFocusable(false); + } + return isActive; } diff --git a/app/src/main/java/org/ntlab/irisclient/GamePlayerListFragment.java b/app/src/main/java/org/ntlab/irisclient/GamePlayerListFragment.java index 3ceea5a..f620fad 100644 --- a/app/src/main/java/org/ntlab/irisclient/GamePlayerListFragment.java +++ b/app/src/main/java/org/ntlab/irisclient/GamePlayerListFragment.java @@ -42,8 +42,12 @@ Member test3 = new Member("test3"); test2.setBelongs("r"); test3.setBelongs("b"); - players.add(test2); - players.add(test3); + if(players.contains(test2) == false){ + players.add(test2); + } + if(players.contains(test3) == false){ + players.add(test3); + } //memberのリストから名前(string)だけを抽出 ArrayList viewPlayers = new ArrayList<>(); @@ -60,9 +64,6 @@ // BaseAdapter adapter = new MemberListAdapter(this.getActivity().getApplicationContext(), R.layout.fragment_game_player_list, viewPlayers, players); playersList.setAdapter(adapter); - //なぜか他のGamePlayerListFragmentにplayerの内容が引き継がれてしまうので、ここで初期化する。 - players.clear(); - return view; } diff --git a/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java index fc4b9dc..baf2f42 100644 --- a/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java @@ -150,6 +150,13 @@ Switch dTimer = findViewById(R.id.dTimer); @SuppressLint("UseSwitchCompatOrMaterialCode") Switch gTimer = findViewById(R.id.gTimer); + Switch switch4 = findViewById(R.id.switch4); + Switch switch5 = findViewById(R.id.switch5); + Switch switch6 = findViewById(R.id.switch6); + Switch switch7 = findViewById(R.id.switch7); + Switch switch8 = findViewById(R.id.switch8); + Switch switch9 = findViewById(R.id.switch9); + //OwnerRoom専用ボタン Button randomButton = (Button) findViewById(R.id.random); @@ -213,21 +220,87 @@ dTimer.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - drawingTimer = isChecked; + if(drawingTimer == false){ + switch4.setVisibility(View.GONE); + switch5.setVisibility(View.GONE); + switch6.setVisibility(View.GONE); + }else { + switch4.setVisibility(View.VISIBLE); + switch5.setVisibility(View.VISIBLE); + switch6.setVisibility(View.VISIBLE); + } + roomViewModel.changeSettings(roomId, drawingTimer, drawingTimes, gameTimer, gameTimes, gameFirstTimes); } }); + switch4.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + switch5.setChecked(false); + switch6.setChecked(false); + } + }); + + switch5.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + switch4.setChecked(false); + switch6.setChecked(false); + } + }); + + switch6.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + switch4.setChecked(false); + switch5.setChecked(false); + } + }); + + gTimer.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - gameTimer = isChecked; + if(gameTimer == false){ + switch7.setVisibility(View.GONE); + switch8.setVisibility(View.GONE); + switch9.setVisibility(View.GONE); + }else { + switch7.setVisibility(View.VISIBLE); + switch8.setVisibility(View.VISIBLE); + switch9.setVisibility(View.VISIBLE); + } roomViewModel.changeSettings(roomId, drawingTimer, drawingTimes, gameTimer, gameTimes, gameFirstTimes); } }); + switch7.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + switch8.setChecked(false); + switch9.setChecked(false); + } + }); + + switch8.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + switch7.setChecked(false); + switch9.setChecked(false); + } + }); + + switch9.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + switch7.setChecked(false); + switch8.setChecked(false); + } + }); + //ランダムボタン randomButton.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/org/ntlab/irisclient/TestDrawingActivity.java b/app/src/main/java/org/ntlab/irisclient/TestDrawingActivity.java index d66f0aa..f73e19d 100644 --- a/app/src/main/java/org/ntlab/irisclient/TestDrawingActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/TestDrawingActivity.java @@ -59,7 +59,7 @@ } @Override public void onFailure(Call> call, Throwable t) { - System.out.println("通信失敗:createDrawTest"); + System.out.println("通信失敗"); System.out.println(t); } }); @@ -87,7 +87,7 @@ } @Override public void onFailure(Call> call, Throwable t) { - System.out.println("通信失敗:createDrawTest"); + System.out.println("通信失敗"); System.out.println(t); } }); diff --git a/app/src/main/java/org/ntlab/irisclient/TestGameActivity.java b/app/src/main/java/org/ntlab/irisclient/TestGameActivity.java index 16df8be..34a11d4 100644 --- a/app/src/main/java/org/ntlab/irisclient/TestGameActivity.java +++ b/app/src/main/java/org/ntlab/irisclient/TestGameActivity.java @@ -31,7 +31,7 @@ .baseUrl("http://nitta-lab-www.is.konan-u.ac.jp/iris/") .addConverterFactory(JacksonConverterFactory.create()) .build(); - final RoomsRest roomRests = retrofit.create(RoomsRest.class); + final RoomsRest roomsRest = retrofit.create(RoomsRest.class); //上の表示を削除 ActionBar actionBar = getSupportActionBar(); @@ -47,18 +47,18 @@ ((Iris) getApplication()).setNickname("RedSpy(owner)"); ((Iris) getApplication()).setTeam("r"); ((Iris) getApplication()).setMaster(true); - Call> call = roomRests.getRoomMember("gametest"); + Call> call = roomsRest.getRoomMember("gametest"); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { if (response.isSuccessful()){ - System.out.println("通信成功:createDrawTest"); + System.out.println("通信成功"); ((Iris) getApplication()).setMemberList(response.body()); } } @Override public void onFailure(Call> call, Throwable t) { - System.out.println("通信失敗:createDrawTest"); + System.out.println("通信失敗"); System.out.println(t); } }); @@ -76,7 +76,7 @@ ((Iris) getApplication()).setNickname("RedAgent"); ((Iris) getApplication()).setTeam("r"); ((Iris) getApplication()).setMaster(false); - Call> call = roomRests.getRoomMember("gametest"); + Call> call = roomsRest.getRoomMember("gametest"); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { @@ -105,7 +105,7 @@ ((Iris) getApplication()).setNickname("BlueSpy"); ((Iris) getApplication()).setTeam("b"); ((Iris) getApplication()).setMaster(true); - Call> call = roomRests.getRoomMember("gametest"); + Call> call = roomsRest.getRoomMember("gametest"); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { @@ -134,7 +134,7 @@ ((Iris) getApplication()).setNickname("BlueAgent"); ((Iris) getApplication()).setTeam("b"); ((Iris) getApplication()).setMaster(false); - Call> call = roomRests.getRoomMember("gametest"); + Call> call = roomsRest.getRoomMember("gametest"); call.enqueue(new Callback>() { @Override public void onResponse(Call> call, Response> response) { diff --git a/app/src/main/java/org/ntlab/irisclient/resources/GameRest.java b/app/src/main/java/org/ntlab/irisclient/resources/GameRest.java index 496f92e..9d99469 100644 --- a/app/src/main/java/org/ntlab/irisclient/resources/GameRest.java +++ b/app/src/main/java/org/ntlab/irisclient/resources/GameRest.java @@ -97,7 +97,19 @@ @Path("tno") Integer tno ); + //----------------------------------------------- + @GET("rooms/{rid}/game/turns/{tno}/turnstate") + Call getTurnstate( + @Path("rid") String rid, + @Path("tno") Integer tno + ); + //----------------------------------------------- + @GET("rooms/{rid}/game/turns/{tno}/Endstate") + Call getEndstate( + @Path("rid") String rid, + @Path("tno") Integer tno + ); //----------------------------------------------- // tnoに指定したターンに開けたカードのcnoを取得するメソッド @@ -107,8 +119,6 @@ @Path("tno") Integer tno ); - - //----------------------------------------------- // 現在のターンで開くカードのcnoを送信するメソッド @PUT("rooms/{rid}/game/turns/{tno}/openlist") 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 69345f4..0ed9046 100644 --- a/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java +++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java @@ -457,12 +457,14 @@ //初回代入 turnNumberMutableLiveData.setValue(response.body()); turnNumberPreData = response.body(); + tno = turnNumberPreData; }else if(response.body().equals(turnNumberPreData)){ //値が一緒なら書き換えない }else{ //値が異なるときのみライブデータを上書き turnNumberMutableLiveData.setValue(response.body()); turnNumberPreData = response.body(); + tno = turnNumberPreData; } } } diff --git a/app/src/main/res/layout/activity_owner_room.xml b/app/src/main/res/layout/activity_owner_room.xml index 9706b38..ed80f3b 100644 --- a/app/src/main/res/layout/activity_owner_room.xml +++ b/app/src/main/res/layout/activity_owner_room.xml @@ -11,10 +11,11 @@ android:id="@+id/switch7" android:layout_width="73dp" android:layout_height="25dp" - android:layout_marginStart="20dp" android:text="60s" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintStart_toEndOf="@+id/beBlueMaster" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.762" + app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.697" /> @@ -25,8 +26,8 @@ android:text="90s" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="0.011" - app:layout_constraintStart_toEndOf="@+id/switch4" + app:layout_constraintHorizontal_bias="0.871" + app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.697" /> @@ -37,8 +38,8 @@ android:text="120s" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintHorizontal_bias="0.066" - app:layout_constraintStart_toEndOf="@+id/switch5" + app:layout_constraintHorizontal_bias="0.989" + app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.697" /> @@ -223,10 +224,11 @@ android:id="@+id/switch4" android:layout_width="73dp" android:layout_height="25dp" - android:layout_marginStart="20dp" android:text="20s" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintStart_toEndOf="@+id/beRedSpy" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.759" + app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.45" />