diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4c139bc..e2bb983 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -17,7 +17,8 @@
android:usesCleartextTraffic="true">
+ android:exported="false"
+ android:screenOrientation="landscape"/>
call, Response response) {
if (response.isSuccessful()) {
//ridとnicknameをIrisへ
- /*String rid = response.body().getRid();
+ String rid = response.body().getRid();
((Iris) getApplication()).setRid(rid);
- ((Iris) getApplication()).setNickname(nickname);*/
+ ((Iris) getApplication()).setNickname(nickname);
//次の画面へ遷移
Intent intent = new Intent(CreateRoomActivity.this,OwnerRoomActivity.class);
+ intent.putExtra("nickname", nickname);
startActivity(intent);
}
}
diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java
index c1cf82d..afde09f 100644
--- a/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java
+++ b/app/src/main/java/org/ntlab/irisclient/DrawingActivity.java
@@ -5,6 +5,7 @@
import androidx.lifecycle.ViewModelProvider;
import android.content.Intent;
+import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
@@ -23,7 +24,7 @@
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();
@@ -46,7 +47,7 @@
@Override
public void onChanged(Integer dno) {
//String keyword = keywords.get(dno);
- //textKeyword.setText(keyword);
+ textKeyword.setText(dno);
}
});
@@ -58,6 +59,7 @@
Intent intent = new Intent(DrawingActivity.this, GameMemberActivity.class);
startActivity(intent);
}
+
});
//タイマースタート呼び出し
drawingStateViewModel.start(500);
@@ -66,7 +68,8 @@
@Override
public void onClick(View v){
if(v.getId() == R.id.okButtton) {//okButtonが押されたときの処理
- drawingStateViewModel.putDrawing();
+ Bitmap bitmap = null;
+ drawingStateViewModel.putDrawing(bitmap);
}else if(v.getId() == R.id.clearButton){//clearButtonが押されたときの処理
drawingCanvas.clearCanvas();
}
diff --git a/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java b/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java
index c949eec..6bded86 100644
--- a/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java
+++ b/app/src/main/java/org/ntlab/irisclient/DrawingCardFragment.java
@@ -3,28 +3,39 @@
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.TextView;
+import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
public class DrawingCardFragment extends Fragment {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
+
+ // コンストラクタ
+ public static DrawingCardFragment newInstance(String str){
+ // インスタンス生成
+ DrawingCardFragment fragment = new DrawingCardFragment();
+ return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- return inflater.inflate(R.layout.fragment_card_drawing, null);
+ return inflater.inflate(R.layout.fragment_card_drawing, container, false);
}
@Override
- public void onActivityCreated (Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- }
+ public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
+ super.onViewCreated(view, savedInstanceState);
- @Override
- public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
+ FragmentManager fragmentManager = getChildFragmentManager();
+ FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
+ fragmentTransaction.addToBackStack(null);
+ fragmentTransaction.replace(R.id.container,
+ DrawingCardFragment.newInstance("Fragment"));
+ fragmentTransaction.commit();
+
}
}
diff --git a/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java b/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java
index daab8c1..3b880c5 100644
--- a/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java
+++ b/app/src/main/java/org/ntlab/irisclient/GameMemberActivity.java
@@ -1,6 +1,8 @@
package org.ntlab.irisclient;
import androidx.appcompat.app.AppCompatActivity;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
import android.os.Bundle;
@@ -10,13 +12,17 @@
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_member_game);
- }
- // 16個の画像表示
- // 絵の長押しでポップアップ
- // ポップアップで「はい」「いいえ」のボタン
- // 推測終了ボタンをマスターのみ非表示に
- // ヒントの表示
- //
+ FragmentManager fragmentManager = getSupportFragmentManager();
+ FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
+
+ // BackStackを設定
+ fragmentTransaction.addToBackStack(null);
+
+ // パラメータを設定
+ fragmentTransaction.replace(R.id.container,
+ DrawingCardFragment.newInstance("Fragment"));
+ fragmentTransaction.commit();
+ }
}
diff --git a/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java
index 0cbb641..b9c3a37 100644
--- a/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java
+++ b/app/src/main/java/org/ntlab/irisclient/MemberRoomActivity.java
@@ -26,8 +26,6 @@
import java.util.ArrayList;
import java.util.List;
-import static java.lang.Math.abs;
-
public class MemberRoomActivity extends AppCompatActivity {
diff --git a/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java
index 46d8a8b..4f24299 100644
--- a/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java
+++ b/app/src/main/java/org/ntlab/irisclient/OwnerRoomActivity.java
@@ -5,6 +5,7 @@
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
+import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
@@ -33,15 +34,36 @@
public class OwnerRoomActivity extends AppCompatActivity {
//フィールド
- String r = "部屋ID " + "123456";
+ ArrayList members = new ArrayList<>();
+ String r;// = "部屋ID " + "123456";
+ String nickname;
+ String myName = "null";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_owner_room);
- String nickname = ((Iris) getApplication()).getNickname();
- String rid = ((Iris) getApplication()).getRid();
+ ((Iris) getApplication()).getNickname(); //nickname = "aaa";
+ ((Iris) getApplication()).getRid(); //r ="276393b5-d835-4e4c-a35b-c00996c73a2b";
+
+ //---------------------------------------------------------------------------
+ //メンバーリスト
+ ListView membersList = (ListView) findViewById(R.id.MembersList);
+ BaseAdapter adapter = new MemberListAdapter(this.getApplicationContext(), R.layout.member_list_layout, members);
+ membersList.setAdapter(adapter);
+
+ //自分のなまえ
+ Intent intentMain = getIntent();
+ myName = intentMain.getStringExtra("nickname");
+
+ Member mn = new Member(myName);
+ mn.setBelongs("g");
+ mn.setMaster(false);
+
+ members.add(mn.getNickname());
+
+
//RoomViewModelへのアクセス
RoomViewModel roomViewModel = new ViewModelProvider(this).get(RoomViewModel.class);
@@ -66,12 +88,6 @@
Button startButton = (Button) findViewById(R.id.start);
ImageButton copyButton = (ImageButton) findViewById(R.id.copyButton);
- //---------------------------------------------------------------------------
- //メンバーリスト
- ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, members);
- ListView listView = (ListView)findViewById(R.id.MembersList);
- listView.setAdapter(adapter);
-
redMasterButton.setOnClickListener(new View.OnClickListener() {
@Override
@@ -108,11 +124,6 @@
TextView RoomIdText = findViewById(R.id.roomID);
RoomIdText.setText(r);
- members.add("マスターのBlueさん");
- listView.setBackgroundColor(Color.parseColor("#e83a48"));
- ListView listView = (ListView)findViewById(R.id.MembersList);
- listView.setAdapter(adapter);
-
}
});
@@ -153,13 +164,11 @@
startButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- r = "部屋ID " + "start";
- TextView RoomIdText = findViewById(R.id.roomID);
- RoomIdText.setText(r);
+ roomViewModel.startDrawing(r, nickname);
- members.add("スタートさん");
- ListView listView = (ListView)findViewById(R.id.MembersList);
- listView.setAdapter(adapter);
+ Intent intent = new Intent(OwnerRoomActivity.this,DrawingActivity.class);
+ startActivity(intent);
+
}
});
@@ -192,46 +201,6 @@
TextView RoomIdText = findViewById(R.id.roomID);
RoomIdText.setText(r);
- //スタートボタンをクリックすると、(絵を描く?)次の画面に遷移
- Button nextButton = (Button)findViewById(R.id.start);
- nextButton.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
-/*
- //ニックネームが入力されていない場合エラーメッセージを表示する
- if (text.getText().toString().isEmpty()) {
- text.setError("ニックネームを入力されていません");
-
- //ニックネームが入力されていれば次の画面へ
- } else {
-
- */
- //サーバーとの通信のために呼び出す
- /* Call call = roomRest.makeRooms(nickname);
- call.enqueue(new Callback() {
- //onResponseで成功
- public void onResponse(Call call, Response response) {
- if (response.isSuccessful()) {
- //ridとnicknameをIrisへ
- String rid = response.body().getRid();
- ((Iris) getApplication()).setRid(rid);
- ((Iris) getApplication()).setNickname(nickname);
-
- */
- //次の画面へ遷移
- Intent intent = new Intent(OwnerRoomActivity.this,DrawingActivity.class);
- startActivity(intent);
- }
-
- /* }
- //onFailureで失敗
- public void onFailure(Call call, Throwable t) {
- }
- });
-
- //}
- }
- */
- });
@@ -245,4 +214,4 @@
/*private void addMemberToMemberList(String m){
members.add(m);
}*/
-}
\ No newline at end of file
+ }
\ No newline at end of file
diff --git a/app/src/main/java/org/ntlab/irisclient/entities/GameJson.java b/app/src/main/java/org/ntlab/irisclient/entities/GameJson.java
new file mode 100644
index 0000000..17f9c3d
--- /dev/null
+++ b/app/src/main/java/org/ntlab/irisclient/entities/GameJson.java
@@ -0,0 +1,5 @@
+package org.ntlab.irisclient.entities;
+
+public class GameJson {
+
+}
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 d96fc70..233b323 100644
--- a/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java
+++ b/app/src/main/java/org/ntlab/irisclient/entities/TurnJson.java
@@ -1,5 +1,7 @@
package org.ntlab.irisclient.entities;
+import org.ntlab.irisclient.models.Cell;
+
import java.util.ArrayList;
import java.util.List;
@@ -8,7 +10,7 @@
private String hint;
private String team;
private int max;
- //private List openlist = new ArrayList<>();
+ private List openlist = new ArrayList<>();
//コンストラクタ
public TurnJson() {
@@ -29,7 +31,7 @@
return max;
}
- //public List getOpenListAll() {return openlist;} //リストそのものを返す。
+ public List getOpenListAll() {return openlist;} //リストそのものを返す。
//---------------------------------------------------------
//セッター
@@ -48,13 +50,13 @@
//---------------------------------------------------------
//openlist操作
-/*
- public Cell getOpenListSolo(int num){return openlist.get(num);}
- public void addOpenList(Cell card){openlist.add(card);}
+ public Integer getOpenListSolo(int num){return openlist.get(num);}
+
+ public void addOpenList(Integer cno){openlist.add(cno);}
public void delieteOpenList(int num){openlist.remove(num);}
public int sizeOpenList(){return openlist.size();}
-*/
+
}
diff --git a/app/src/main/java/org/ntlab/irisclient/models/Cell.java b/app/src/main/java/org/ntlab/irisclient/models/Cell.java
new file mode 100644
index 0000000..418d6af
--- /dev/null
+++ b/app/src/main/java/org/ntlab/irisclient/models/Cell.java
@@ -0,0 +1,34 @@
+package org.ntlab.irisclient.models;
+
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class Cell {
+
+ private boolean isOpen;
+
+ public String color;
+
+ public int dno;
+
+ public int cno;
+
+ //setter
+ public void setIsOpen(boolean isOpen) {this.isOpen = isOpen;}
+
+ public void setColor(String color) {this.color = color;}
+
+ public void setDno(int dno) {this.dno = dno;}
+
+ public void setCno(int cno) {this.cno = cno;}
+
+ //getter
+ public boolean getIsOpen() {return this.isOpen;}
+
+ public String getColor() {return this.color;}
+
+ public int getDno() {return this.dno;}
+
+ public int getCno() {return this.cno;}
+
+}
diff --git a/app/src/main/java/org/ntlab/irisclient/models/Game.java b/app/src/main/java/org/ntlab/irisclient/models/Game.java
new file mode 100644
index 0000000..99c4f35
--- /dev/null
+++ b/app/src/main/java/org/ntlab/irisclient/models/Game.java
@@ -0,0 +1,16 @@
+package org.ntlab.irisclient.models;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class Game {
+
+ private Map drawingList = new HashMap<>();//
+ private Map keywordList = new HashMap<>();//
+ private Map cellList = new HashMap<>();//
+ private List map = new ArrayList<>();//cno順にdnoを管理
+ private List color = new ArrayList<>();//cno順にr,g,b,dを管理
+
+}
diff --git a/app/src/main/java/org/ntlab/irisclient/models/GameState.java b/app/src/main/java/org/ntlab/irisclient/models/GameState.java
deleted file mode 100644
index 41dc5ea..0000000
--- a/app/src/main/java/org/ntlab/irisclient/models/GameState.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package org.ntlab.irisclient.models;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class GameState {
-
- private Map drawingList = new HashMap<>();
- private Map keywordList = new HashMap<>();
-
-}
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 c29d8a2..0d5213b 100644
--- a/app/src/main/java/org/ntlab/irisclient/resources/GameRest.java
+++ b/app/src/main/java/org/ntlab/irisclient/resources/GameRest.java
@@ -1,6 +1,9 @@
package org.ntlab.irisclient.resources;
+import com.squareup.moshi.Json;
+
import org.ntlab.irisclient.entities.RoomJson;
+import org.ntlab.irisclient.entities.TurnJson;
import java.util.List;
@@ -9,10 +12,18 @@
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.POST;
+import retrofit2.http.PUT;
import retrofit2.http.Path;
public interface GameRest {
+ //--------------------------------------
+ // 今回のゲームで使われる16個のお題をdno順のリストで取得するメソッド
+ @GET("/{rid}/game/keywords")
+ Call getkeywords(
+ @Path("rid") String rid
+ );
+
//-----------------------------------------------
// カード(絵)の並び順のMapを取得するメソッド
@GET("/{rid}/game/map")
@@ -28,18 +39,75 @@
);
//-----------------------------------------------
+ // 現在のターンがどちらのチームであるかを取得するメソッド
+ @GET("/{rid}/game/turn")
+ Call getTeam(
+ @Path("rid") String rid
+ );
+
+ //-----------------------------------------------
+ // 現在までのターン数を取得するメソッド
+ @GET("/{rid}/game/turns")
+ Call getTurnNumber(
+ @Path("rid") String rid
+ );
+
+ //-----------------------------------------------
+ // hint,openlist,maxを取得するメソッド
+ @GET("/{rid}/game/turns/{tno}")
+ Call getTurns(
+ @Path("rid") String rid,
+ @Path("tno") Integer tno
+ );
+
+ /*
+
+ //-----------------------------------------------
+ // tnoに指定したターンに開けたカードのcnoを取得するメソッド
+ @GET("/{rid}/game/turns/{tno}/openlist")
+ Call> getOpenList(
+ @Path("rid") String rid,
+ @Path("tno") Integer tno
+ );
+
+ */
+
+ //-----------------------------------------------
+ // 現在のターンで開くカードのcnoを送信するメソッド
+ @PUT("/{rid}/game/turns/{tno}/openlist")
+ Call setOpenList(
+ @Path("rid") String rid,
+ @Path("tno") Integer tno,
+ @Field("cno") Integer cno
+ );
+
+ //-----------------------------------------------
+ // マスターのヒントを送信するメソッド
+ @PUT("/{rid}/game/turns/{tno}/hint")
+ Call putHint(
+ @Path("rid") String rid,
+ @Path("tno") Integer tno,
+ @Field("hint") String hint
+ );
+
+ //-----------------------------------------------
+ // マスターのヒント(数字)を送信するメソッド
+ @PUT("/{rid}/game/turns/{tno}/max")
+ Call putMax(
+ @Path("rid") String rid,
+ @Path("tno") Integer tno,
+ @Field("max") Integer max
+ );
+
+
+ //-----------------------------------------------
// 現在開いているすべてのカードを取得するメソッド
@GET("/{rid}/game/opens")
Call> getOpens(
@Path("rid") String rid
);
- //-----------------------------------------------
- // 現在のターンがどちらのチームであるかを取得するメソッド
- @GET("/{rid}/game/turn")
- Call getTeam(
- @Path("rid") String rid
- );
+
}
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 64d51ea..fede34e 100644
--- a/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java
+++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/DrawingStateViewModel.java
@@ -25,9 +25,12 @@
final private MutableLiveData stateMutableLiveData=new MutableLiveData<>();
final private MutableLiveData dnoMutableLiveData=new MutableLiveData<>();
+ final private MutableLiveData drawingMutableLiveData = new MutableLiveData<>();
+
final private Retrofit retrofit;
private Integer drawingStatePreData;
private Integer dnoPreData;
+ private String drawingPreData;
private String rid;
private String nickName;
@@ -70,6 +73,7 @@
}
});
}
+
public void updateDno(String rid, String nickname) {
final DrawingRest drawingRest = retrofit.create(DrawingRest.class);
@@ -97,7 +101,7 @@
}
public List getKeywords(String rid){
- return null;
+ return null;
}
public LiveData getDno(){
return this.dnoMutableLiveData;
@@ -118,13 +122,29 @@
updateState(rid);
updateDno(rid, nickName);
}
- public String putDrawing(/*Bitmap image*/){
-// ByteArrayOutputStream stream = new ByteArrayOutputStream();
-// image.compress(Bitmap.CompressFormat.PNG, 100, stream);
-// byte[] byteArray = stream.toByteArray();
- String string = "sample";
- Base64.Encoder encoder = Base64.getEncoder();
- String encoded = encoder.encodeToString(string.getBytes());
- return encoded;
+
+ public void putDrawing(Bitmap image) {
+ //ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ //image.compress(Bitmap.CompressFormat.PNG, 100, stream);
+ //byte[] byteArray = stream.toByteArray();
+ //String string = "sample";
+ //Base64.Encoder encoder = Base64.getEncoder();
+ //String encoded = encoder.encodeToString(string.getBytes());
+ //System.out.println(encoded);
+
+ final DrawingRest drawingRest = retrofit.create(DrawingRest.class);
+ int dno = dnoMutableLiveData.getValue();
+ Call call = drawingRest.putDrawing(rid, dno, "iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAMAAAD0WI85AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3VpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDc5LjE2NDM1MiwgMjAyMC8wMS8zMC0xNTo1MDozOCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiODViMDYzZC0yY2ZiLTRlMDUtYTA3YS04NTEzNDlkMDY5OTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkVDQTI3N0E3OTc4MTFFQUEyRkFCRDY5Q0FERDFGNzYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkVDQTI3Nzk3OTc4MTFFQUEyRkFCRDY5Q0FERDFGNzYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NDQyNWVjOC04NzBjLTQzZTMtYmQ2MS1hMzI2MjJiNzlhNzgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Yjg1YjA2M2QtMmNmYi00ZTA1LWEwN2EtODUxMzQ5ZDA2OTkzIi8+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" );
+
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()){
+ }
+ }
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ }
+ });
}
}
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 b771cc7..ac7e9df 100644
--- a/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java
+++ b/app/src/main/java/org/ntlab/irisclient/viewmodels/GameViewModel.java
@@ -4,6 +4,7 @@
import org.ntlab.irisclient.entities.TurnJson;
import org.ntlab.irisclient.models.Member;
import org.ntlab.irisclient.models.Settings;
+import org.ntlab.irisclient.resources.GameRest;
import org.ntlab.irisclient.resources.RoomsRest;
import androidx.lifecycle.LiveData;
@@ -25,26 +26,20 @@
//フィールド
private String rid;
- private Integer turns;
+ private Integer tno;
+ private String team;
private String hint;
private Integer max;
private Integer openlist;
- final private MutableLiveData turnsMutableLiveData;
+
+ final private MutableLiveData turnsMutableLiveData;
final private MutableLiveData turnMutableLiveData;
+ //final private MutableLiveData GameState game;
final private Retrofit retrofit;
-
-
-
-
-
-
-
-
-
//更新比較用フィールド
- private Settings settingsPreData;
- private RoomJson roomJsonPreData;
+ private String turnsPreData;
+ private TurnJson turnPreData;
//------------------------------------------------------------------
//コンストラクタ
@@ -63,30 +58,91 @@
this.rid = rid;
}
+ public void putHint(String hint) {
+ this.hint = hint;
+ }
+
+ public void putTeam(String team) {
+ this.team = team;
+ }
+
+ public void putMax(Integer max) {
+ this.max = max;
+ }
+
//--------------------------------------------------------------
// getter
- public LiveData getTurnsLiveData() {
+ public LiveData getTurnsLiveData() {
return this.turnsMutableLiveData;
}
public LiveData getTurnLiveData() {
return this.turnMutableLiveData;
}
+ public Integer getTurnNumber(Integer rid) {
+ return tno;
+ }
+
+ //ターン数の取得(赤か青のターンの判別)
+ public void updateTurns() {
+ final GameRest gameRest = retrofit.create(GameRest.class);
+ Call call = gameRest.getTeam(team);
+
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()){
+
+ if(response.body().equals(turnsPreData)){
+ //値が一緒なら書き換えない
+ }else{
+ //値が異なるときのみライブデータを上書き
+ turnsMutableLiveData.setValue(response.body());
+ turnsPreData = response.body();
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ }
+ });
+ }
+
+ //hint,openlist,maxの取得
+ public void updateTurn() {
+ final GameRest gameRest = retrofit.create(GameRest.class);
+ Call call = gameRest.getTurns(rid, tno);
+
+ call.enqueue(new Callback() {
+ @Override
+ public void onResponse(Call call, Response response) {
+ if (response.isSuccessful()){
+
+ if(response.body().equals(turnPreData)){
+ //値が一緒なら書き換えない
+ }else{
+ //値が異なるときのみライブデータを上書き
+ turnMutableLiveData.setValue(response.body());
+ turnPreData = response.body();
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(Call call, Throwable t) {
+ }
+ });
+ }
+
+
+
//-----------------------------------------------------------------------------
// updates
@Override
public void update() {
- updateTurns(turns);
- updateTurn(hint, max, openlist);
+ updateTurns();
+ updateTurn();
}
- //ターン数の取得(赤か青のターンの判別)
- public void updateTurns(Integer turns) {
- final RoomsRest roomsRest = retrofit.create(RoomsRest.class);
- }
-
- //hint,openlist,maxの取得
- public void updateTurn(String hint, Integer max, Integer openlist) {
- final RoomsRest roomsRest = retrofit.create(RoomsRest.class);
- }
}
diff --git a/app/src/main/res/layout/activity_member_game.xml b/app/src/main/res/layout/activity_member_game.xml
index 5bfe024..49cc2f8 100644
--- a/app/src/main/res/layout/activity_member_game.xml
+++ b/app/src/main/res/layout/activity_member_game.xml
@@ -15,40 +15,6 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/timeTextView" />
-
-
-
-
-
-
-
-
-
+ app:layout_constraintVertical_bias="0.582" />
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_card_drawing.xml b/app/src/main/res/layout/fragment_card_drawing.xml
index 5bf7444..6a84dcf 100644
--- a/app/src/main/res/layout/fragment_card_drawing.xml
+++ b/app/src/main/res/layout/fragment_card_drawing.xml
@@ -1,5 +1,6 @@
-
+ android:srcCompat="@tools:sample/avatars" />
+ tools:srcCompat="@tools:sample/backgrounds/scenic" />
| |