diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9974986..a1c1f74 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -55,7 +55,8 @@ android:name=".rooms.RoomInputKeyActivity" 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/RoomCreateActivity.java b/app/src/main/java/com/example/sprout/refactor/activity/RoomCreateActivity.java index 0f862a6..5f0f2bf 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 @@ -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; @@ -30,12 +31,16 @@ @Override public void startActivity(ActivityEvent event) { - + switch (event) { + case ROOM_MAIN: + startActivity(new Intent(RoomCreateActivity.this, RoomMainActivity.class)); + break; + } } @Override public void finishActivity() { - + finish(); } @Override 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 404d5f4..16e4764 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 @@ -36,6 +36,9 @@ case CREATE_ROOM: startActivity(new Intent(RoomListActivity.this, RoomCreateActivity.class)); break; + case ROOM_MAIN: + startActivity(new Intent(RoomListActivity.this, RoomMainActivity.class)); + break; } } 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 new file mode 100644 index 0000000..fd38abe --- /dev/null +++ b/app/src/main/java/com/example/sprout/refactor/activity/RoomMainActivity.java @@ -0,0 +1,45 @@ +package com.example.sprout.refactor.activity; + +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.RfActivityRoomMainBinding; +import com.example.sprout.refactor.common.ActivityEvent; +import com.example.sprout.refactor.contract.ViewContract; +import com.example.sprout.refactor.viewmodel.RoomMainViewModel; + +public class RoomMainActivity extends AppCompatActivity implements ViewContract { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + RfActivityRoomMainBinding binding = DataBindingUtil.setContentView(this, R.layout.rf_activity_room_main); + RoomMainViewModel roomMainViewModel = new RoomMainViewModel(Sprout.get().getRoomRepository(), (ViewContract) this); + binding.setViewModel(roomMainViewModel); + getLifecycle().addObserver(roomMainViewModel); + } + + @Override + public void startActivity(ActivityEvent event) { + + } + + @Override + public void finishActivity() { + + } + + @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/common/ActivityEvent.java b/app/src/main/java/com/example/sprout/refactor/common/ActivityEvent.java index 084d8e3..d114149 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 @@ -7,5 +7,6 @@ */ public enum ActivityEvent { ROOM_LIST, // ルームリストを開く - CREATE_ROOM + CREATE_ROOM, // ルームを作る + ROOM_MAIN // メインルームを開く } 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 7c1cce2..6640fa9 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 @@ -3,6 +3,7 @@ import android.databinding.ObservableBoolean; import android.databinding.ObservableField; +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; @@ -32,6 +33,8 @@ public void notify(RoomResponse roomResponse) { PreferenceUtil.getInstance().saveInt(PreferenceUtil.Key.ROOM_ID, roomResponse.getRoom().getRoomId()); viewContract.showShortToast("ルームを作成しました"); + viewContract.startActivity(ActivityEvent.ROOM_MAIN); + viewContract.finishActivity(); } @Override 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 33ae33b..33173a9 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 @@ -65,8 +65,8 @@ @Override public void notify(RoomResponse roomResponse) { if (roomResponse.canEnter()) { - // TODO createRoomMainActivity PreferenceUtil.getInstance().saveInt(PreferenceUtil.Key.ROOM_ID, roomResponse.getRoom().getRoomId()); + viewContract.startActivity(ActivityEvent.ROOM_MAIN); } else { viewContract.showShortToast("入室に失敗しました"); } 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 new file mode 100644 index 0000000..abbfc1f --- /dev/null +++ b/app/src/main/java/com/example/sprout/refactor/viewmodel/RoomMainViewModel.java @@ -0,0 +1,19 @@ +package com.example.sprout.refactor.viewmodel; + +import com.example.sprout.refactor.contract.ViewContract; +import com.example.sprout.refactor.repository.RoomRepository; + +/** + * Created by matsumoto_k on 2017/11/29. + */ + +public class RoomMainViewModel extends BaseViewModel { + + private RoomRepository roomRepository = null; + private ViewContract viewContract = null; + + public RoomMainViewModel(RoomRepository roomRepository, ViewContract viewContract) { + this.roomRepository = roomRepository; + this.viewContract = viewContract; + } +} diff --git a/app/src/main/res/layout/rf_activity_room_main.xml b/app/src/main/res/layout/rf_activity_room_main.xml new file mode 100644 index 0000000..e30ab27 --- /dev/null +++ b/app/src/main/res/layout/rf_activity_room_main.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file