diff --git a/app/src/main/kotlin/jackall/moncalc/service/MainService.kt b/app/src/main/kotlin/jackall/moncalc/service/MainService.kt index 6471b9c..2a0ab35 100644 --- a/app/src/main/kotlin/jackall/moncalc/service/MainService.kt +++ b/app/src/main/kotlin/jackall/moncalc/service/MainService.kt @@ -20,6 +20,7 @@ import jackall.moncalc.db.MonstDataRealmHelper import jackall.moncalc.utils.MySharedPref import jackall.moncalc.viewmodel.OverlayRegistViewModel +import jackall.moncalc.viewmodel.OverlayViewModel import jackall.moncalc.vo.Fruit import jackall.moncalc.vo.Grade import jackall.moncalc.vo.Temple @@ -46,6 +47,9 @@ } var isLongClick: Boolean = false + val overlayRegistViewModel by lazy { OverlayRegistViewModel(this as MainServiceContract, this) } + val overlayViewModel by lazy { OverlayViewModel(this as MainServiceContract) } + val monstDataRealmHelper = MonstDataRealmHelper() override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { @@ -117,7 +121,8 @@ } fun setSpinnerConfig() { - registBinding.registViewModel = OverlayRegistViewModel(this as MainServiceContract, this) + registBinding.registViewModel = overlayRegistViewModel + registBinding.viewModel = overlayViewModel val templeSpinnerAdapter = CustomSpinnerAdapter(this, monstDataRealmHelper.findNames(Temple::class.java)) val fruitSpinnerAdapter = CustomSpinnerAdapter(this, monstDataRealmHelper.findNames(Fruit::class.java)) val gradeSpinnerAdapter = CustomSpinnerAdapter(this, monstDataRealmHelper.findNames(Grade::class.java)) diff --git a/app/src/main/kotlin/jackall/moncalc/viewmodel/OverlayRegistViewModel.kt b/app/src/main/kotlin/jackall/moncalc/viewmodel/OverlayRegistViewModel.kt index a3fa5bf..ca20324 100644 --- a/app/src/main/kotlin/jackall/moncalc/viewmodel/OverlayRegistViewModel.kt +++ b/app/src/main/kotlin/jackall/moncalc/viewmodel/OverlayRegistViewModel.kt @@ -19,6 +19,8 @@ import java.util.* /** + * 記録画面オーバーレイのViewModel + * * Created by matsumoto_k on 2017/11/01. */ class OverlayRegistViewModel(val mainServiceContract: MainServiceContract, val context: Context) : BaseObservable() { @@ -43,14 +45,6 @@ mainServiceContract.showMoveView() } - fun onClickMin(view: View) { - mainServiceContract.showMoveView() - } - - fun onClickFinish(view: View) { - mainServiceContract.finish() - } - fun realmInstanceClose() { monstDataRealmHelper.close() questRecordRealmHelper.close() diff --git a/app/src/main/kotlin/jackall/moncalc/viewmodel/OverlayViewModel.kt b/app/src/main/kotlin/jackall/moncalc/viewmodel/OverlayViewModel.kt new file mode 100644 index 0000000..fe0e32a --- /dev/null +++ b/app/src/main/kotlin/jackall/moncalc/viewmodel/OverlayViewModel.kt @@ -0,0 +1,20 @@ +package jackall.moncalc.viewmodel + +import android.databinding.BaseObservable +import android.view.View +import jackall.moncalc.contract.MainServiceContract + +/** + * オーバーレイ表示で共通項目のViewModel + * + * Created by matsumoto_k on 2017/11/03. + */ +class OverlayViewModel(val mainServiceContract: MainServiceContract) : BaseObservable() { + fun onClickMin(view: View) { + mainServiceContract.showMoveView() + } + + fun onClickFinish(view: View) { + mainServiceContract.finish() + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/regist_overlay.xml b/app/src/main/res/layout/regist_overlay.xml index 123f088..31b8e5b 100644 --- a/app/src/main/res/layout/regist_overlay.xml +++ b/app/src/main/res/layout/regist_overlay.xml @@ -5,6 +5,10 @@ + + @@ -34,7 +38,7 @@ android:layout_height="@dimen/regist_button_height" android:layout_marginEnd="8dp" android:layout_marginTop="8dp" - android:onClick="@{registViewModel.onClickMin}" + android:onClick="@{viewModel.onClickMin}" android:text="@string/minimize" app:layout_constraintEnd_toStartOf="@+id/finish_btn" app:layout_constraintTop_toTopOf="parent" /> @@ -45,7 +49,7 @@ android:layout_height="@dimen/regist_button_height" android:layout_marginEnd="8dp" android:layout_marginTop="8dp" - android:onClick="@{registViewModel.onClickFinish}" + android:onClick="@{viewModel.onClickFinish}" android:text="@string/overlay_finish" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" />