diff --git a/app/src/main/java/com/example/sprout/Sprout.java b/app/src/main/java/com/example/sprout/Sprout.java index d3f028c..48089d4 100644 --- a/app/src/main/java/com/example/sprout/Sprout.java +++ b/app/src/main/java/com/example/sprout/Sprout.java @@ -12,10 +12,6 @@ import com.example.sprout.battles.BattlesConnection; import com.example.sprout.battles.Team; import com.example.sprout.battles.UpdateActor; -import com.example.sprout.refactor.Constant; -import com.example.sprout.refactor.api.SproutService; -import com.example.sprout.refactor.repository.RegistrationRepository; -import com.example.sprout.refactor.repository.RoomRepository; import com.example.sprout.rooms.RoomsConnection; import java.util.HashMap; @@ -28,10 +24,6 @@ import framework.model3D.Position3D; import framework.model3D.Universe; import java3d.Vector3d; -import okhttp3.OkHttpClient; -import okhttp3.logging.HttpLoggingInterceptor; -import retrofit2.Retrofit; -import retrofit2.converter.gson.GsonConverterFactory; /** * Sprout APplication class @@ -41,10 +33,6 @@ public class Sprout extends Application { private static Sprout instance = null; - private OkHttpClient okHttpClient = null; - private SproutService sproutService = null; - private RegistrationRepository registrationRepository = null; - private RoomRepository roomRepository = null; @Override public void onCreate() { @@ -56,46 +44,6 @@ return instance; } - public OkHttpClient getOkHttpClient() { - if (okHttpClient == null) { - if (Constant.DEVELOP) { - HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); - interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); - okHttpClient = new OkHttpClient.Builder().addInterceptor(interceptor).build(); - } else { - okHttpClient = new OkHttpClient.Builder().build(); - } - } - return okHttpClient; - } - - public SproutService getSproutService() { - if (sproutService == null) { - sproutService = new Retrofit - .Builder() - .baseUrl("http://nitta-lab-www2.is.konan-u.ac.jp:8080/SproutServer/") - .client(getOkHttpClient()) - .addConverterFactory(GsonConverterFactory.create()) - .build() - .create(SproutService.class); - } - return sproutService; - } - - public RegistrationRepository getRegistrationRepository() { - if (registrationRepository == null) { - registrationRepository = new RegistrationRepository(getSproutService()); - } - return registrationRepository; - } - - public RoomRepository getRoomRepository() { - if (roomRepository == null) { - roomRepository = new RoomRepository(getSproutService()); - } - return roomRepository; - } - private RoomsConnection roomsConnection = null; private BattlesConnection battlesConnection = null; private AccountsConnection accountsConnection = null; diff --git a/app/src/main/java/com/example/sprout/refactor/activity/RegistrationActivity.java b/app/src/main/java/com/example/sprout/refactor/activity/RegistrationActivity.java index 5fe6f52..5a3fbc4 100644 --- a/app/src/main/java/com/example/sprout/refactor/activity/RegistrationActivity.java +++ b/app/src/main/java/com/example/sprout/refactor/activity/RegistrationActivity.java @@ -7,7 +7,6 @@ import android.widget.Toast; import com.example.sprout.R; -import com.example.sprout.Sprout; import com.example.sprout.databinding.RfActivityRegistrationBinding; import com.example.sprout.refactor.common.ActivityEvent; import com.example.sprout.refactor.contract.ViewContract; @@ -27,7 +26,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = DataBindingUtil.setContentView(this, R.layout.rf_activity_registration); - registrationViewModel = new RegistrationViewModel(Sprout.get().getRegistrationRepository(), (ViewContract) this); + registrationViewModel = new RegistrationViewModel((ViewContract) this); binding.setViewModel(registrationViewModel); getLifecycle().addObserver(registrationViewModel); } diff --git a/app/src/main/java/com/example/sprout/refactor/activity/RoomCreateActivity.java b/app/src/main/java/com/example/sprout/refactor/activity/RoomCreateActivity.java index 5f0f2bf..4d853aa 100644 --- a/app/src/main/java/com/example/sprout/refactor/activity/RoomCreateActivity.java +++ b/app/src/main/java/com/example/sprout/refactor/activity/RoomCreateActivity.java @@ -7,7 +7,6 @@ import android.widget.Toast; import com.example.sprout.R; -import com.example.sprout.Sprout; import com.example.sprout.databinding.RfActivityRoomCreateBinding; import com.example.sprout.refactor.common.ActivityEvent; import com.example.sprout.refactor.contract.ViewContract; @@ -24,7 +23,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); RfActivityRoomCreateBinding binding = DataBindingUtil.setContentView(this, R.layout.rf_activity_room_create); - RoomCreateViewModel roomCreateViewModel = new RoomCreateViewModel(Sprout.get().getRoomRepository(), (ViewContract) this); + RoomCreateViewModel roomCreateViewModel = new RoomCreateViewModel((ViewContract) this); binding.setViewModel(roomCreateViewModel); getLifecycle().addObserver(roomCreateViewModel); } diff --git a/app/src/main/java/com/example/sprout/refactor/activity/RoomInputKeyActivity.java b/app/src/main/java/com/example/sprout/refactor/activity/RoomInputKeyActivity.java index 2e14d5f..115f5a1 100644 --- a/app/src/main/java/com/example/sprout/refactor/activity/RoomInputKeyActivity.java +++ b/app/src/main/java/com/example/sprout/refactor/activity/RoomInputKeyActivity.java @@ -7,7 +7,6 @@ import android.widget.Toast; import com.example.sprout.R; -import com.example.sprout.Sprout; import com.example.sprout.databinding.RfActivityRoomInputKeyBinding; import com.example.sprout.refactor.common.ActivityEvent; import com.example.sprout.refactor.contract.ViewContract; @@ -27,7 +26,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = DataBindingUtil.setContentView(this, R.layout.rf_activity_room_input_key); - roomInputKeyViewModel = new RoomInputKeyViewModel(Sprout.get().getRoomRepository(), (ViewContract) this); + roomInputKeyViewModel = new RoomInputKeyViewModel((ViewContract) this); binding.setViewModel(roomInputKeyViewModel); getLifecycle().addObserver(roomInputKeyViewModel); } diff --git a/app/src/main/java/com/example/sprout/refactor/activity/RoomListActivity.java b/app/src/main/java/com/example/sprout/refactor/activity/RoomListActivity.java index c60d73a..00c00eb 100644 --- a/app/src/main/java/com/example/sprout/refactor/activity/RoomListActivity.java +++ b/app/src/main/java/com/example/sprout/refactor/activity/RoomListActivity.java @@ -7,7 +7,6 @@ import android.widget.Toast; import com.example.sprout.R; -import com.example.sprout.Sprout; import com.example.sprout.databinding.RfActivityRoomListBinding; import com.example.sprout.refactor.adapter.RoomListAdapter; import com.example.sprout.refactor.common.ActivityEvent; @@ -25,7 +24,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); RfActivityRoomListBinding binding = DataBindingUtil.setContentView(this, R.layout.rf_activity_room_list); - RoomListViewModel roomMainViewModel = new RoomListViewModel(Sprout.get().getRoomRepository(), new RoomListAdapter(this), (ViewContract) this); + RoomListViewModel roomMainViewModel = new RoomListViewModel(new RoomListAdapter(this), (ViewContract) this); binding.setViewModel(roomMainViewModel); getLifecycle().addObserver(roomMainViewModel); } diff --git a/app/src/main/java/com/example/sprout/refactor/activity/RoomMainActivity.java b/app/src/main/java/com/example/sprout/refactor/activity/RoomMainActivity.java index 8fbdd28..2eecb99 100644 --- a/app/src/main/java/com/example/sprout/refactor/activity/RoomMainActivity.java +++ b/app/src/main/java/com/example/sprout/refactor/activity/RoomMainActivity.java @@ -5,7 +5,6 @@ import android.widget.Toast; import com.example.sprout.R; -import com.example.sprout.Sprout; import com.example.sprout.databinding.RfActivityRoomMainBinding; import com.example.sprout.refactor.Constant; import com.example.sprout.refactor.adapter.RoomMainAdapter; @@ -23,7 +22,7 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); RfActivityRoomMainBinding binding = DataBindingUtil.setContentView(this, R.layout.rf_activity_room_main); - roomMainViewModel = new RoomMainViewModel(Sprout.get().getRoomRepository(), new RoomMainAdapter(this), (ViewContract) this); + roomMainViewModel = new RoomMainViewModel(new RoomMainAdapter(this), (ViewContract) this); binding.setViewModel(roomMainViewModel); getLifecycle().addObserver(roomMainViewModel); } diff --git a/app/src/main/java/com/example/sprout/refactor/adapter/RoomListAdapter.java b/app/src/main/java/com/example/sprout/refactor/adapter/RoomListAdapter.java index 2a7dac7..06c4a9a 100644 --- a/app/src/main/java/com/example/sprout/refactor/adapter/RoomListAdapter.java +++ b/app/src/main/java/com/example/sprout/refactor/adapter/RoomListAdapter.java @@ -8,7 +8,7 @@ import com.example.sprout.R; import com.example.sprout.databinding.RfItemRoomListBinding; -import com.example.sprout.refactor.vo.Room; +import com.example.sprout.refactor.model.vo.Room; import java.util.ArrayList; diff --git a/app/src/main/java/com/example/sprout/refactor/adapter/RoomMainAdapter.java b/app/src/main/java/com/example/sprout/refactor/adapter/RoomMainAdapter.java index b20b5a7..68440b4 100644 --- a/app/src/main/java/com/example/sprout/refactor/adapter/RoomMainAdapter.java +++ b/app/src/main/java/com/example/sprout/refactor/adapter/RoomMainAdapter.java @@ -12,7 +12,7 @@ import com.example.sprout.R; import com.example.sprout.databinding.RfItemRoomMainBinding; -import com.example.sprout.refactor.vo.Member; +import com.example.sprout.refactor.model.vo.Member; import java.util.ArrayList; diff --git a/app/src/main/java/com/example/sprout/refactor/api/RegistrationService.java b/app/src/main/java/com/example/sprout/refactor/api/RegistrationService.java new file mode 100644 index 0000000..421975c --- /dev/null +++ b/app/src/main/java/com/example/sprout/refactor/api/RegistrationService.java @@ -0,0 +1,20 @@ +package com.example.sprout.refactor.api; + +import com.example.sprout.refactor.model.vo.Account; + +import retrofit2.Call; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.POST; + +/** + * アカウント登録のapi一覧 + * + * @author matsumoto_k + */ +public interface RegistrationService { + + @FormUrlEncoded + @POST("accounts") + Call registration(@Field("userName") String userName); +} diff --git a/app/src/main/java/com/example/sprout/refactor/api/RoomService.java b/app/src/main/java/com/example/sprout/refactor/api/RoomService.java new file mode 100644 index 0000000..5d120ad --- /dev/null +++ b/app/src/main/java/com/example/sprout/refactor/api/RoomService.java @@ -0,0 +1,48 @@ +package com.example.sprout.refactor.api; + +import com.example.sprout.refactor.model.vo.Room; +import com.example.sprout.refactor.model.vo.RoomResponse; +import com.example.sprout.refactor.model.vo.Rooms; + +import retrofit2.Call; +import retrofit2.http.Field; +import retrofit2.http.FormUrlEncoded; +import retrofit2.http.GET; +import retrofit2.http.HTTP; +import retrofit2.http.POST; +import retrofit2.http.PUT; +import retrofit2.http.Path; + +/** + * Roomのapi一覧 + * + * @author matsumoto_k + */ +public interface RoomService { + + @GET("rooms") + Call getRooms(); + + @FormUrlEncoded + @PUT("rooms/{roomId}") + Call enterRoom(@Path("roomId") int roomId, @Field("userId") int userId); + + @FormUrlEncoded + @PUT("rooms/{roomId}") + Call enterRoomWithKey(@Path("roomId") int roomId, @Field("userId") int userId, @Field("key") String key); + + @FormUrlEncoded + @POST("rooms") + Call createRoom(@Field("userId") int userId, @Field("roomName") String roomName, @Field("key") String key); + + @GET("rooms/{roomId}") + Call getRoom(@Path("roomId") int roomId); + + @FormUrlEncoded + @PUT("rooms/{roomId}/{memberId}") + Call updateRoomState(@Path("roomId") int roomId, @Path("memberId") int memberId, @Field("role") int role); + + @FormUrlEncoded + @HTTP(method = "DELETE", path = "rooms/{roomId}/{memberId}", hasBody = true) + Call exitRoom(@Path("roomId") int roomId, @Path("memberId") int memberId, @Field("userId") int userId); +} diff --git a/app/src/main/java/com/example/sprout/refactor/api/SproutService.java b/app/src/main/java/com/example/sprout/refactor/api/SproutService.java index 821b7b4..7b0be95 100644 --- a/app/src/main/java/com/example/sprout/refactor/api/SproutService.java +++ b/app/src/main/java/com/example/sprout/refactor/api/SproutService.java @@ -1,9 +1,9 @@ package com.example.sprout.refactor.api; -import com.example.sprout.refactor.vo.Account; -import com.example.sprout.refactor.vo.Room; -import com.example.sprout.refactor.vo.RoomResponse; -import com.example.sprout.refactor.vo.Rooms; +import com.example.sprout.refactor.model.vo.Account; +import com.example.sprout.refactor.model.vo.Room; +import com.example.sprout.refactor.model.vo.RoomResponse; +import com.example.sprout.refactor.model.vo.Rooms; import retrofit2.Call; import retrofit2.http.Field; diff --git a/app/src/main/java/com/example/sprout/refactor/model/Hoge.java b/app/src/main/java/com/example/sprout/refactor/model/Hoge.java new file mode 100644 index 0000000..4185d11 --- /dev/null +++ b/app/src/main/java/com/example/sprout/refactor/model/Hoge.java @@ -0,0 +1,8 @@ +package com.example.sprout.refactor.model; + +/** + * Created by matsumoto_k on 2017/11/30. + */ + +public class Hoge { +} diff --git a/app/src/main/java/com/example/sprout/refactor/model/ModelLocaner.java b/app/src/main/java/com/example/sprout/refactor/model/ModelLocaner.java new file mode 100644 index 0000000..aa7f30f --- /dev/null +++ b/app/src/main/java/com/example/sprout/refactor/model/ModelLocaner.java @@ -0,0 +1,33 @@ +package com.example.sprout.refactor.model; + +import com.example.sprout.refactor.repository.RegistrationRepository; +import com.example.sprout.refactor.repository.RoomRepository; + +/** + * Modelを管理するクラス + * + * @author matsumoto_k + */ +public class ModelLocaner { + private static final ModelLocaner ourInstance = new ModelLocaner(); + + public static ModelLocaner get() { + return ourInstance; + } + + private RegistrationRepository registrationRepository = null; + private RoomRepository roomRepository = null; + + private ModelLocaner() { + this.registrationRepository = new RegistrationRepository(); + this.roomRepository = new RoomRepository(); + } + + public RegistrationRepository getRegistrationRepository() { + return registrationRepository; + } + + public RoomRepository getRoomRepository() { + return roomRepository; + } +} diff --git a/app/src/main/java/com/example/sprout/refactor/model/vo/Account.java b/app/src/main/java/com/example/sprout/refactor/model/vo/Account.java new file mode 100644 index 0000000..b1c8416 --- /dev/null +++ b/app/src/main/java/com/example/sprout/refactor/model/vo/Account.java @@ -0,0 +1,37 @@ +package com.example.sprout.refactor.model.vo; + +/** + * アカウント登録のEntity + * + * @author matsumoto_k + */ +public class Account { + + private String userName = ""; + private String mode = ""; + private int userID = 0; // TODO:Server側のレスポンスをIDからIdに修正する + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getMode() { + return mode; + } + + public void setMode(String mode) { + this.mode = mode; + } + + public int getUserID() { + return userID; + } + + public void setUserID(int userID) { + this.userID = userID; + } +} diff --git a/app/src/main/java/com/example/sprout/refactor/model/vo/Member.java b/app/src/main/java/com/example/sprout/refactor/model/vo/Member.java new file mode 100644 index 0000000..6ae0c07 --- /dev/null +++ b/app/src/main/java/com/example/sprout/refactor/model/vo/Member.java @@ -0,0 +1,33 @@ +package com.example.sprout.refactor.model.vo; + +/** + * ルームのEntity + */ +public class Member { + + private int userId = -1; + private String userName = ""; + private int memberId = -1; + private int role = -1; + private boolean ready = false; + + public int getUserId() { + return userId; + } + + public String getUserName() { + return userName; + } + + public int getMemberId() { + return memberId; + } + + public int getRole() { + return role; + } + + public boolean isReady() { + return ready; + } +} diff --git a/app/src/main/java/com/example/sprout/refactor/model/vo/Room.java b/app/src/main/java/com/example/sprout/refactor/model/vo/Room.java new file mode 100644 index 0000000..e932be5 --- /dev/null +++ b/app/src/main/java/com/example/sprout/refactor/model/vo/Room.java @@ -0,0 +1,65 @@ +package com.example.sprout.refactor.model.vo; + +import java.util.TreeMap; + +/** + * ルームのEntity + * + * @author matsumoto_k + */ +public class Room { + + private int roomId = -1; + private String hostName = ""; + private String roomName = ""; + private TreeMap memberList = null; + private boolean readyToFight = false; + private boolean keyCheck = false; + private boolean startFrag = false; + private int battleId = -1; + + public Room() { + + } + + public int getRoomId() { + return roomId; + } + + public String getHostName() { + return hostName; + } + + public String getRoomName() { + return roomName; + } + + public TreeMap getMemberList() { + return memberList; + } + + public boolean isReadyToFight() { + return readyToFight; + } + + public boolean isKeyCheck() { + return keyCheck; + } + + public boolean isStartFrag() { + return startFrag; + } + + public int getBattleId() { + return battleId; + } + + /** + * この部屋にkeyが設定されているかどうか + * + * @return keyが設定されていればtrue + */ + public boolean hasKey() { + return keyCheck; + } +} diff --git a/app/src/main/java/com/example/sprout/refactor/model/vo/RoomResponse.java b/app/src/main/java/com/example/sprout/refactor/model/vo/RoomResponse.java new file mode 100644 index 0000000..18ac666 --- /dev/null +++ b/app/src/main/java/com/example/sprout/refactor/model/vo/RoomResponse.java @@ -0,0 +1,39 @@ +package com.example.sprout.refactor.model.vo; + +/** + * 入室時のEntity + * + * @author matsumoto_k + */ +public class RoomResponse { + + private Room room = null; + private int memberId = -1; + private int BattleId = -1; + private boolean check = false; + + public Room getRoom() { + return room; + } + + public int getMemberId() { + return memberId; + } + + public int getBattleId() { + return BattleId; + } + + public boolean isCheck() { + return check; + } + + /** + * 入室可能かどうか + * + * @return 入室可能ならtrue + */ + public boolean canEnter() { + return check; + } +} diff --git a/app/src/main/java/com/example/sprout/refactor/model/vo/Rooms.java b/app/src/main/java/com/example/sprout/refactor/model/vo/Rooms.java new file mode 100644 index 0000000..9403c86 --- /dev/null +++ b/app/src/main/java/com/example/sprout/refactor/model/vo/Rooms.java @@ -0,0 +1,28 @@ +package com.example.sprout.refactor.model.vo; + + +import java.util.TreeMap; + +/** + * ルームのEntity + * + * @author matsumoto_k + */ + +public class Rooms { + + private int roomId = -1; + private TreeMap roomList = null; + + public Rooms() { + + } + + public int getRoomId() { + return roomId; + } + + public TreeMap getRoomList() { + return roomList; + } +} diff --git a/app/src/main/java/com/example/sprout/refactor/repository/RegistrationRepository.java b/app/src/main/java/com/example/sprout/refactor/repository/RegistrationRepository.java index 7a3768b..c1e3ba8 100644 --- a/app/src/main/java/com/example/sprout/refactor/repository/RegistrationRepository.java +++ b/app/src/main/java/com/example/sprout/refactor/repository/RegistrationRepository.java @@ -1,12 +1,14 @@ package com.example.sprout.refactor.repository; -import com.example.sprout.refactor.api.SproutService; +import com.example.sprout.refactor.api.RegistrationService; +import com.example.sprout.refactor.model.vo.Account; import com.example.sprout.refactor.notification.Observable; -import com.example.sprout.refactor.vo.Account; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; /** * アカウント登録のリポジトリ @@ -15,15 +17,21 @@ */ public class RegistrationRepository extends Repository { - private SproutService sproutService = null; + private RegistrationService registrationService = null; private Observable accountObservable = new Observable<>(); - public RegistrationRepository(SproutService sproutService) { - this.sproutService = sproutService; + public RegistrationRepository() { + this.registrationService = new Retrofit + .Builder() + .baseUrl("http://nitta-lab-www2.is.konan-u.ac.jp:8080/SproutServer/") + .client(okHttpClient) + .addConverterFactory(GsonConverterFactory.create()) + .build() + .create(RegistrationService.class); } public void registration(String userName) { - Call task = sproutService.registration(userName); + Call task = registrationService.registration(userName); task.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { diff --git a/app/src/main/java/com/example/sprout/refactor/repository/Repository.java b/app/src/main/java/com/example/sprout/refactor/repository/Repository.java index 281f168..60f9c0c 100644 --- a/app/src/main/java/com/example/sprout/refactor/repository/Repository.java +++ b/app/src/main/java/com/example/sprout/refactor/repository/Repository.java @@ -1,14 +1,25 @@ package com.example.sprout.refactor.repository; +import com.example.sprout.refactor.Constant; + +import okhttp3.OkHttpClient; +import okhttp3.logging.HttpLoggingInterceptor; + /** * Base Repository * * @author matsumoto_k */ public abstract class Repository { - public interface Listener { - void onSuccess(T value); + protected OkHttpClient okHttpClient = null; - void onFailure(Throwable throwable); + public Repository() { + if (Constant.DEVELOP) { + HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); + interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); + okHttpClient = new OkHttpClient.Builder().addInterceptor(interceptor).build(); + } else { + okHttpClient = new OkHttpClient.Builder().build(); + } } } diff --git a/app/src/main/java/com/example/sprout/refactor/repository/RoomRepository.java b/app/src/main/java/com/example/sprout/refactor/repository/RoomRepository.java index 7df09c1..4d6abcd 100644 --- a/app/src/main/java/com/example/sprout/refactor/repository/RoomRepository.java +++ b/app/src/main/java/com/example/sprout/refactor/repository/RoomRepository.java @@ -1,14 +1,16 @@ package com.example.sprout.refactor.repository; -import com.example.sprout.refactor.api.SproutService; +import com.example.sprout.refactor.api.RoomService; import com.example.sprout.refactor.notification.Observable; -import com.example.sprout.refactor.vo.Room; -import com.example.sprout.refactor.vo.RoomResponse; -import com.example.sprout.refactor.vo.Rooms; +import com.example.sprout.refactor.model.vo.Room; +import com.example.sprout.refactor.model.vo.RoomResponse; +import com.example.sprout.refactor.model.vo.Rooms; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; /** * ルームのリポジトリ @@ -17,18 +19,24 @@ */ public class RoomRepository extends Repository { - private SproutService sproutService = null; + private RoomService roomService = null; private Observable roomObservable = new Observable<>(); private Observable roomsObservable = new Observable<>(); private Observable roomResponseObservable = new Observable<>(); private Observable voidObservable = new Observable<>(); - public RoomRepository(SproutService sproutService) { - this.sproutService = sproutService; + public RoomRepository() { + this.roomService = new Retrofit + .Builder() + .baseUrl("http://nitta-lab-www2.is.konan-u.ac.jp:8080/SproutServer/") + .client(okHttpClient) + .addConverterFactory(GsonConverterFactory.create()) + .build() + .create(RoomService.class); } public void getRooms() { - Call task = sproutService.getRooms(); + Call task = roomService.getRooms(); task.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { @@ -47,7 +55,7 @@ } public void enterRoom(int roomId, int userId) { - Call task = sproutService.enterRoom(roomId, userId); + Call task = roomService.enterRoom(roomId, userId); task.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { @@ -66,7 +74,7 @@ } public void createRoom(int userId, String roomName, String key) { - Call task = sproutService.createRoom(userId, roomName, key); + Call task = roomService.createRoom(userId, roomName, key); task.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { @@ -85,7 +93,7 @@ } public void getRoom(int roomId) { - Call task = sproutService.getRoom(roomId); + Call task = roomService.getRoom(roomId); task.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { @@ -104,7 +112,7 @@ } public void updateRoomState(int roomId, int memberId, int role) { - Call task = sproutService.updateRoomState(roomId, memberId, role); + Call task = roomService.updateRoomState(roomId, memberId, role); task.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { @@ -123,7 +131,7 @@ } public void exitRoom(int roomId, int memberId, int userId) { - Call task = sproutService.exitRoom(roomId, memberId, userId); + Call task = roomService.exitRoom(roomId, memberId, userId); task.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { @@ -142,7 +150,7 @@ } public void enterRoomWithKey(int roomId, int userId, String key) { - Call task = sproutService.enterRoomWithKey(roomId, userId, key); + Call task = roomService.enterRoomWithKey(roomId, userId, key); task.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { diff --git a/app/src/main/java/com/example/sprout/refactor/viewmodel/RegistrationViewModel.java b/app/src/main/java/com/example/sprout/refactor/viewmodel/RegistrationViewModel.java index dda7303..e6c834f 100644 --- a/app/src/main/java/com/example/sprout/refactor/viewmodel/RegistrationViewModel.java +++ b/app/src/main/java/com/example/sprout/refactor/viewmodel/RegistrationViewModel.java @@ -4,10 +4,11 @@ import com.example.sprout.refactor.common.ActivityEvent; import com.example.sprout.refactor.contract.ViewContract; +import com.example.sprout.refactor.model.ModelLocaner; +import com.example.sprout.refactor.model.vo.Account; import com.example.sprout.refactor.notification.Observer; import com.example.sprout.refactor.repository.RegistrationRepository; import com.example.sprout.refactor.util.PreferenceUtil; -import com.example.sprout.refactor.vo.Account; /** * アカウント登録のViewModel @@ -21,8 +22,8 @@ private RegistrationRepository registrationRepository = null; private Observer observer = null; - public RegistrationViewModel(RegistrationRepository registrationRepository, ViewContract toastContract) { - this.registrationRepository = registrationRepository; + public RegistrationViewModel(ViewContract toastContract) { + this.registrationRepository = ModelLocaner.get().getRegistrationRepository(); this.viewContract = toastContract; observer = new Observer() { @Override diff --git a/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomCreateViewModel.java b/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomCreateViewModel.java index 3e9f200..e4685fb 100644 --- a/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomCreateViewModel.java +++ b/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomCreateViewModel.java @@ -5,10 +5,11 @@ import com.example.sprout.refactor.common.ActivityEvent; import com.example.sprout.refactor.contract.ViewContract; +import com.example.sprout.refactor.model.ModelLocaner; +import com.example.sprout.refactor.model.vo.RoomResponse; import com.example.sprout.refactor.notification.Observer; import com.example.sprout.refactor.repository.RoomRepository; import com.example.sprout.refactor.util.PreferenceUtil; -import com.example.sprout.refactor.vo.RoomResponse; /** * ルーム作成のViewModel @@ -24,8 +25,8 @@ private ObservableBoolean hasPass = new ObservableBoolean(false); private Observer observer = null; - public RoomCreateViewModel(RoomRepository roomRepository, ViewContract viewContract) { - this.roomRepository = roomRepository; + public RoomCreateViewModel(ViewContract viewContract) { + this.roomRepository = ModelLocaner.get().getRoomRepository(); this.viewContract = viewContract; observer = new Observer() { diff --git a/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomInputKeyViewModel.java b/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomInputKeyViewModel.java index f65df84..b8fbdfb 100644 --- a/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomInputKeyViewModel.java +++ b/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomInputKeyViewModel.java @@ -4,10 +4,11 @@ import com.example.sprout.refactor.common.ActivityEvent; import com.example.sprout.refactor.contract.ViewContract; +import com.example.sprout.refactor.model.ModelLocaner; +import com.example.sprout.refactor.model.vo.RoomResponse; import com.example.sprout.refactor.notification.Observer; import com.example.sprout.refactor.repository.RoomRepository; import com.example.sprout.refactor.util.PreferenceUtil; -import com.example.sprout.refactor.vo.RoomResponse; /** * ルーム入室(key)のViewModel @@ -21,8 +22,8 @@ private ObservableField pass = new ObservableField<>(""); private Observer observer = null; - public RoomInputKeyViewModel(RoomRepository roomRepository, ViewContract viewContract) { - this.roomRepository = roomRepository; + public RoomInputKeyViewModel(ViewContract viewContract) { + this.roomRepository = ModelLocaner.get().getRoomRepository(); this.viewContract = viewContract; observer = new Observer() { diff --git a/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomListViewModel.java b/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomListViewModel.java index 15fd32c..38b23ca 100644 --- a/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomListViewModel.java +++ b/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomListViewModel.java @@ -9,12 +9,13 @@ import com.example.sprout.refactor.adapter.RoomListAdapter; import com.example.sprout.refactor.common.ActivityEvent; import com.example.sprout.refactor.contract.ViewContract; +import com.example.sprout.refactor.model.ModelLocaner; +import com.example.sprout.refactor.model.vo.Room; +import com.example.sprout.refactor.model.vo.RoomResponse; +import com.example.sprout.refactor.model.vo.Rooms; import com.example.sprout.refactor.notification.Observer; import com.example.sprout.refactor.repository.RoomRepository; import com.example.sprout.refactor.util.PreferenceUtil; -import com.example.sprout.refactor.vo.Room; -import com.example.sprout.refactor.vo.RoomResponse; -import com.example.sprout.refactor.vo.Rooms; import java.util.ArrayList; import java.util.Collections; @@ -33,8 +34,8 @@ private Observer roomListObserver = null; private Observer enterRoomObserver = null; - public RoomListViewModel(RoomRepository roomRepository, RoomListAdapter adapter, ViewContract viewContract) { - this.roomRepository = roomRepository; + public RoomListViewModel(RoomListAdapter adapter, ViewContract viewContract) { + this.roomRepository = ModelLocaner.get().getRoomRepository(); this.viewContract = viewContract; this.listener = room -> { diff --git a/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomMainViewModel.java b/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomMainViewModel.java index bca0482..42f06f4 100644 --- a/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomMainViewModel.java +++ b/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomMainViewModel.java @@ -10,12 +10,13 @@ import com.example.sprout.refactor.adapter.RoomMainAdapter; import com.example.sprout.refactor.common.MemberState; import com.example.sprout.refactor.contract.ViewContract; +import com.example.sprout.refactor.model.ModelLocaner; +import com.example.sprout.refactor.model.vo.Member; +import com.example.sprout.refactor.model.vo.Room; +import com.example.sprout.refactor.model.vo.RoomResponse; import com.example.sprout.refactor.notification.Observer; import com.example.sprout.refactor.repository.RoomRepository; import com.example.sprout.refactor.util.PreferenceUtil; -import com.example.sprout.refactor.vo.Member; -import com.example.sprout.refactor.vo.Room; -import com.example.sprout.refactor.vo.RoomResponse; import java.util.ArrayList; @@ -33,8 +34,8 @@ private Observer updateRoomStateObserver = null; private Observer exitRoomObserver = null; - public RoomMainViewModel(RoomRepository roomRepository, RoomMainAdapter adapter, ViewContract viewContract) { - this.roomRepository = roomRepository; + public RoomMainViewModel(RoomMainAdapter adapter, ViewContract viewContract) { + this.roomRepository = ModelLocaner.get().getRoomRepository(); this.viewContract = viewContract; this.adapter = adapter; diff --git a/app/src/main/java/com/example/sprout/refactor/vo/Account.java b/app/src/main/java/com/example/sprout/refactor/vo/Account.java deleted file mode 100644 index 4335698..0000000 --- a/app/src/main/java/com/example/sprout/refactor/vo/Account.java +++ /dev/null @@ -1,37 +0,0 @@ -package com.example.sprout.refactor.vo; - -/** - * アカウント登録のEntity - * - * @author matsumoto_k - */ -public class Account { - - private String userName = ""; - private String mode = ""; - private int userID = 0; // TODO:Server側のレスポンスをIDからIdに修正する - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public String getMode() { - return mode; - } - - public void setMode(String mode) { - this.mode = mode; - } - - public int getUserID() { - return userID; - } - - public void setUserID(int userID) { - this.userID = userID; - } -} diff --git a/app/src/main/java/com/example/sprout/refactor/vo/Member.java b/app/src/main/java/com/example/sprout/refactor/vo/Member.java deleted file mode 100644 index 40b196c..0000000 --- a/app/src/main/java/com/example/sprout/refactor/vo/Member.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.example.sprout.refactor.vo; - -/** - * ルームのEntity - */ -public class Member { - - private int userId = -1; - private String userName = ""; - private int memberId = -1; - private int role = -1; - private boolean ready = false; - - public int getUserId() { - return userId; - } - - public String getUserName() { - return userName; - } - - public int getMemberId() { - return memberId; - } - - public int getRole() { - return role; - } - - public boolean isReady() { - return ready; - } -} diff --git a/app/src/main/java/com/example/sprout/refactor/vo/Room.java b/app/src/main/java/com/example/sprout/refactor/vo/Room.java deleted file mode 100644 index 3445a99..0000000 --- a/app/src/main/java/com/example/sprout/refactor/vo/Room.java +++ /dev/null @@ -1,65 +0,0 @@ -package com.example.sprout.refactor.vo; - -import java.util.TreeMap; - -/** - * ルームのEntity - * - * @author matsumoto_k - */ -public class Room { - - private int roomId = -1; - private String hostName = ""; - private String roomName = ""; - private TreeMap memberList = null; - private boolean readyToFight = false; - private boolean keyCheck = false; - private boolean startFrag = false; - private int battleId = -1; - - public Room() { - - } - - public int getRoomId() { - return roomId; - } - - public String getHostName() { - return hostName; - } - - public String getRoomName() { - return roomName; - } - - public TreeMap getMemberList() { - return memberList; - } - - public boolean isReadyToFight() { - return readyToFight; - } - - public boolean isKeyCheck() { - return keyCheck; - } - - public boolean isStartFrag() { - return startFrag; - } - - public int getBattleId() { - return battleId; - } - - /** - * この部屋にkeyが設定されているかどうか - * - * @return keyが設定されていればtrue - */ - public boolean hasKey() { - return keyCheck; - } -} diff --git a/app/src/main/java/com/example/sprout/refactor/vo/RoomResponse.java b/app/src/main/java/com/example/sprout/refactor/vo/RoomResponse.java deleted file mode 100644 index 20c8464..0000000 --- a/app/src/main/java/com/example/sprout/refactor/vo/RoomResponse.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.example.sprout.refactor.vo; - -/** - * 入室時のEntity - * - * @author matsumoto_k - */ -public class RoomResponse { - - private Room room = null; - private int memberId = -1; - private int BattleId = -1; - private boolean check = false; - - public Room getRoom() { - return room; - } - - public int getMemberId() { - return memberId; - } - - public int getBattleId() { - return BattleId; - } - - public boolean isCheck() { - return check; - } - - /** - * 入室可能かどうか - * - * @return 入室可能ならtrue - */ - public boolean canEnter() { - return check; - } -} diff --git a/app/src/main/java/com/example/sprout/refactor/vo/Rooms.java b/app/src/main/java/com/example/sprout/refactor/vo/Rooms.java deleted file mode 100644 index 9cf7f9e..0000000 --- a/app/src/main/java/com/example/sprout/refactor/vo/Rooms.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.example.sprout.refactor.vo; - - -import java.util.TreeMap; - -/** - * ルームのEntity - * - * @author matsumoto_k - */ - -public class Rooms { - - private int roomId = -1; - private TreeMap roomList = null; - - public Rooms() { - - } - - public int getRoomId() { - return roomId; - } - - public TreeMap getRoomList() { - return roomList; - } -} diff --git a/app/src/main/res/layout/rf_item_room_list.xml b/app/src/main/res/layout/rf_item_room_list.xml index cea67d4..9f6b771 100644 --- a/app/src/main/res/layout/rf_item_room_list.xml +++ b/app/src/main/res/layout/rf_item_room_list.xml @@ -6,7 +6,7 @@ + type="com.example.sprout.refactor.model.vo.Room" /> + type="com.example.sprout.refactor.model.vo.Member" />