diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a1c1f74..24ff984 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -56,7 +56,8 @@
android:label="@string/title_activity_room_input_key"
android:screenOrientation="landscape" />
-
+
+
\ No newline at end of file
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
new file mode 100644
index 0000000..2e14d5f
--- /dev/null
+++ b/app/src/main/java/com/example/sprout/refactor/activity/RoomInputKeyActivity.java
@@ -0,0 +1,58 @@
+package com.example.sprout.refactor.activity;
+
+import android.content.Intent;
+import android.databinding.DataBindingUtil;
+import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
+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;
+import com.example.sprout.refactor.viewmodel.RoomInputKeyViewModel;
+
+/**
+ * ルーム入室(key)のActivity
+ *
+ * @author matsumoto_k
+ */
+public class RoomInputKeyActivity extends AppCompatActivity implements ViewContract {
+
+ private RfActivityRoomInputKeyBinding binding = null;
+ private RoomInputKeyViewModel roomInputKeyViewModel = null;
+
+ @Override
+ 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);
+ binding.setViewModel(roomInputKeyViewModel);
+ getLifecycle().addObserver(roomInputKeyViewModel);
+ }
+
+ @Override
+ public void startActivity(ActivityEvent event) {
+ switch (event) {
+ case ROOM_MAIN:
+ startActivity(new Intent(RoomInputKeyActivity.this, RoomMainActivity.class));
+ break;
+ }
+ }
+
+ @Override
+ public void finishActivity() {
+ finish();
+ }
+
+ @Override
+ public void showShortToast(String message) {
+ Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
+ }
+
+ @Override
+ public void showLongToast(String message) {
+ Toast.makeText(this, message, Toast.LENGTH_LONG).show();
+ }
+}
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 16e4764..c60d73a 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
@@ -39,6 +39,9 @@
case ROOM_MAIN:
startActivity(new Intent(RoomListActivity.this, RoomMainActivity.class));
break;
+ case INPUT_KEY:
+ startActivity(new Intent(RoomListActivity.this, RoomInputKeyActivity.class));
+ break;
}
}
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 d114149..6558af8 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
@@ -8,5 +8,6 @@
public enum ActivityEvent {
ROOM_LIST, // ルームリストを開く
CREATE_ROOM, // ルームを作る
- ROOM_MAIN // メインルームを開く
+ ROOM_MAIN, // メインルームを開く
+ INPUT_KEY // 入室(pass有)
}
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
new file mode 100644
index 0000000..7b61bd4
--- /dev/null
+++ b/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomInputKeyViewModel.java
@@ -0,0 +1,20 @@
+package com.example.sprout.refactor.viewmodel;
+
+import com.example.sprout.refactor.contract.ViewContract;
+import com.example.sprout.refactor.repository.RoomRepository;
+
+/**
+ * ルーム入室(key)のViewModel
+ *
+ * @author matsumoto_k
+ */
+public class RoomInputKeyViewModel extends BaseViewModel {
+
+ private RoomRepository roomRepository = null;
+ private ViewContract viewContract = null;
+
+ public RoomInputKeyViewModel(RoomRepository roomRepository, ViewContract viewContract) {
+ this.roomRepository = roomRepository;
+ this.viewContract = viewContract;
+ }
+}
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 8b67b42..6184f4f 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
@@ -39,7 +39,8 @@
this.listener = room -> {
if (room.hasKey()) {
- // TODO input key
+ PreferenceUtil.getInstance().saveInt(PreferenceUtil.Key.ROOM_ID, room.getRoomId());
+ viewContract.startActivity(ActivityEvent.INPUT_KEY);
} else {
roomRepository.enterRoom(room.getRoomId(), PreferenceUtil.getInstance().getInt(PreferenceUtil.Key.USER_ID));
}
diff --git a/app/src/main/res/layout/rf_activity_room_input_key.xml b/app/src/main/res/layout/rf_activity_room_input_key.xml
new file mode 100644
index 0000000..03d4d89
--- /dev/null
+++ b/app/src/main/res/layout/rf_activity_room_input_key.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 30e36cd..6f6a652 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -16,7 +16,7 @@
戻る
更新
ルーム作成
-
+
準備完了
準備未完了
作成