diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9085250..9974986 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -27,7 +27,6 @@
-
+
\ No newline at end of file
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 09de4ea..5fe6f52 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
@@ -45,7 +45,7 @@
@Override
public void startActivity(ActivityEvent event) {
switch (event) {
- case START_ROOM_LIST:
+ case ROOM_LIST:
startActivity(new Intent(RegistrationActivity.this, RoomListActivity.class));
break;
}
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
new file mode 100644
index 0000000..0465b5b
--- /dev/null
+++ b/app/src/main/java/com/example/sprout/refactor/activity/RoomCreateActivity.java
@@ -0,0 +1,27 @@
+package com.example.sprout.refactor.activity;
+
+import android.databinding.DataBindingUtil;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+
+import com.example.sprout.R;
+import com.example.sprout.Sprout;
+import com.example.sprout.databinding.RfActivityRoomCreateBinding;
+import com.example.sprout.refactor.viewmodel.RoomCreateViewModel;
+
+/**
+ * ルーム作成のActivity
+ *
+ * @author matsumoto_k
+ */
+public class RoomCreateActivity extends AppCompatActivity {
+
+ @Override
+ 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());
+ binding.setViewModel(roomCreateViewModel);
+ getLifecycle().addObserver(roomCreateViewModel);
+ }
+}
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 2284c06..404d5f4 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
@@ -1,5 +1,6 @@
package com.example.sprout.refactor.activity;
+import android.content.Intent;
import android.databinding.DataBindingUtil;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
@@ -31,7 +32,11 @@
@Override
public void startActivity(ActivityEvent event) {
-
+ switch (event) {
+ case CREATE_ROOM:
+ startActivity(new Intent(RoomListActivity.this, RoomCreateActivity.class));
+ break;
+ }
}
@Override
diff --git a/app/src/main/java/com/example/sprout/refactor/common/ActivityEvent.java b/app/src/main/java/com/example/sprout/refactor/common/ActivityEvent.java
index 1a57ddf..084d8e3 100644
--- a/app/src/main/java/com/example/sprout/refactor/common/ActivityEvent.java
+++ b/app/src/main/java/com/example/sprout/refactor/common/ActivityEvent.java
@@ -6,5 +6,6 @@
* @author matsumoto_k
*/
public enum ActivityEvent {
- START_ROOM_LIST // ルームリストを開く
+ ROOM_LIST, // ルームリストを開く
+ CREATE_ROOM
}
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 2c92402..c997275 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
@@ -30,7 +30,7 @@
PreferenceUtil.getInstance().saveInt(PreferenceUtil.Key.USER_ID, account.getUserID());
PreferenceUtil.getInstance().saveBoolean(PreferenceUtil.Key.REGISTERED, true);
viewContract.showShortToast("アカウントを作成しました");
- viewContract.startActivity(ActivityEvent.START_ROOM_LIST);
+ viewContract.startActivity(ActivityEvent.ROOM_LIST);
viewContract.finishActivity();
}
@@ -47,7 +47,7 @@
public void onCreate() {
super.onCreate();
if (PreferenceUtil.getInstance().getBoolean(PreferenceUtil.Key.REGISTERED)) {
- viewContract.startActivity(ActivityEvent.START_ROOM_LIST);
+ viewContract.startActivity(ActivityEvent.ROOM_LIST);
viewContract.finishActivity();
}
}
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
new file mode 100644
index 0000000..dd912fb
--- /dev/null
+++ b/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomCreateViewModel.java
@@ -0,0 +1,17 @@
+package com.example.sprout.refactor.viewmodel;
+
+import com.example.sprout.refactor.repository.RoomRepository;
+
+/**
+ * ルーム作成のViewModel
+ *
+ * @author matsumoto_k
+ */
+public class RoomCreateViewModel extends BaseViewModel {
+
+ private RoomRepository roomRepository = null;
+
+ public RoomCreateViewModel(RoomRepository roomRepository) {
+ this.roomRepository = roomRepository;
+ }
+}
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 fab2d23..33ae33b 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
@@ -7,6 +7,7 @@
import android.widget.LinearLayout;
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.notification.Observer;
import com.example.sprout.refactor.repository.RoomRepository;
@@ -79,11 +80,12 @@
this.roomRepository.getRoomListObservable().addObserver(roomListObserver);
this.roomRepository.getEnterRoomObservable().addObserver(enterRoomObserver);
- this.roomRepository.getRooms();
}
- public void onClickRefresh() {
- roomRepository.getRooms();
+ @Override
+ public void onResume() {
+ super.onResume();
+ this.roomRepository.getRooms();
}
@Override
@@ -92,6 +94,15 @@
roomRepository.getRoomListObservable().removeObserver(roomListObserver);
}
+
+ public void onClickRefresh() {
+ roomRepository.getRooms();
+ }
+
+ public void onClickCreateRoom() {
+ viewContract.startActivity(ActivityEvent.CREATE_ROOM);
+ }
+
@BindingAdapter("setRoomListAdapter")
public static void setRoomListAdapter(RecyclerView recyclerView, RoomListAdapter adapter) {
recyclerView.setLayoutManager(new LinearLayoutManager(recyclerView.getContext(), LinearLayoutManager.VERTICAL, false));
diff --git a/app/src/main/res/layout/rf_activity_room_create.xml b/app/src/main/res/layout/rf_activity_room_create.xml
new file mode 100644
index 0000000..41fc91e
--- /dev/null
+++ b/app/src/main/res/layout/rf_activity_room_create.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/rf_activity_room_list.xml b/app/src/main/res/layout/rf_activity_room_list.xml
index ce959fc..c886a31 100644
--- a/app/src/main/res/layout/rf_activity_room_list.xml
+++ b/app/src/main/res/layout/rf_activity_room_list.xml
@@ -31,6 +31,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
+ android:onClick="@{() -> viewModel.onClickCreateRoom()}"
android:text="@string/create_room" />