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" />