diff --git a/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/PodActivationWizardActivity.kt b/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/PodActivationWizardActivity.kt index 613ae8c160..3c1bc29bd5 100644 --- a/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/PodActivationWizardActivity.kt +++ b/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/PodActivationWizardActivity.kt @@ -4,16 +4,18 @@ import android.os.Bundle import androidx.annotation.IdRes import info.nightscout.androidaps.plugins.pump.omnipod.common.R import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common.activity.OmnipodWizardActivityBase -import javax.inject.Inject class PodActivationWizardActivity : OmnipodWizardActivityBase() { companion object { + const val KEY_TYPE = "wizardType" const val KEY_START_DESTINATION = "startDestination" } - @Inject - lateinit var podStateManager: PodStateManager + enum class Type { + SHORT, + LONG + } @IdRes private var startDestination: Int = R.id.fillPodInfoFragment @@ -24,7 +26,7 @@ class PodActivationWizardActivity : OmnipodWizardActivityBase() { setContentView(R.layout.omnipod_common_pod_activation_wizard_activity) startDestination = savedInstanceState?.getInt(KEY_START_DESTINATION, R.id.fillPodInfoFragment) - ?: if (podStateManager.activationProgress.isBefore(ActivationProgress.PRIMING_COMPLETED)) { + ?: if (intent.getSerializableExtra(KEY_TYPE) as Type == Type.LONG) { R.id.fillPodInfoFragment } else { R.id.attachPodInfoFragment diff --git a/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/FillPodInfoFragment.kt b/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/FillPodInfoFragment.kt index 26dd0b2e54..0b25ccb236 100644 --- a/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/FillPodInfoFragment.kt +++ b/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/FillPodInfoFragment.kt @@ -1,17 +1,35 @@ package info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.fragment +import android.os.Bundle import androidx.annotation.IdRes import androidx.annotation.StringRes +import androidx.fragment.app.viewModels +import androidx.lifecycle.ViewModelProvider import info.nightscout.androidaps.plugins.pump.omnipod.common.R +import info.nightscout.androidaps.plugins.pump.omnipod.common.dagger.OmnipodPluginQualifier +import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.FillPodInfoViewModel import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common.fragment.InfoFragmentBase +import javax.inject.Inject class FillPodInfoFragment : InfoFragmentBase() { + @Inject + @OmnipodPluginQualifier + lateinit var viewModelFactory: ViewModelProvider.Factory + + private lateinit var viewModel: FillPodInfoViewModel + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + val vm: FillPodInfoViewModel by viewModels { viewModelFactory } + this.viewModel = vm + } @StringRes override fun getTitleId(): Int = R.string.omnipod_common_pod_activation_wizard_fill_pod_title @StringRes - override fun getTextId(): Int = R.string.omnipod_pod_activation_wizard_fill_pod_text + override fun getTextId(): Int = viewModel.getTextId() @IdRes override fun getNextPageActionId(): Int = R.id.action_fillPodInfoFragment_to_initializePodActionFragment diff --git a/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/InitializePodActionFragment.kt b/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/InitializePodActionFragment.kt index 914a10a1e9..26f7170155 100644 --- a/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/InitializePodActionFragment.kt +++ b/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/InitializePodActionFragment.kt @@ -27,7 +27,7 @@ class InitializePodActionFragment : PodActivationActionFragmentBase() { override fun getTitleId(): Int = R.string.omnipod_common_pod_activation_wizard_initialize_pod_title @StringRes - override fun getTextId(): Int = R.string.omnipod_pod_activation_wizard_initialize_pod_text + override fun getTextId(): Int = (viewModel as InitializePodActionViewModel).getTextId() @IdRes override fun getNextPageActionId(): Int = R.id.action_initializePodActionFragment_to_attachPodInfoFragment diff --git a/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/PodActivationActionFragmentBase.kt b/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/PodActivationActionFragmentBase.kt index 99e1a6da4e..31ffbb909f 100644 --- a/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/PodActivationActionFragmentBase.kt +++ b/omnipod-common/src/main/java/info/nightscout/androidaps/plugins/pump/omnipod/common/ui/wizard/activation/fragment/PodActivationActionFragmentBase.kt @@ -5,24 +5,16 @@ import android.os.Bundle import android.view.View import android.widget.Button import info.nightscout.androidaps.plugins.pump.omnipod.common.R +import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.activation.viewmodel.PodActivationActionViewModelBase import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.common.fragment.ActionFragmentBase import info.nightscout.androidaps.plugins.pump.omnipod.common.ui.wizard.deactivation.PodDeactivationWizardActivity -import javax.inject.Inject abstract class PodActivationActionFragmentBase : ActionFragmentBase() { - @Inject protected lateinit var podStateManager: PodStateManager - - private lateinit var buttonDeactivatePod: Button - private lateinit var buttonRetry: Button - override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - buttonDeactivatePod = view.findViewById(R.id.omnipod_wizard_button_deactivate_pod) - buttonRetry = view.findViewById(R.id.omnipod_wizard_button_retry) - - buttonDeactivatePod.setOnClickListener { + view.findViewById